创建以CPFS为共享存储的E-HPC集群

本文介绍如何创建以CPFS(Cloud Paralleled File System)为共享存储的高性能计算集群。为您提供一个高IOPS、高吞吐、低时延的计算集群。

背景信息

CPFS是一种高性能并行文件存储系统,专为AI训练和E-HPC等高性能计算场景打造,最大支持数十GB/s吞吐能力。CPFS的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型E-HPC提供高IOPS、高吞吐、低时延的数据存储服务。更多信息,请参见什么是文件存储CPFS

以CPFS为共享存储的E-HPC集群适合动画渲染、生命科学、气象预报、能源勘探等需要超高吞吐的应用场景。

使用限制

以CPFS为共享存储的E-HPC集群存在以下使用限制:

  • 一个CPFS文件系统只能供一个E-HPC集群使用。

  • CPFS客户端仅支持CentOS(7.2、7.3、7.4、7.6)操作系统。

  • 扩容集群时,只能选择创建集群时的自定义镜像对集群进行扩容,否则会出现集群异常。

前提条件

已创建CPFS文件系统,并且已经添加挂载点。具体操作,请参见管理文件系统管理挂载点

步骤一:创建自定义镜像

  1. 创建一台ECS实例。

    具体操作,请参见使用向导创建实例。您需要注意以下配置参数:

    • vCPU内存:选择至少包含2 vCPU、4 GiB内存的ECS实例,确保CPFS客户端软件正常运行。

    • 镜像:选择CPFS客户端支持的CentOS(7.2、7.3、7.4、7.6)操作系统。

    • 网络:必须与CPFS文件系统的专有网络和交换机保持一致。

    • 安全组:必须与CPFS文件系统的安全组保持一致。

  2. 登录ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  3. 安装客户端和依赖包。

    1. 运行以下命令,下载并解压RPM(Red Hat Package Manager)包。

      mkdir /tmp/rpms
      cd /tmp/rpms
      wget https://gpfs-rpms.oss-cn-beijing.aliyuncs.com/centos7-rpms.tar.gz
      tar xvfz centos7-rpms.tar.gz
    2. 运行以下命令,安装CPFS客户端的依赖软件。

      yum install -y cpp gcc gcc-c++ binutils ksh elfutils elfutils-devel rpm-build
    3. 如果ECS实例为CentOS 7.2、7.3、7.4操作系统时,需安装对应系统版本的kernel-devel。

      1. 执行uname -r查看kernel版本。

        如返回的kernel如下所示:

        查看kernel版本
      2. CentOS官网下载kernel版本对应kernel-devel的rpm包。

        wget https://buildlogs.centos.org/c7.1611.u/kernel/20170704132018/3.10.0-514.26.2.el7.x86_64/kernel-devel-3.10.0-514.26.2.el7.x86_64.rpm
      3. 安装kernel-devel。

        yum install kernel-devel-3.10.0-514.26.2.el7.x86_64.rpm -y
    4. 运行以下命令,安装CPFS客户端。

      cd /tmp/rpms/centos7-rpms
      yum install -y gpfs.adv-5.0.5-0.x86_64.rpm gpfs.base-5.0.5-0.x86_64.rpm gpfs.callhome-ecc-client-5.0.5-0.noarch.rpm gpfs.compression-5.0.5-0.x86_64.rpm gpfs.docs-5.0.5-0.noarch.rpm gpfs.gpl-5.0.5-0.noarch.rpm gpfs.gskit-8.0.55-12.x86_64.rpm gpfs.gss.pmsensors-5.0.5-0.el7.x86_64.rpm gpfs.java-5.0.5-0.x86_64.rpm gpfs.kafka-5.0.5-0.x86_64.rpm gpfs.librdkafka-5.0.5-0.x86_64.rpm gpfs.license.dm-5.0.5-0.x86_64.rpm gpfs.msg.en_US-5.0.5-0.noarch.rpm
      
  4. 运行以下命令,构建系统。

    /usr/lpp/mmfs/bin/mmbuildgpl 

    当返回如下信息时,说明系统已构建。若无返回信息,请再次执行该命令。

    gpl
  5. 在ECS实例的/etc/hosts文件中增加CPFS管理节点的Quorum和Contact内容。

    1. 登录CPFS管理节点,获取/etc/hosts文件中的相关内容。

      host
    2. 将获取的内容添加到ECS实例的/etc/hosts文件中。

      172.**.**.87 cpfs-contact-node1 #CPFS_172_**_**_87_MAGIC
      
      172.**.**.88 cpfs-contact-node2 #CPFS_172_**_**_88_MAGIC
      
      172.**.**.89 cpfs-contact-node3 #CPFS_172_**_**_89_MAGIC
      172.**.**.90 cpfs-0****a6-000001-qr-001 #CPFS_172_**_**_90_MAGIC
      
      172.**.**.91 cpfs-0****a6-000001-qr-002 #CPFS_172_**_**_91_MAGIC
      172.**.**.92 cpfs-0****a6-000001-qr-003 #CPFS_172_**_**_92_MAGIC
  6. 在CPFS管理节点,获取CPFS客户端节点的免密钥登录文件。

    1. 修改CPFS管理节点的/etc/ssh/ssh_config文件中的如下配置。

      StrictHostKeyChecking=no
      no
    2. 运行以下命令,将公钥信息拷贝至制作自定义镜像的ECS实例。

      ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.**.**.169
  7. 使用ECS实例创建自定义镜像。

    具体操作,请参见使用实例创建自定义镜像

  8. 检查创建的自定义镜像是否可用。

    说明

    此步骤中出现的192.168.XX.XX为ECS实例的IP,请替换成实际的IP。

    1. 登录CPFS管理节点,在/etc/hosts中加入ECS实例的IP和HostName。
      add ip and hostname
    2. 执行如下命令挂载CPFS文件系统。

      mmaddnode -N 192.168.XX.XX
      mmchlicense client --accept -N  192.168.XX.XX
      mmchnode -N 192.168.XX.XX --perfmon
      mmstartup -N 192.168.XX.XX
    3. 登录ECS实例,执行df -h检查是否挂载上CPFS。

      当返回如下信息时,说明ECS实例已挂载上CPFS。

      CPFS
    4. 登录CPFS管理节点,执行如下命令卸载CPFS文件系统。

      mmshutdown -N 192.168.XX.XX
      mmdelnode -N 192.168.XX.XX
    5. 删除在/etc/hosts中添加的ECS实例的IP和HostName。

步骤二:创建集群

  1. 登录弹性高性能计算控制台

  2. 在顶部菜单栏左上角处,选择地域。

  3. 在左侧导航栏,选择集群

  4. 集群页面,单击创建集群

  5. 创建集群页面,完成填写集群配置信息。

    更多信息,请参见创建集群。您需要注意以下配置参数:

    • 文件系统类型:选择CPFS

    • 文件系统ID挂载点:选择您已经创建的CPFS文件系统ID和挂载点。

      CPFS
    • 镜像类型:选择自定义镜像

    • 镜像:选择您制作的自定义镜像,创建集群时会自动安装CPFS客户端和对应的登录文件。

      镜像