在 Ubuntu 或 CentOS 上安装 CPFS-POSIX 客户端并挂载 CPFS 文件系统。
前提条件
已创建文件系统。具体操作,请参见创建文件系统。
已为文件系统添加 POSIX 挂载目标。具体操作,请参见添加POSIX客户端挂载点。
已创建一台或多台运行 Ubuntu 或 CentOS 的云服务器ECS实例,且内核版本符合下表要求,同时至少具备 2 个 CPU 核和 4 GiB 内存。具体操作,请参见创建ECS实例。
操作系统类型
发行版
内核版本
RHEL 或 CentOS
8.4
4.18.0-305.19.1.el8_4
8.3
4.18.0-240.22.1.el8_3
8.2
4.18.0-193.28.1.el8_2
8.1
4.18.0-147.8.1.el8_1
8.0
4.18.0-80.11.2.el8_0
7.9
3.10.0-1160.42.2.el7
7.8
3.10.0-1127.19.1.el7
7.7
3.10.0-1062.18.1.el7
7.6
3.10.0-957.54.1.el7
7.5
3.10.0-862.14.4.el7
7.4
3.10.0-693.2.2.el7
7.3
3.10.0-514.26.2.el7
7.2
3.10.0-514.26.2.el7
Ubuntu
20.04.3 LTS
5.4.0-86-generic
重要如果当前内核版本不在支持列表中,请改用 CPFS-NFS 客户端挂载文件系统。具体操作,请参见CPFS-NFS客户端挂载文件系统(推荐)。
CentOS Linux已宣布停止维护(End of Life,EOL)。阿里云将同步停止对 CentOS Linux公共镜像的支持。为避免业务中断,请及时迁移到受支持的操作系统。具体操作,请参见操作系统迁移。
CPFS-POSIX 挂载原理
本文中的目标ECS均指挂载并访问 CPFS 文件系统的计算节点。
CPFS 兼容 POSIX 接口,通过在 Ubuntu 或 CentOS 上安装 CPFS-POSIX 客户端后即可挂载使用。如需通过 NFS 协议访问 CPFS,请参见通过 CPFS-NFS 客户端挂载文件系统(推荐)。
添加 POSIX 挂载目标后,CPFS 会自动创建 3 个控制节点:<FSID>-<GENID>-qr-001、<FSID>-<GENID>-qr-002 和 <FSID>-<GENID>-qr-003。列表中的第一个控制节点(<FSID>-<GENID>-qr-001)为默认的 CPFS-POSIX 客户端安装节点。
步骤一:准备环境
在部署 CPFS-POSIX 客户端前,需在每台目标ECS上安装所需的内核软件包。
Ubuntu
安装软件依赖包。
apt-get -y install linux-headers-`uname -r` cpp gcc binutils若返回
Unable to locate packages linux-headers,说明 apt 源中缺少对应版本的 linux-headers 包,可在Ubuntu 官网下载对应包并手动安装。验证 linux-headers 包版本与内核版本一致。
dpkg -l | grep linux-headers-`uname -r`
CentOS
安装软件依赖包。
yum -y install kernel-devel-`uname -r` cpp gcc gcc-c++ binutils若返回
No package kernel-devel available,说明 yum 源中缺少对应版本的 kernel-devel 包。执行 uname -r确认内核版本,然后在CentOS 官网下载对应包并手动安装。查看当前内核版本。
uname -r验证 kernel-devel 包版本与内核版本一致。
rpm -qa | grep kernel-devel-`uname -r`
步骤二:配置目标ECS安全组
CPFS-POSIX 客户端需要通过网络访问控制节点。将控制节点的安全组添加到每台目标ECS实例。
获取 CPFS-POSIX 控制节点的安全组 ID。
登录NAS 控制台。
在左侧导航,选择。
在页面左上角,选择目标文件系统所在的资源组和地域。

单击目标文件系统,进入详情页后单击挂载使用。
在客户端管理节点区域,单击列表中第一个ECS实例,进入实例详情页。
在实例详情页面,单击安全组页签,记录该控制节点的安全组 ID/名称。
控制节点安全组的名称格式为:<FSID>-<GENID>-qr-sg。
其中,<FSID> 为 CPFS 文件系统 ID;<GENID> 为挂载目标序列号,每次创建 CPFS 挂载目标时递增。
将控制节点安全组添加到目标ECS实例。
在左侧导航栏,选择实例与镜像 > 实例。
在实例列表页面,单击待挂载的ECS实例 ID,选择安全组页签,单击更换安全组。
在更换安全组对话框的安全组下拉列表中,选择步骤 1中记录的控制节点安全组(<FSID>-<GENID>-qr-sg),单击确定。
步骤三:挂载文件系统
连接到 CPFS-POSIX 客户端安装节点(即控制节点)。具体操作,请参见选择ECS远程连接方式。
可在客户端管理节点区域查看客户端管理节点列表,其中列表第一个ECS实例为默认安装节点。更多信息,请参见查看POSIX客户端挂载点。
在控制节点上执行以下命令,将目标ECS加入客户端集群并安装 CPFS-POSIX 客户端。
cpfs add <目标ECS 1内网IP地址> <目标ECS 2内网IP地址> <目标ECS 3内网IP地址>示例:
cpfs add 192.168.1.249 192.168.1.250 192.168.1.251cpfs add命令会在指定实例上安装 CPFS-POSIX 客户端并将其加入客户端集群,多个内网IP地址以空格分隔。每添加一台实例约耗时 2 分钟,添加多台时建议通过screen或nohup在后台执行,避免因连接超时中断。说明请输入目标ECS的内网IP地址,不要使用公网 IP。
各客户端节点的主机名不能重复。
可同时添加一台或多台ECS实例,多个内网IP地址以空格分隔。
每添加一台ECS实例约耗时 2 分钟。添加多台时,建议通过
screen或nohup在后台运行命令。
执行以下命令,确认目标ECS实例已出现在节点列表中。
执行命令
mmlscluster返回示例
Node Daemon node name IP address Admin node name Designation --------------------------------------------------------------------------------------------------------- 1 cpfs-001cb78****154e3-000001-qr-001 10.0.2.41 cpfs-001cb78****154e3-000001-qr-001 quorum-manager-perfmon 2 cpfs-001cb78****154e3-000001-qr-002 10.0.2.43 cpfs-001cb78****154e3-000001-qr-002 quorum-manager-perfmon 3 cpfs-001cb78****154e3-000001-qr-003 10.0.2.42 cpfs-001cb78****154e3-000001-qr-003 quorum-manager-perfmon 4 iZbp11iqkys8rl5cwa4**** 10.0.2.44 iZbp11iqkys8rl5cwa4**** perfmon目标ECS实例以
perfmon节点形式出现(示例中的节点 4)。标记为quorum-manager-perfmon的节点(节点 1-3)为控制节点。
可选:查询默认挂载路径。
加入客户端集群后,文件系统会自动挂载到默认路径
/cpfs/<FSID序列号>。执行mmlsfs <FSID序列号>-<GENID> -T命令可查询该默认路径。执行命令示例
mmlsfs 001cb78****154e3-000001 -T返回示例
flag value description ------------------- ------------------------ ----------------------------------- -T /cpfs/001cb78****154e3-000001 Default mount point
如需通过自定义路径访问文件系统,执行
mount --bind命令:mount --bind /cpfs/001cb78****154e3-000001 /mnt/test其中,
/cpfs/001cb78****154e3-000001为文件系统默认挂载路径,/mnt/test为自定义访问路径。--bind选项将已挂载的目录映射到新位置,数据不会复制。说明CPFS-POSIX 客户端安装节点不支持自定义挂载路径。
不支持子目录挂载。
挂载成功后,可像访问本地目录一样访问 CPFS 文件系统。
常见问题
挂载CPFS文件系统时,返回“unsupported OS for 'X86_64' architecture”错误该如何处理?
挂载CPFS文件系统时,返回“make sure kernel-devel version is consistent with kernel”错误该如何处理?
挂载CPFS文件系统时,返回“ssh: connect to host A port 22: Connection timed out”错误该如何处理?
挂载CPFS文件系统时,返回“[FATAL] B:Could not connect to B via ssh”错误该如何处理?
更多挂载 CPFS 的常见问题及解决方案,请参见挂载访问FAQ。