本文介绍如何为Ubuntu操作系统或CentOS操作系统安装CPFS-POSIX客户端并挂载访问CPFS文件系统。

前提条件

  • 已创建文件系统。具体操作,请参见创建文件系统
  • 已添加POSIX挂载点。具体操作,请参见添加POSIX挂载点
  • 已创建一个或多个ECS(Ubuntu或CentOS)实例,且满足如下表所示的内核版本。具体操作,请参见创建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

背景信息

  • 本文提及的目标ECS均指代挂载访问CPFS文件系统的计算节点。
  • 文件存储CPFS兼容POSIX接口,通过安装CPFS-POSIX客户端、挂载文件系统使用。文件存储CPFS-POSIX客户端提供定制化服务,支持在Ubuntu操作系统和CentOS操作系统中安装使用。如果您希望通过NFS协议访问CPFS文件系统,请参考CPFS-NFS客户端挂载文件系统
  • 添加POSIX挂载点后,CPFS会自动创建3个管理节点ECS,分别为<FSID>-<GENID>-qr-001,<FSID>-<GENID>-qr-002,<FSID>-<GENID>-qr-003,列表中第一个管理节点ECS实例默认为CPFS-POSIX客户端安装节点。

步骤一:准备环境

请您按照以下操作步骤完成安装CPFS-POSIX客户端前的环境准备工作。

  • Ubuntu操作系统
    1. 执行以下命令安装软件依赖包。
      apt-get -y install linux-headers-`uname -r` cpp gcc binutils
      若返回信息为Unable to locate packages linux-headers时,表示apt源缺少对应版本的linux-headers包,可以在Ubuntu官网下载对应的linux-headers包并安装。
    2. 执行以下命令检查linux-headers包版本和kernel版本的一致性。
      dpkg -l | grep linux-headers-`uname -r`
  • CentOS操作系统
    1. 执行以下命令安装软件依赖包。
      yum -y install kernel-devel-`uname -r` cpp gcc gcc-c++ binutils
      如返回信息为No package kernel-devel available时,表示yum源缺少对应版本的kernel-devel包。请执行uname -r命令确定kernel版本,然后在CentOS官网下载对应的kernel-devel包并安装。
    2. 执行以下命令获取kernel版本。
      uname -r
    3. 执行以下命令检查kernel-devel包版本和kernel版本的一致性。
      rpm -qa | grep kernel-devel-`uname -r`

步骤二:配置目标ECS安全组

  1. 获取CPFS-POSIX管理节点ECS实例的安全组信息。
    1. 登录NAS控制台
    2. 单击目标文件系统,进入文件系统详情页,单击POSIX挂载使用
    3. 客户端管理节点区域,单击列表中第一个ECS实例,进入该实例的详情页面。
    4. 实例详情页面,单击安全组页签,记录该CPFS-POSIX管理节点的安全组信息。
      管理节点安全组的名称结构为:<FSID>-<GENID>-qr-sg。

      其中,<FSID>为CPFS文件系统ID;<GENID>为挂载点的序列号,每次创建CPFS挂载点时递增。

      1
  2. 为目标ECS实例添加CPFS-POSIX管理节点ECS实例的安全组。
    1. 在左侧导航栏,单击实例
    2. 实例列表页面,找到待挂载CPFS文件系统的ECS实例,单击更多 > 网络和安全组 > 加入安全组2
    3. ECS实例加入安全组对话框的安全组下拉列表中,选择步骤1查询到的管理节点安全组(<FSID>-<GENID>-qr-sg),单击确定23

步骤三:挂载文件系统

  1. 连接CPFS-POSIX客户端安装节点ECS。具体操作,请参见连接方式介绍

    您可以在客户端管理节点区域,获取CPFS-POSIX客户端安装节点ECS,列表中第一个ECS实例默认为CPFS-POSIX客户端安装节点。更多信息,请参见查看POSIX挂载点

  2. 执行以下命令为目标ECS安装CPFS-POSIX客户端,并将目标ECS加入客户端集群中。
    cpfs add <目标ECS 1内网IP地址> <目标ECS 2内网IP地址> <目标ECS 3内网IP地址>
    示例:
    cpfs add 192.168.1.249 192.168.1.250 192.168.1.251
    说明
    • 添加ECS实例时,请输入目标ECS的内网IP地址。
    • 客户端不能使用相同的hostname。
    • 可添加一个或多个ECS实例,当添加多个ECS实例时,目标ECS的内网IP地址以空格隔开。
    • 添加的ECS实例个数越多,命令运行的时间越长,平均添加一个ECS实例耗时约2分钟。建议您在执行添加ECS实例命令时以screen、nohup等方式后台运行。
  3. 执行以下命令,确认node列表中已包含目标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
  4. 可选:查询默认路径。
    将目标ECS实例加入客户端管理节点后,文件系统会自动挂载在默认路径/cpfs/<FSID序列号>上,您可以执行mmlsfs <FSID序列号>-<GENID> -T命令,查询默认路径。
    • 执行命令示例
      mmlsfs 001cb78****154e3-000001 -T
    • 返回示例
      flag                value                    description
      ------------------- ------------------------ -----------------------------------
       -T                 /cpfs/001cb78****154e3-000001 Default mount point
    您也可以执行mount --bind命令,通过自定义路径访问CPFS文件系统。
    mount --bind /cpfs/001cb78****154e3-000001 /mnt/test
    其中,/cpfs/001cb78****154e3-000001为CPFS文件系统默认挂载路径;/mnt/test为自定义挂载路径。
    说明
    • CPFS文件系统安装节点不允许自定义挂载路径。
    • 不支持子目录挂载。