GPFS 文件系统部署步骤 参考文档: 简书网友提供: https://www.jianshu.com/p/a0ecc0838b3b?utm_campaign=maleskineutm_content=noteutm_medium=seo_notesutm_source=recommendation 编程圈网友提供: https://www.bianchengquan
- 配置yum源
- 配置/etc/hosts
- 配置ssh免密登录
- 关闭防火墙,selinux
- 配置时间同步
- 安装依赖包
[root@gpfsnode1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.27.61 gpfsnode1 192.168.27.62 gpfsnode2 192.168.27.63 gpfsclient3.3 配置ssh免密登录 分别配置三台机器之间root用户的免密登录
[root@gpfsnode1 ~ ]# ssh-keygen -t rsa Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: [root@gpfsnode1 ~ ]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@gpfsnode2 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" Are you sure you want to continue connecting (yes/no)? yes root@gpfsnode2's password: 这里输入gpfsnode2的密码3.4 关闭防火墙、selinux 防火墙
关闭防火墙 [root@gpfsnode1 ~] systemctl stop firewalld 设置防火墙不开机自动启动 [root@gpfsnode1 ~] systemctl disable firewalldSELinux
[root@gpfsnode1 ~] vim /etc/selinux/config SELINUX=disabled注意:SELinux修改后需要重新启动机器 3.5 配置时间同步
[root@gpfsnode1 ~] crontab -e */5 * * * * /usr/sbin/ntpdate 192.168.0.7;/usr/sbin/hwclock -w3.6 安装依赖包 对照如下表格安装所需依赖包自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用! 包名 功能 安装命令 Gcc 代码编译包 yum install gcc Cpp 计算机编程语言 yum install cpp Automake Makefile文件编辑器 yum install automake Kernel-devel 内核文件开发包 yum install kernel-devel Kernel-headers 系统内核头文件包 yum install kernel-headers binutils 一组开发工具包 yum install binutils Python Python主安装文件 yum install python Make Linux系统的编译工具 yum install make Ksh 交互式的命令解释器和命令变成语言 yum install ksh Gcc-c++ 针对C++的代码编译包 yum install gcc-c++ rpm-build rpm安装包编译工具 yum install rpm-build 四、安装GPFS文件系统 依赖包安装完成后,将 Spectrum Scale 软件包 Spectrum_Scale_Advanced-5.0.3.0-x86_64-Linux-install 上传到所有的节点服务器,通过 chmod+x 赋予执行权限。 4.1 解压安装包 解压安装文件 ./ Spectrum_Scale_Advanced-5.0.3.0-x86_64-Linux-install –text-only,根据提示按”1″,并接受 license 协议继续,默认安装文件会被解压到 /usr/lpp/mmfs/5.0.3.0目录下。
[root@gpfsnode1 ~]# ./Spectrum_Scale_Advanced-5.0.3.0-x86_64-Linux-install --text-only默认情况下,RPM 软件包将被解压到以下位置:/usr/lpp/mmfs/5.0.3.0,一般redhat的rpm包在gpfsf_rpm目录里
[root@gpfsnode1 ~]# cd /usr/lpp/mmfs/5.0.3.0/gpfs_rpms在Redhat Linux安装gpfs文件系统所需要的软件包如下:
gpfs.base-5.0.3-1.*.rpm gpfs.gpl-5.0.3-1.noarch.rpm gpfs.compression-5.0.3-1.*.rpm gpfs.gskit-8.0.50-86.*.rpm gpfs.msg.en_US-5.0.3-1.noarch.rpm gpfs.license.xxx-5.0.3-1.*.rpm(其中 xxx 是许可证类型) gpfs.adv-5.0.3-1.*.rpm(仅限 IBM Spectrum Scale Advanced 或 Data Management Edition) gpfs.crypto-5.0.3-1.*.rpm(仅限 IBM Spectrum Scale Advanced 或 Data Management Edition)按照如下顺序安装rpm包:
rpm -ivh gpfs.base-5.0.3-0.x86_64.rpm rpm -ivh gpfs.gpl-5.0.3-0.noarch.rpm rpm -ivh gpfs.adv-5.0.3-0.x86_64.rpm rpm -ivh gpfs.license.adv-5.0.3-0.x86_64.rpm rpm -ivh gpfs.gskit-8.0.50-86.x86_64.rpm rpm -ivh gpfs.msg.en_US-5.0.3-0.noarch.rpm rpm -ivh gpfs.crypto-5.0.3-0.x86_64.rpm rpm -ivh gpfs.docs-5.0.3-0.noarch.rpm安装完成后,在启动 GPFS 之前,必须构建并安装 GPFS 可移植层。 GPFS 可移植层是一个可加载的内核模块,它允许 GPFS 守护进程与操作系统交互。 4.2 配置环境变量 打开root用户的.bash_profile文件,添加如下内容。 vim /root/.bash_profile
if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/lpp/mmfs/bin export PATH4.3 构建 GPFS 可移植层
[root@gpfsnode1 ~]# /usr/lpp/mmfs/bin/mmbuildgpl --build-package注意:
- GPFS 可移植性层特定于当前内核和 GPFS 版本。如果内核或 GPFS 版本发生变化,则需要构建新的 GPFS 可移植层。
- 尽管操作系统内核可能会升级到新版本,但它们在重新启动后才处于活动状态。因此,必须在重新启动操作系统后为这个新内核构建一个 GPFS 可移植层。
- 在安装新的 GPFS 可移植层之前,请确保先卸载先前版本的 GPFS 可移植层。
Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-3.10.0-229.el7.x86_64-5.0.3-x.x86_64.rpm然后,将生成的包复制到其他机器进行部署。默认情况下,生成的包只能部署到架构、分发级别、Linux 内核和IBM Spectrum Scale维护级别与构建gpfs.gplbin包的机器相同的机器上。但是,可以通过设置将生成的包安装在具有不同 Linux 内核的机器上MM_INSTALL_ONLY安装生成的包之前的环境变量。如果安装 gpfs.gplbin包,则不需要安装 gpfs.gpl包 4.4 创建集群
[root@gpfsnode1 ~]# mmcrcluster -N /tmp/mmfs/nodefile -p gpfsnode1 -s gpfsnode2 -C gpfscluster -A -r /usr/bin/ssh -R /usr/bin/scp参数说明: -N表示节点的配置文件 -p表示主节点 -s表示第二节点 -C集群名称 -A表示当一个节点重启的时候GPFS守护进程不会关闭。 -r和-R都是通信协议。 nodefile是一个文件,其中包含要添加到集群中的节点和节点名称的列表,其内容如下:
gpfsnode1:quorum-manager: gpfsnode2:quorum-manager:注意:GPFS的仲裁机制和ZooKeeper的仲裁机制类似,当有一半以上的节点是quorum时,集群才可以启动,即:quorum >= 1+sizeof(all nodes)/2 配置完成后,就可以通过 Spectrum Scale 内置指令创建集群,所有角色将自动按照事先定义的服务器自动推送与设置。 接受适用节点许可证。
[root@gpfsnode1 ~]# mmchlicense server --accept -N all
从节点使用以下命令启动 GPFS 守护进程和集群。
[root@gpfsnode1 ~]# /usr/lpp/mmfs/bin/mmstartup -N Nodename4.5 创建NSD 创建要与mmcrnsd命令一起使用的 NSD 配置文件。 配置文件内容如下,放在任意位置即可。
%nsd:device=/dev/sdb nsd=data01 servers=gpfsnode1 usage=dataAndMetadata failureGroup=-1 pool=system %nsd:device=/dev/sdb nsd=data02 servers=gpfsnode2 usage=dataAndMetadata failureGroup=-1 pool=system参数说明: nsd (网络共享磁盘)表示网络共享磁盘的名称 device 表示真正的设备 servers 表示节点 usage 表示用途,metadataOnly(用于存放元数据) failureGroup 失败组 pool 存储池 注意: NSD 配置文件中使用的服务器名称必须可由系统解析。 使用以下命令创建 NSD:
[root@gpfsnode1 ~]# mmcrnsd -F /gpfsfile/NSDfile
查看nsd:
[root@gpfsnode1 ~]# mmlsnsd -m启动集群:
[root@gpfsnode1 ~]# mmstartup -a查看集群状态:
[root@gpfsnode1 ~]# mmgetstate -Las4.6 创建gpfs文件系统 使用以下命令创建 GPFS 文件系统。
[root@gpfsnode1 ~]# mmcrfs gpfs -F /tmp/mmfs/nsdfile -A yes -B 1M -j hcluster -m 2 -r 2 -M 3 -R 3 -T /gpfs --metadata-block-size 256K官方给出的命令如下(一般用这个创建):
[root@gpfsnode1 ~]# mmcrfs gpfs -F /tmp/mmfs/nsdfile -k nfs4参数说明: gpfs:表示文件系统的名称 -F:指定NSD配置文件 -A:当系统守护进程启动时该项设置为yes -B:指定数据块的大小,其值必须是16k,64k,128k,256k,512k,1M,2M,4M,8M,16M. -j:指定映射类型 -m:元数据副本数的默认值 -M:元数据副本数的最大值 -r:数据副本数的默认值 -R:数据副本数的最大值 -T:挂载点 –metadata-block-size:元数据节点块的大小 4.7 挂载文件系统 使用如下命令挂载gpfs文件系统,挂载成功后使用df命令可以查询到。
[root@gpfsnode1 ~]# mmmount gpfs /gpfs -N all
查询挂载是否成功,看见文件系统为gpfs的表示挂载成功。
[root@gpfsnode1 ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 92G 14G 78G 15% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 9.0M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 143M 872M 15% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 gpfs gpfs 600G 6.7G 594G 2% /gpfs查询文件系统
[root@gpfsnode1 ~]# mmgetstate -Las Node number Node name Quorum Nodes up Total nodes GPFS state Remarks ------------------------------------------------------------------------------------- 1 gpfsnode1 2 2 3 active quorum node 2 gpfsnode2 2 2 3 active quorum node 3 gpfsclient 2 2 3 active Summary information --------------------- Number of nodes defined in the cluster: 3 Number of local nodes active in the cluster: 3 Number of remote nodes joined in this cluster: 0 Number of quorum nodes defined in the cluster: 2 Number of quorum nodes active in the cluster: 2 Quorum = 2, Quorum achieved4.8 创建文件集
[root@gpfsnode1 ~]# mmcrfileset gpfs sqdb [root@gpfsnode1 ~]# mmlinkfileset gpfs sqdb -J /gpfs/sqdbfolder [root@gpfsnode1 ~]# mmlsfileset gpfs4.9 其他操作
查看节点 # mmlsnode 查看集群 # mmlscluster -Lsa 增加节点(如下为增加服务端,也可以修改server的参数后增加客户端) # mmaddnode -N gpfs04:quorum # mmchlicense server --accept -N gpfs04 关闭所有节点 # mmshutdown -a # mmshutdown -N nodename 查看配置 # mmlsconfig all 修改配置 # mmchconfig 使用以下命令卸载 GPFS 文件系统并停止所有节点上的 GPFS。 # mmshutdown -a 卸载gpfs分区 # mmumount gpfs 使用以下命令在可用文件系统之一上配置 CES 共享根文件系统。 # mmchconfig cesSharedRoot=/gpfs/fs0 使用以下命令在集群中的所有节点上启动 GPFS。 # mmstartup -a # mmstartup -N nodename 使用以下命令在所需节点上启用 CES。 # mmchnode --ces-enable -N prnode1,prnode2,prnode3 使用以下命令将协议节点的 IP 地址添加到 CES。 # mmces address add --ces-ip 198.51.100.2 # mmces address add --node prnode1 --ces-ip 198.51.100.2 使用以下命令验证 CES 配置。 # mmlscluster --ces # mmces address list更改自动挂载点 官方解释: 每个 GPFS 文件系统都有一个与之关联的默认挂载点。可以使用mmcrfs和mmchfs命令的-T选项指定和更改此挂载点。 如果您在创建文件系统时没有指定挂载点,GPFS 会将默认挂载点设置为/gpfs/ DeviceName。
mmcrfs -T mmchfs -T具体使用方式和其他命令使用方式可以参考官方网址:https://www.ibm.com/docs/en/spectrum-scale/5.0.3?topic=reference-mmchfs-command 五、添加GPFS 客户端操作 通过上述操作,已经将GPFS群集搭建完成,并且已经生成文件系统和共享磁盘供客户端调用。之前已经介绍过GPFS是C/S结构的,为了让OpenStack中的nova、glance和cinder可以使用共享磁盘,本章将通过在OpenStack中安装GPFS客户端的方式,将共享磁盘挂载到云环境中的计算节点、镜像节点以及块存储节点。 5.1 安装GPFS软件 安装软件可以参考文章开头的操作过程,GPFS服务器端的安装和客户端的安装没有任何区别,软件的依赖关系也是一样的。 5.2 修改Host文件 在客户端修改/etc/hosts,加入GPFS的三台服务器,同时确保所有服务器和客户端可以免密码登陆,具体设置方法可以参考本章GPFS安装与配置。 5.3 创建客户端Nodefile 前面已经介绍,GPFS的客户端和服务器的区别主要是靠配置文件中的角色定义所决定。为了批量安装和配置好客户端,本项目将采用Nodefile方式对客户端进行单独安装。编辑addnodefile文件:
gpfsclient:client5.4 添加客户端节点 在GPFS集群的任意节点上执行mmaddnode命令,将客户端节点加入到现有集群中,-N指定前面创建addnodefile文件。
[root@gpfsclient ~]# mmaddnonde -N addnodefile同样,安装完成后,需要通过mmchlicense命令同意客户端的许可,并通过mmstartup启动客户端服务,通过mmgetstate命令查看群集状态:
[root@gpfsclient ~]# mmchlicense client --accept -N gpfsclient [root@gpfsclient ~]# mmstartup -N gpfsclient [root@gpfsclient ~]# mmmount gpfs /gpfs -N gpfsclient
节点服务启动后,GPFS文件系统会自动挂载,可以通过df -h命令查看。
5.5 其他操作 重新挂载 如果需要对gpfs文件重新挂载,那么先使用mmumount gpfs卸载后,重新执行mmmount 进行挂载。[root@gpfsclient ~]# mmumount gpfs [root@gpfsclient ~]# mmmount gpfs /gpfs -N ${CLIENT_NODE_NAME}关于环境重启后恢复环境的操作: 如果需要重新启动环境,需要执行如下步骤才能恢复环境到正常情况 1.重启Server端的服务。
[root@gpfnode1 ~]# mmstartup -a
2.挂载Server端的gpfs目录。
[root@gpfnode1 ~]# mmmount gpfs /gpfs -N all3.重启Client端的服务,如果gpfs自动挂载的路径不对,需要手动卸载gpfs的目录重新挂载。
[root@gpfsclient ~]# mmstartup -N gpfsclient 卸载:mmumount gpfs [root@gpfsclient ~]# mmmount gpfs /gpfs -N gpfsclient结束语 通过在 Redhat 上实现GPFS群集的部署与在云计算方面的应用,可以更多的了解其优秀的特性,提高存储性能及云计算的灵活性、扩展性。同时通过本文,可以让读者对GPFS有一个直观的了解和认识,不仅在Linux平台,在AIX和Windows平台上,GPFS也有不俗的表现。 gpfs 高级配置、升级等其他操作请查看官网手册 gpfs相关命令使用方式查询链接 https://www.ibm.com/docs/en/spectrum-scale/5.0.3?topic=command-reference
搭建步骤到此结束
如果有什么建议或者不明白的地方,欢迎留言或者私信我,看见第一时间回复。
本篇文档中存在的已知问题欢迎各路大牛指出。
原文链接:https://www.cnblogs.com/despotic/p/17304002.html