创建以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文件系统、添加挂载点,并获取CPFS管理节点。创建CPFS文件系统和添加挂载点操作,请参见管理文件系统和管理挂载点。
获取CPFS管理节点步骤如下:
登录NAS控制台。
在左侧导航栏,选择文件系统 > 文件系统列表。
在文件系统列表页,单击已创建的CPFS文件系统ID。
在文件系统详情页,单击挂载使用。
登录如上图所示的第一台ECS实例,执行
mmlsmgr
命令,获取CPFS管理节点。默认情况下,返回信息为
cpfs-<cpfs-id>-qr-001
,该节点则为CPFS管理节点。如果返回信息为
cpfs-<cpfs-id>-qr-002
,登录cpfs-<cpfs-id>-qr-002
节点,执行reboot
命令,等待1分钟左右,再次执行mmlsmgr
命令,若返回信息为cpfs-<cpfs-id>-qr-001
,表示管理节点已经完成切换,可被E-HPC集群使用。
步骤一:创建自定义镜像
创建一台ECS实例。
具体操作,请参见使用向导创建实例。您需要注意以下配置参数:
vCPU和内存:选择至少包含2 vCPU、4 GiB内存的ECS实例,确保CPFS客户端软件正常运行。
镜像:选择CPFS客户端支持的CentOS(7.2、7.3、7.4、7.6)操作系统。
网络:必须与CPFS文件系统的专有网络和交换机保持一致。
安全组:必须与CPFS文件系统的安全组保持一致。
登录ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
安装客户端和依赖包。
运行以下命令,下载并解压RPM(Red Hat Package Manager)包。
mkdir /tmp/rpms cd /tmp/rpms wget https://gpfs-rpms.oss-cn-beijing.aliyuncs.com/CPFS2.2-CentOS.tar.gz tar xvfz CPFS2.2-CentOS.tar.gz
运行以下命令,安装CPFS客户端的依赖软件。
yum install -y cpp gcc gcc-c++ binutils ksh elfutils elfutils-devel rpm-build
如果ECS实例为CentOS 7.2、7.3、7.4操作系统时,需安装对应系统版本的kernel-devel。
执行
uname -r
查看kernel版本。如返回的kernel如下所示:
在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
安装kernel-devel。
yum install kernel-devel-3.10.0-514.26.2.el7.x86_64.rpm -y
运行以下命令,安装CPFS客户端。
cd /tmp/rpms/CentOS/CentOS7 yum install -y gpfs.adv-*.x86_64.rpm gpfs.base-*.x86_64.rpm gpfs.docs-*.noarch.rpm gpfs.gpl-*.noarch.rpm gpfs.gskit-*.x86_64.rpm gpfs.gss.pmsensors-*.x86_64.rpm gpfs.license.dm-*.x86_64.rpm gpfs.msg.en_US-*.noarch.rpm
运行以下命令,构建系统。
/usr/lpp/mmfs/bin/mmbuildgpl
当返回如下信息时,说明系统已构建。若无返回信息,请再次执行该命令。
在ECS实例的/etc/hosts文件中增加CPFS管理节点的Quorum和Contact内容。
登录CPFS管理节点,获取/etc/hosts文件中的相关内容。
说明关于如何获取CPFS管理节点操作,请参见前提条件。
将获取的内容添加到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
在CPFS管理节点,获取CPFS客户端节点的免密钥登录文件。
修改CPFS管理节点的/etc/ssh/ssh_config文件中的如下配置。
StrictHostKeyChecking=no
运行以下命令,将公钥信息拷贝至制作自定义镜像的ECS实例。
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.**.**.169
使用ECS实例创建自定义镜像。
具体操作,请参见使用实例创建自定义镜像。
检查创建的自定义镜像是否可用。
说明此步骤中出现的192.168.XX.XX为ECS实例的IP,请替换成实际的IP。
- 登录CPFS管理节点,在/etc/hosts中加入ECS实例的IP和HostName。
执行如下命令挂载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
登录ECS实例,执行
df -h
检查是否挂载上CPFS。当返回如下信息时,说明ECS实例已挂载上CPFS。
登录CPFS管理节点,执行如下命令卸载CPFS文件系统。
mmshutdown -N 192.168.XX.XX mmdelnode -N 192.168.XX.XX
- 删除在/etc/hosts中添加的ECS实例的IP和HostName。
步骤二:创建集群
登录弹性高性能计算控制台。
在顶部菜单栏左上角处,选择地域。
在左侧导航栏,选择集群。
在集群页面,单击创建集群。
在创建集群页面,完成填写集群配置信息。
更多信息,请参见创建集群。您需要注意以下配置参数:
文件系统类型:选择CPFS。
文件系统ID和挂载点:选择您已经创建的CPFS文件系统ID和挂载点。
镜像类型:选择自定义镜像。
镜像:选择您制作的自定义镜像,创建集群时会自动安装CPFS客户端和对应的登录文件。