GPFS环境搭建

1.安装相关依赖包

[root@localhost ~]# yum install -y compat-libstdc++-33 rpm-build kernel-headers kernel-devel imake gcc-c++  libstdc++ RedHat-lsb ksh

2.在每台主机添加hosts主机名解析,保证每台主机hosts文件一致(每台主机都要执行)

[root@localhost ~]# echo "192.168.1.2  test1">>/etc/hosts

[root@localhost ~]# echo "192.168.1.3  test2">>/etc/hosts

3.主机间配置双向互信(每台主机都要执行)

[root@localhost ~]# ssh-keygen -t rsa

[root@localhost ~]# ssh-copy-id root@192.168.1.2

[root@localhost ~]# ssh-copy-id root@192.168.1.3

4.检查主机的时间同步

在两台主机执行date命令查看时间是否一致,如不一致需修改为一致,可以配置NTP服务器用于时间的同步。

5.安装GPFS软件(每台主机都要执行)

[root@localhost ~]# tar -xvf gpfs.tar

[root@localhost ~]# cd /gpfs/base

[root@localhost~]#rpm -ivh gpfs.base-3.5.0-0.x86_64.rpm gpfs.docs-3.5.0-0.noarch.rpm  gpfs.gpl-3.5.0-0.noarch.rpm  gpfs.msg.en_US-3.5.0-0.noarch.rpm

安装GPFS基础包

[root@localhost~]# cd /gpfs/fp

[root@localhost~]#rpm -Uvh gpfs.base-3.5.0-24.x86_64.update.rpm gpfs.gpl-3.5.0-24.noarch.rpm gpfs.docs-3.5.0-24.noarch.rpm  gpfs.msg.en_US-3.5.0-24.noarch.rpm

安装GPFS升级包

6.编译安装GPFS软件(每台主机都要执行)

[root@localhost~]# cd /usr/lpp/mmfs/src

[root@localhost~]# make LINUX_DISTRIBUTION=REDHAT_AS_LINUX Autoconfig

[root@localhost~]# make World

[root@localhost~]# make InstallImages

[root@localhost~]# make rpm

结尾Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-2.6.32-696.el6.x86_64-3.5.0-24.x86_64.rpm标识的rpm生成位置

[root@localhost~]# cd /root/rpmbuild/RPMS/x86_64/

[root@localhost~]# rpm -ivh gpfs.gplbin-2.6.32-696.el6.x86_64-3.5.0-24.x86_64.rpm

[root@localhost~]# echo 'export PATH=/usr/lpp/mmfs/bin:$PATH'>>/etc/profile

添加GPFS环境变量,注意使用单引号

[root@localhost~]# source /etc/profile

7.创建集群(其中一个节点执行即可)

[root@localhost~]# echo "test1:quorum-manager">>/tmp/gpfs_node.txt

[root@localhost~]# echo "test2:quorum-manager">>/tmp/gpfs_node.txt

[root@localhost~]# mmcrcluster -N /tmp/gpfs_node.txt -p test1 -s test2 -r /usr/bin/ssh -R /usr/bin/scp -C GPFS_test

创建集群

[root@localhost~]# mmchlicense server --accept -N test1,test2

给集群节点加入license

[root@localhost~]# mmstartup -a

启动集群

[root@localhost~]# mmgetstate -a

查看集群状态,所有节点为active,则集群正常启动,此间注意iptables的影响

Node number  Node name        GPFS state
------------------------------------------
       1      test1     active
       2      test2     active

8.创建NSD共享磁盘(后端存储盘需要提前映射到两台主机上)(其中一个节点执行即可)

[root@localhost~]# echo "/dev/sdb:test1::dataAndMetadata:1:sharedisk0">>/tmp/gpfsdisk.txt

[root@localhost~]# echo "/dev/sdc:test1::dataAndMetadata:1:sharedisk1">>/tmp/gpfsdisk.txt

[root@localhost~]# echo "/dev/sdd:test1::dataAndMetadata:1:sharedisk2">>/tmp/gpfsdisk.txt

[root@localhost~]# echo "/dev/sde:test1::dataAndMetadata:1:sharedisk3">>/tmp/gpfsdisk.txt

[root@localhost~]# echo "/dev/sdf:test1::dataAndMetadata:1:sharedisk4">>/tmp/gpfsdisk.txt

[root@localhost~]# mmcrnsd -F /tmp/gpfsdisk.txt

[root@localhost~]# mmchconfig tiebreakerDisks="sharedisk0;sharedisk2;sharedisk4"

创建仲裁盘

[root@localhost~]# mkdir /testgpfs

[root@localhost~]# mmcrfs /testgpfs testgpfs -F /tmp/gpfsdisk.txt -A yes -B 512K

创建GPFS文件系统

[root@localhost~]# mmmount all -a

所有节点挂载GPFS文件系统

[root@localhost~]# df -h

查看挂载点是否正常,注另一节点需要初始化数据,容量显示方面会有些延迟

[root@localhost~]# mmchconfig autoload=yes

设置GPFS文件系统自动挂载

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是检查IBM GPFS部署环境的脚本示例: ```bash #!/bin/bash # GPFS Environment Check Script echo "Checking GPFS dependencies..." # Check required packages are installed rpm -qa | grep -q glibc-2.12 || { echo >&2 "glibc-2.12 not installed!"; exit 1; } rpm -qa | grep -q kernel-headers-$(uname -r) || { echo >&2 "kernel-headers not installed!"; exit 1; } rpm -qa | grep -q kernel-devel-$(uname -r) || { echo >&2 "kernel-devel not installed!"; exit 1; } rpm -qa | grep -q libstdc++-4.4.7 || { echo >&2 "libstdc++-4.4.7 not installed!"; exit 1; } rpm -qa | grep -q numactl-libs || { echo >&2 "numactl-libs not installed!"; exit 1; } echo "Checking GPFS kernel parameters..." # Check required kernel parameters are set sysctl -q fs.file-max | grep -q '^[^#].*5242880' || { echo >&2 "fs.file-max not set to 5242880!"; exit 1; } sysctl -q kernel.shmmax | grep -q '^[^#].*4294967296' || { echo >&2 "kernel.shmmax not set to 4294967296!"; exit 1; } sysctl -q kernel.shmall | grep -q '^[^#].*2097152' || { echo >&2 "kernel.shmall not set to 2097152!"; exit 1; } sysctl -q kernel.sem | grep -q '^[^#].*250 32000 32 512' || { echo >&2 "kernel.sem not set to 250 32000 32 512!"; exit 1; } sysctl -q net.ipv4.ip_local_port_range | grep -q '^[^#].*1024 65535' || { echo >&2 "net.ipv4.ip_local_port_range not set to 1024 65535!"; exit 1; } sysctl -q net.core.rmem_default | grep -q '^[^#].*262144' || { echo >&2 "net.core.rmem_default not set to 262144!"; exit 1; } sysctl -q net.core.wmem_default | grep -q '^[^#].*262144' || { echo >&2 "net.core.wmem_default not set to 262144!"; exit 1; } sysctl -q net.core.rmem_max | grep -q '^[^#].*16777216' || { echo >&2 "net.core.rmem_max not set to 16777216!"; exit 1; } sysctl -q net.core.wmem_max | grep -q '^[^#].*16777216' || { echo >&2 "net.core.wmem_max not set to 16777216!"; exit 1; } echo "GPFS environment check complete." ``` 该脚本检查所需的软件包是否已安装,以及必需的内核参数是否设置为正确的值。如果检查失败,脚本将输出错误消息并退出。如果检查成功,则输出“GPFS environment check complete.”。请注意,该脚本需要以root用户身份运行才能执行sysctl命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值