CentOS6.8+GPFS4.1.1集群实验手册
因为是实验手册,因此本实验在VMware® Workstation 12 Pro上进行,Linux使用CentOS-6.8-x86_64-bin-DVD1.iso,GPFS文件系统使用GPFS4.1.1 for Linux版。该试验只是帮助各位系统管理员进行集群系统搭建及学习使用,相关软件因为涉及版权问题,如果用于生产环境请购买正版授权及相关技术服务。
1、 操作系统安装:
1、1.在VMware中创建两台Linux虚拟机,并按照自己的硬件情况适当设置相关参数,建议创建时再手工添加一块网络适配器,以便更好的模拟实际真实系统环境,同时也可以体验Linux最新的多网卡绑定(Team)技术。创建完成后如下图1:
1、2.安装CetoS6.8,虚拟机启动后将进入如图2所示界面:
用户只需要选择Install CentOS 6选项,即可开始安装CentOS 6.8,这里没有什么特别的选项,用户只需要按照自己的习惯进行安装即可,建议安装中在SOFWTWARE SELECTION选项中选择GNOME desktop并在右侧选项中选择GONME Applications选项,这样为将来安装Oracle及管理带来很多便利,选项如图3所示:
之后设置其它参数静待安装完成。
2、 GPFS安装
2、1.创建本地源,因为安装GPFS时,需要Linux系统相关软件组件,因此为了方便安装这些组件,我们需要使用本地源系统进行快速安装,在使用YUM进行安装时,将自动为我们校验和安装组件依赖包,非常方便。创建本地源过程如下:
使用命令 mkdir /etc/yum.repo.d/repoBase在/etc/yum.repo.d目录下创建repoBase目录,用于备份系统默认的repo文件;进入/etc/yum.repo.d/目录,使用命令mv *.repo ./repoBase/ 将当前目录中所有repo文件移动到repoBase目录下。
使用命令vi CentOS-Base.repo编辑新文件,内容如下:
[cd]
name=CD
baseurl=file:///media
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
保存退出。
使用命令mount /dev/sr0 /media/ 将光盘挂载到/media目录中,并使用命令yum reoplist进行本地源验证,系统如果出现如下信息:
Loaded plugins: fastestmirror,langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
cd CD 9,007
repolist: 9,007
说明本地源设置成功。
2、2.安装GPFS所需系统组件,使用命令yum install m4 ksh安装m4、ksh组件包,否则GPFS安装会提示需要组件包而无法安装。
2、3.上传GPFS文件系统安装包,并进行解压,我获得的安装包目录结构如图4所示:
其中base为基础包,fp为补丁包,需要先进入base目录使用命令rpm –ivh *.rpm进行基础包安装,系统会回显如下内容:
[root@oraclenode2 base]# rpm -ivh *.rpm
Preparing... #################### [100%]
Updating / installing...
1:gpfs.base-4.1.1-0 ##################### [ 17%]
2:gpfs.ext-4.1.1-0 ###################### [ 33%]
3:gpfs.gpl-4.1.1-0 ###################### [ 50%]
4:gpfs.msg.en_US-4.1.1-0 #################### [ 67%]
5:gpfs.gskit-8.0.50-40 ###################### [ 83%]
6:gpfs.docs-4.1.1-0 ##################### [100%]
之后进入fp目录使用命令rpm –Uvh *.rpm进行GPFS文件系统组件升级,系统会回显如下信息:
[root@oraclenode2 fp]# rpm -Uvh *.rpm
Preparing... ########################## [100%]
Updating / installing...
1:gpfs.base-4.1.1-4 ###################### [ 8%]
2:gpfs.ext-4.1.1-4 ####################### [ 17%]
3:gpfs.gpl-4.1.1-4 ####################### [ 25%]
4:gpfs.msg.en_US-4.1.1-4 ################### [ 33%]
5:gpfs.gskit-8.0.50-47 #################### [ 42%]
6:gpfs.docs-4.1.1-4 ##################### [ 50%]
Cleaning up / removing...
7:gpfs.gpl-4.1.1-0 ##################### [ 58%]
8:gpfs.msg.en_US-4.1.1-0 ################### [ 67%]
9:gpfs.docs-4.1.1-0 #################### [ 75%]
10:gpfs.ext-4.1.1-0 #################### [ 83%]
11:gpfs.base-4.1.1-0 ##################### [ 92%]
12:gpfs.gskit-8.0.50-40 ##################### [100%]
2、4.编译GPFS源码,在系统中继续安装如下组件compat-libstdc++-33、rpm-build、kernel-headers.x86_64、kernel-devel-2.6.32-642.el6.x86_64、imake.x86_64、gcc-c++.x86_64、libstdc++、redhat-lsb。使用命令yum install compat-libstdc++-33 rpm-build kernel-headers.x86_64 kernel-devel--2.6.32-642.el6.x86_64 imake.x86_64 gcc-c++.x86_64 libstdc++ redhat-lsb进行以上组件安装,这样编译时才能顺利通过,否则可能会有各种编译报错,无法进行编译。之后执行命令cd /usr/lpp/mmfs/src 进入到GPFS安装目录中,接着执行官方安装建议命令
make LINUX_disTRIBUTION=REDHAT_AS_LINUX Autoconfig
此时系统一定会报如下错误:
cd /usr/lpp/mmfs/src/config; ./configure --genenvonly; if [ $? -eq 0 ]; then /usr/bin/cpp -P def.mk.proto > ./def.mk; exit $? || exit 1; else exit $?; fi
原因是默认配置文件不支持该操作系统,需要手工编辑配置文件内容,此时需要先终止编译过程,然后执行如下命令:
cd /usr/lpp/mmfs/src/config/ ;cp env.mcr.sample env.mcr
使用命令vi /usr/lpp/mmfs/src/config/env.mcr对配置文件进行编辑,修改相关行内容如下:
#define GPFS_ARCH_X86_64
LINUX_disTRIBUTION = REDHAT_AS_LINUX
#define LINUX_KERNEL_VERSION 206320006
KERNEL_HEADER_DIR = /lib/modules/2.6.32-642.el6.x86_64/build/include
KERNEL_BUILD_DIR = /lib/modules/2.6.32-642.el6.x86_64/build
保存退出之后,返回到src目录,继续执行命令make World; make InstallImages; make rpm
执行命令cd /root/rpmbuild/RPMS/x86_64/ 进入该目录并执行rpm -ivh gpfs.gplbin-2.6.32-642.el6.x86_64-4.1.1-4.x86_64.rpm安装该组件包。
3、 GPFS配置使用
3、1.在虚拟机中创建共享磁盘,方法比较简单,只要在虚机关机状态下通过“编辑虚拟机设置”选项在一台机器中添加需要的硬盘设备,同时将虚拟设备节点选为scsi1控制器支持的通道(因为操作系统安装时已经使用了scsi0控制器作为本地硬盘控制器,共享盘设置需要对虚拟机的.vmx配置文件进行编辑,此项必须进行设置),模式勾选独立,并复选永久选项。在试验中我们增加了4块5G的硬盘设备。用户需要对自己的虚拟机配置文件对照一下实验配置文件进行修改,文件内容如下(注释中添加必须字样的内容为需要用户手工添加的内容):
scsi1.shared = "TRUE" //必须
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "VIRTUAL" //必须
disk.locking = "FALSE" //必须
diskLib.dataCacheMaxSize = "0" //必须
diskLib.dataCacheMaxReadAheadSize = "0" //必须
diskLib.dataCacheMinReadAheadSize = "0" //必须
diskLib.dataCachePageSize = "4096" /必须
diskLib.maxUnsyncedWrites = "0" //必须
disk.EnableuUID = "FALSE" //必须
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\Virtual Machines\shared\shared-0.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk" //必须
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\Virtual Machines\shared\shared-1.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk" //必须
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\Virtual Machines\shared\shared-2.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk" //必须
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\Virtual Machines\shared\shared-3.vmdk"
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk" //必须
重启主机,在两台主机上分别执行命令fdisk –l,应该就可以看到新的共享盘符了。本试验中两台主机中均可以看到/dev/sdb 、/dev/sdc、/dev/sdd、/dev/sde四个新的硬盘设备。
3、2.建立双机互信,使用ssh建立双机互信,分别登录两台主机,执行命令ssh-keygen –t rsa 生成密钥文件,之后分别在各主机上执行命令ssh-copy-id –i /root/.ssh/id_rsa.pub root@对端主机IP地址,之后进行双机互信登录测试。
3、3.创建GPFS双机集群,双机互信建立之后,此时可以直接编辑双机GPFS集群配置文件,使用vi /root/gpfsprofile,文件内容如下:
oraclenode1:quorum-manager
oraclenode2:quorum-manager
之后使用命令mmcrcluster -N /root/gpfsprofile -p oraclenode1 -s oraclenode2 -C oracle_gpfs_cluster -r /usr/bin/ssh -R /usr/bin/scp创建集群,注意指定ssh方式,命令参数含义如下:
-C oracle_gpfs_cluster 设定集群名称
-U bgbc定义域名
-N /root/gpfsprofile 指定节点文件名
-p oraclenode1 指定主NSD 服务器为 oraclenode1
-s oraclenode2 指定备NSD 服务器为 oraclenode2
使用命令mmchlicense server --accept -N oraclenode1,oraclenode2接受许可协议。使用命令mmlscluster确认创建集群状况。
3、4. 生成nsd 盘,使用/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde,使用命令 vi /nsdprofile创建配置文件,文件内容如下:
/dev/sdb:::dataAndMetadata::
/dev/sdc:::dataAndMetadata::
/dev/sdd:::dataAndMetadata::
/dev/sde:::dataAndMetadata::
之后使用命令mmcrnsd -F /nsdprofile创建NSD盘。此时系统自动修改/nsdprofile 文件内容如下:
gpfs1nsd:::dataAndMetadata:-1::system
gpfs2nsd:::dataAndMetadata:-1::system
gpfs3nsd:::dataAndMetadata:-1::system
gpfs4nsd:::dataAndMetadata:-1::system
3、5.启动GPFS集群,使用命令mmstartup –a启动GPFS集群软件,使用命令mmgetstate -a –L查看GPFS集群状态,检查GPFS state列,显示为“active”说明GPFS文件系统正常。
3、6.创建GPFS文件系统,在所有节点中使用命令mkdir /gpfs创建GPFS文件系统挂载点,并在任意节点执行命令mmcrfs /gpfs gpfs_lv -F /nsdprofile -A yes -n 30 -v no 系统将创建设备为gpfs_lv的GPFS文件系统设备,此时可以进入/dev目录进行查看验证。使用命令mount /gpfs挂载文件系统。使用命令mmchconfig autoload=yes 将GPFS集群设置为开机自启模式。使用命令mmchconfig tiebreakerdisks=”gpfs1nsd;gpfs2nsd;gpfs3nsd” 配置仲裁盘。重新启动所有节点使用命令mmlscluster、mmlsconfig、mmgetstate –a –L、mount、df –hl对GPFS文件系统及系统挂载节点进行验证。
作者1:解宝琦 作者2:王金国
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。