本文介绍如何在Ubuntu操作系统、CentOS操作系统和Aliyun Linux操作系统中安装CPFS客户端并挂载CPFS文件系统。

背景信息

文件存储CPFS兼容POSIX接口,通过标准挂载即可使用。文件存储CPFS提供定制化的客户端软件,支持在Ubuntu操作系统、CentOS操作系统和Aliyun Linux操作系统中安装。
文件存储CPFS支持的操作系统版本:
  • CentOS:CentOS7.6和CentOS7.7
  • Ubuntu:Ubuntu16.04和Ubuntu18.04
  • Aliyun Linux:Aliyun Linux 2

准备工作

文件存储CPFS支持在Ubuntu操作系统、CentOS操作系统和Aliyun Linux操作系统中安装CPFS客户端,需完成如下准备工作。

  • 如果您要在CentOS操作系统或Aliyun Linux操作系统中安装CPFS客户端,请先完成以下准备工作。
    1. 安装以下依赖包:make、gcc、libyaml-devel、libtool、zlib-devel、glibc-headers、dkms、expect。
      yum install -y make gcc libyaml-devel libtool zlib-devel glibc-headers dkms expect
    2. 安装kernel-devel依赖包。
      yum install -y kernel-devel-`uname -r`
      说明
      • 请确保安装的kernel-devel包版本和kernel版本一致。
      • 如果yum源没有和内核版本一致的kernel-devel包,请执行uname -r命令确定kernel版本,在CentOS官网下载对应的kernel-devel包并安装。
  • 如果您要在Ubuntu操作系统中安装CPFS客户端,请先完成以下准备工作。
    1. 确认kernelheader已安装。
      dpkg -l | grep 'linux-headers'  |grep `uname -r`

      如果回显信息中显示了linux-headers的版本号,则表示已安装kernelheader。

    2. 更新dkms版本。
      apt-get update
      apt-get install -y dkms
    3. 安装依赖包。
      apt-get install -y libyaml-dev libsnmp-dev

      如果回显信息中提示The following packages have unmet dependencies,请执行apt --fix-broken install命令进行修复。

    4. 卸载lustre相关的包。

      如果系统已经安装了lustre,执行以下命令卸载。

      dpkg -l | grep lustre
      dpkg -e <lustre pkg>

      执行以下命令检查是否存在lustre目录。

      ls /lib/modules/`uname -r`/kernel/drivers/staging/lustre

      如果存在该目录,请执行mkdir ~/cpfs-backup; mv /lib/modules/`uname -r`/kernel/drivers/staging/lustre ~/cpfs-backup命令进行删除。

CentOS操作系统和Aliyun Linux操作系统

  1. 下载CPFS客户端。
    • 如果您使用CentOS操作系统,请执行以下命令。
      wget https://cpfs-client.oss-cn-beijing.aliyuncs.com/centos/cpfs-client-latest.el7.tar.gz
    • 如果您使用Aliyun Linux操作系统,请执行以下命令。
      wget https://cpfs-client.oss-cn-beijing.aliyuncs.com/aliyunos/cpfs-client-latest.al7.tar.gz
  2. 安装CPFS客户端。
    • 如果您使用CentOS操作系统,请执行以下命令。
      tar -zxvf cpfs-client-latest.el7.tar.gz
      rpm -ivh cpfs-client-dkms-*.el7.noarch.rpm
      rpm -ivh cpfs-client-2.10.8-*.el7.x86_64.rpm
    • 如果您使用Aliyun Linux操作系统,请执行以下命令。
      tar -zxvf cpfs-client-latest.al7.tar.gz
      rpm -ivh cpfs-client-dkms-*.al7.noarch.rpm
      rpm -ivh cpfs-client-2.10.8-*.al7.x86_64.rpm
    安装完成后,可执行dkms status命令查看状态。若回显信息中提示WARNING,请执行以下命令尝试修复。
    mkdir ~/cpfs-backup
    mv /lib/modules/`uname -r`/kernel/drivers/staging/lustre ~/cpfs-backup
    dkms uninstall cpfs-client/1.0.0
    dkms remove cpfs-client/1.0.0 --all
    lustre_rmmod
    rmmod libcfs
    rmmod lnet
    dkms build cpfs-client/1.0.0
    dkms install cpfs-client/1.0.0
    执行完成后,若回显信息中仍然提示WARNING,请联系阿里云工程师协助处理。
  3. 执行vim /etc/cpfs/cpfs-mounts.conf命令编辑配置文件cpfs-mounts.conf,增加文件系统和挂载目录信息,如下所示。
    cpfs-xxx.cn-shanghai.cpfs.nas.aliyuncs.com@tcp:cpfs-xxx.cn-shanghai.cpfs.nas.aliyuncs.com@tcp:/xxx /mnt localflock
    说明
    • 挂载文件系统时,可选择多种挂载选项,挂载选项使用英文逗号(,)分隔,说明如下:
      • localflock:如果应用软件需使用flock接口进行文件锁操作,挂载选项需加入localflock。
      • noatime:如果应用软件对atime不敏感,挂载选项可加入noatime,可提高文件系统读写性能。
    • 该配置文件的每一行是文件系统的一个挂载点信息,由文件系统挂载点和本地挂载目录两部分组成,请根据实际值替换。其中,您可以从NAS控制台获取文件系统挂载点并自定义本地挂载目录,一般为/mnt下的子目录。
  4. 执行service cpfs-client start命令启动CPFS服务,即挂载文件系统。
    说明
    • 查询CPFS服务状态的命令:service cpfs-client status
    • 停止CPFS服务状态的命令:service cpfs-client stop
    • 如果不再使用CPFS,请在云服务器ECS上运行service cpfs-client stop命令停止CPFS服务,然后执行rpm -e cpfs-client命令和rpm -e cpfs-client-dkms命令卸载CPFS客户端。

Ubuntu操作系统

  1. 下载安装包。
    • 如果是Ubuntu 16.04,请执行以下命令。
      wget https://cpfs-client.oss-cn-beijing.aliyuncs.com/ubuntu/cpfs-client-ubuntu1604_amd64_latest.tar.gz
    • 如果是Ubuntu 18.04,请执行以下命令。
      wget https://cpfs-client.oss-cn-beijing.aliyuncs.com/ubuntu/cpfs-client-ubuntu1804_amd64_latest.tar.gz
  2. 解压安装包。
    • 如果是Ubuntu 16.04,请执行以下命令解压安装包。
      tar -xf cpfs-client-ubuntu1604_amd64_latest.tar.gz
    • 如果是Ubuntu 18.04,请执行以下命令解压安装包。
      tar -xf cpfs-client-ubuntu1804_amd64_latest.tar.gz
  3. 安装cpfs-client-dkms包。
    dpkg -i cpfs-client-dkms_*_amd64.deb
    安装完成后,可执行dkms status命令查看状态。若回显信息中提示WARNING,请执行以下命令尝试修复。
    mkdir ~/cpfs-backup
    mv /lib/modules/`uname -r`/kernel/drivers/staging/lustre ~/cpfs-backup
    dkms uninstall cpfs-client/1.0.0-204
    dkms remove cpfs-client/1.0.0-204 --all
    lustre_rmmod
    rmmod libcfs
    rmmod lnet
    dkms build cpfs-client/1.0.0-204
    dkms install cpfs-client/1.0.0-204
    执行完成后,若回显信息中仍然提示WARNING,请联系阿里云工程师协助处理。
  4. 安装cpfs-client包。
    dpkg -i cpfs-client_*_amd64.deb
  5. 执行vim /etc/cpfs/cpfs-mounts.conf命令编辑配置文件cpfs-mounts.conf,增加文件系统和挂载目录信息,如下所示。
    cpfs-xxx.cn-shanghai.cpfs.nas.aliyuncs.com@tcp:cpfs-xxx.cn-shanghai.cpfs.nas.aliyuncs.com@tcp:/xxx /mnt localflock
    说明
    • 挂载文件系统时,可选择多种挂载选项,挂载选项使用英文逗号(,)分隔,说明如下:
      • localflock:如果应用软件需使用flock接口进行文件锁操作,挂载选项需加入localflock。
      • noatime:如果应用软件对atime不敏感,挂载选项可加入noatime,可提高文件系统读写性能。
    • 该配置文件的每一行是文件系统的一个挂载点信息,由文件系统挂载点和本地挂载目录两部分组成,请根据实际值替换。其中,您可以从NAS控制台获取文件系统挂载点并自定义本地挂载目录,一般为/mnt下的子目录。
  6. 执行service cpfs-client start命令启动CPFS服务,即挂载文件系统。
    说明
    • 查询CPFS服务状态的命令:service cpfs-client status
    • 停止CPFS服务状态的命令:service cpfs-client stop
    • 如果不再使用CPFS,请在云服务器ECS上运行service cpfs-client stop命令停止CPFS服务,然后执行rpm -e cpfs-client命令和rpm -e cpfs-client-dkms命令卸载CPFS客户端。