CPFS支持NFS协议访问。您需要先安装CPFS-NFS客户端,然后运行CPFS-NFS执行mount命令挂载从而访问CPFS文件系统。
前提条件
CPFS-NFS客户端说明
支持的操作系统
操作系统类型 | 操作系统版本 |
---|---|
Alibaba Cloud Linux |
|
CentOS |
|
Ubuntu |
|
Debian |
|
IP地址和端口
CPFS-NFS客户端会占用一个本地IP地址127.0.1.255,以及该地址上30000~60000的TCP端口,用于挂载时的端口映射。
如果127.0.1.255 IP地址,或者该地址上的30000~60000端口段已被其他软件使用,您需要修改CPFS-NFS客户端配置。具体操作,请参见CPFS-NFS客户端配置。
文件目录
安装CPFS-NFS客户端后,会在ECS上生成CPFS-NFS客户端配置文件目录(/etc/aliyun/cpfs)、运行目录(/var/run/cpfs)、日志目录(/var/log/aliyun/cpfs/)。
进程
通过CPFS-NFS客户端挂载CPFS后,会在ECS上启动haproxy进程用于IO访问,同时启动watchdog进程用于监控CPFS-NFS客户端的健康状态。
步骤一:下载与安装CPFS-NFS客户端
- 下载CPFS-NFS客户端。
操作系统 下载命令 Alibaba Cloud Linux wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpm
CentOS wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpm
Ubuntu sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb
Debian - 安装CPFS-NFS客户端。
操作系统 安装命令 Alibaba Cloud Linux sudo yum install aliyun-alinas-utils-*.rpm
CentOS Ubuntu 依次执行以下安装命令: sudo apt-get update
sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian - 检查CPFS-NFS客户端安装结果。
which mount.cpfs-nfs
成功返回示例如下:/usr/sbin/mount.cpfs-nfs
步骤二:使用CPFS-NFS客户端挂载文件系统
- 挂载CPFS文件系统。
sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
挂载命令中的参数说明如下表所示。参数 描述 file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt 表示<挂载地址>:<CPFS文件系统目录> <当前服务器上待挂载的本地路径>,请根据实际情况替换。 - 挂载地址:您可以在文件存储NAS控制台文件系统列表页面,单击目标文件系统后的管理,进入协议服务页面,在操作列,单击导出目录,进入导出目录面板获取挂载地址。
- CPFS文件系统目录:CPFS的根目录(/share)或任意子目录(例如:/share/path),如果是子目录,请您确保子目录是CPFS文件系统中实际已存在的目录。说明 CPFS的共享目录必须以/share开头,例如:/share、/share/subdir。
- 当前服务器上待挂载的本地路径:Linux ECS实例的根目录(/)或任意子目录(例如:/mnt),如果是子目录,请您确保子目录已存在。
vers 文件系统版本。CPFS仅支持NFSv3协议挂载文件系统。 挂载选项 挂载文件系统时,可选择多种挂载选项,挂载选项使用半角逗号(,)分隔,说明如下: - rsize:定义数据块的大小,用于客户端与文件系统之间读取数据。建议值:1048576。
- wsize:定义数据块的大小,用于客户端与文件系统之间写入数据。建议值:1048576。说明 如果您需要更改IO大小参数(rsize和wsize),建议您尽可能使用最大值(1048576),以避免性能下降。
- hard:在文件存储CPFS暂时不可用的情况下,使用文件系统上某个文件的本地应用程序时会停止并等待至该文件系统恢复在线状态。建议启用该参数。
- timeo:指定时长,单位为0.1秒,即CPFS-NFS客户端在重试向文件系统发送请求之前等待响应的时间。建议值:600(60秒)。说明 如果您必须更改超时参数(timeo),建议您使用150或更大的值。该timeo参数的单位为0.1秒,因此150表示的时间为15秒。
- retrans:CPFS-NFS客户端重试请求的次数。建议值:2。
- noresvport:在网络重连时使用新的TCP端口,保障在网络发生故障恢复时不会中断连接。建议启用该参数。重要
- 不建议使用soft选项,有数据一致性风险。如果您要使用soft选项,相关风险需由您自行承担。
- 避免设置不同于默认值的任何其他挂载选项。如果更改读或写缓冲区大小或禁用属性缓存,可能会导致性能下降。
- 执行
mount -l
命令,查看挂载结果。挂载成功后,您可以执行
df -h
命令,查看当前文件系统的容量信息。 - 可选:配置开机时自动挂载。
为避免已挂载文件系统的云服务器ECS重启后,挂载信息丢失,您可以通过在Linux ECS实例中配置/etc/fstab文件,实现在云服务器ECS设置重启时NFS文件系统自动挂载。
CPFS-NFS客户端配置
配置文件
如果您需要修改CPFS-NFS客户端配置,请联系CPFS技术支持团队,并在团队指导下修改配置文件,否则可能会影响IO访问。配置文件路径:/etc/aliyun/cpfs/cpfs-utils.conf。配置示例如下:
[DEFAULT]
logging_level = INFO
logging_max_bytes = 1048576
logging_file_count = 10
[mount]
stunnel_debug_enabled = false
# Validate the certificate hostname on mount. This option is not supported by certain stunnel versions.
stunnel_check_cert_hostname = false
# Use OCSP to check certificate validity. This option is not supported by certain stunnel versions.
stunnel_check_cert_validity = false
proxy_port = 12049
cpfs_proxy_addr = 127.0.1.255
cpfs_proxy_port_min = 30000
cpfs_proxy_port_max = 60000
[mount-watchdog]
poll_interval_sec = 1
unmount_grace_period_sec = 30
dns_refresh_interval = 60
[client-tool]
配置文件中的重要参数说明如下:
参数 | 说明 |
---|---|
logging_level | 日志级别。默认为INFO。 |
logging_max_bytes | 日志文件的最大容量。默认为1048576字节,即单个日志文件最大为1 MiB。 |
logging_file_count | 日志文件的最大保留数量。默认为10,即最多保留10个日志文件。 |
cpfs_proxy_addr | CPFS客户端proxy IP地址,默认为127.0.1.255。 |
cpfs_proxy_port_min | CPFS客户端proxy端口范围最小值,默认为30000。 |
cpfs_proxy_port_max | CPFS客户端proxy端口范围最大值,默认为60000。 |
poll_interval_sec | 后台watchdog服务检测时间,默认为1s。 |
unmount_grace_period_sec | 执行umount CPFS-NFS挂载点后,清理对应的配置文件静默时间,默认为30s。 |
dns_refresh_interval | 后台watchdog服务检测DNS对应当前连接的主备节点是否可用,默认为60s。 |
haproxy配置
CPFS-NFS客户端在挂载时自动生成haproxy配置文件,并启动haproxy进程,请勿修改该配置文件,否则会影响IO访问。您可通过查看/var/run/cpfs/haproxy-config.dns配置文件,示例如下。
global
maxconn 4096
defaults
mode tcp
balance leastconn
timeout client 60s
timeout server 60s
timeout connect 3s
retries 3
frontend cpfs2049
bind 127.0.1.255:30000
default_backend bk2049
backend bk2049
server cpfs_primary 172.27.1.189:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 on-marked-up shutdown-backup-sessions
server cpfs_backup 172.27.0.214:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 backup
重要参数说明如下:
参数 | 说明 |
---|---|
defaults | 默认参数值不建议修改。 |
frontend | haproxy代理本地IP地址和端口。默认选择127.0.1.255,端口选择范围为30000~60000 |
backend | CPFS-NFS服务后端对应的IP地址,其中cpfs_primary 为主节点,cpfs_backup 为备节点。 |
客户端日志
您可以通过访问/var/log/aliyun/cpfs/路径下的CPFS-NFS客户端日志定位挂载报错信息。同时可以通过修改日志配置文件/etc/aliyun/cpfs/cpfs-utils.conf中的参数,定制CPFS-NFS客户端日志内容。修改配置文件后,请您执行sudo service aliyun-cpfs-mount-watchdog restart
命令,重启后端watchdog进程。