引言:本文介紹構建CentOS+GPFS集群的實驗環境,以幫助各位系統管理員進行集群系統搭建及學習使用。本實驗在VMware Workstation 12 Pro上進行,Linux使用CentOS-6.8-x86_64-bin-DVD1.iso,GPFS文件系統使用GPFS4.1.1 for Linux版。
本實驗在 VMware Workstation 12 Pro上 進行,Linux使 用CentOS-6.8-x86_64-bin-DVD1.iso,GPFS文件系統使用GPFS4.1.1 for Linux版。該試驗只是幫助各位系統管理員進行集群系統搭建及學習使用,相關軟件因為涉及版權問題,如果用于生產環境,請購買正版授權及相關技術服務。
1.在VMware中創建兩臺Linux虛擬機,并按照自己的硬件情況適當設置相關參數。建議創建時手工添加一塊網絡適配器,以便更好地模擬實際真實系統環境,同時也可以體驗Linux最新的多網卡綁定(Team)技術。創建完成后如圖1所示。
2.安裝 CetOS6.8,虛擬機啟動后將進入如圖2所示界面。

圖1 在VMware中創建Linux虛擬機

圖2 啟動虛擬機

圖3 選擇Gonme Applications選項
選擇Install CentOS 6選項,即可開始安裝CentOS 6.8,這里沒有什么特別的選項,只需要按照自己的習慣進行安裝即可。建議安裝中在Software Selection選項中選擇Gnome desktop,并在右側選項中選擇Gonme Applications選項,這樣為將來安裝Oracle及管理帶來很多便利(如圖3)。之后,設置其他參數靜待安裝完成。
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 CentOSBase.repo編輯新文件,內容如下:

保存退出。
使用命令mount /dev/sr0 /media/將光盤掛載到/media目錄中,并使用命令yum reoplist進行本地源驗證,系統如果出現如下信息:

說明本地源設置成功。
2.安裝GPFS所需的系統組件,使用命令yum install m4 ksh安 裝 m4、ksh組件包,否則GPFS安裝會提示需要組件包而無法安裝。

圖4 安裝包目錄結構

圖5 基礎包安裝回顯信息

圖6 GPFS文件系統組件升級系統回顯信息
3.上傳GPFS文件系統安裝包,并進行解壓,我獲得的安裝包目錄結構如圖4所示。
其中,base為基礎包,fp為補丁包,需要先進入base目錄使用命令rpm –ivh *.rpm進行基礎包安裝,系統回顯信息如圖5所示。
之后進入fp目錄使用命令rpm -Uvh *.rpm進行GPFS文件系統組件升級,系統會回顯信息如圖6所示。
4.編譯GPFS源碼。在系統中繼續安裝如下組件:compat-libstdc++-33、r p m-build、kerne lheaders.x86_64、kerneldevel-2.6.32-642.el6.x86_64、imake.x86_64、g c c-c++.x 8 6_6 4、libstdc++、redhat-lsb。使用命令yum install compat-libstdc++-33rpm-buildkerne lheaders.x86_64 kerneldevel--2.6.32-642.el6.x86_64 imake.x86_64 gcc-c++.x86_64 libstdc++redhat-lsb進行以上組件安裝,這樣編譯時才能順利通過,否則可能會有各種編譯報錯,無法進行編譯。
之后執行命令cd /usr/lpp/mmfs/src 進入到GPFS安裝目錄中。
接著,執行官方安裝建議命令:


此時系統一定會報如下錯誤:

原因是默認配置文件不支持該操作系統,需要手工編輯配置文件內容,此時需要先終止編譯過程,然后執行如下命令:

使用命令vi /usr/lpp/mmfs/src/config/env.mcr對配置文件進行編輯,修改相關行內容如下:


圖7 配置文件內容

保存退出之后,返回到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安裝該組件包。
1.在虛擬機中創建共享磁盤,方法比較簡單,只要在虛機關機狀態下通過“編輯虛擬機設置”選項在一臺機器中添加需要的硬盤設備,同時將虛擬設備節點選為SCSI1控制器支持的通道(因為操作系統安裝時已經使用了SCSI0控制器作為本地硬盤控制器,共享盤設置需要對虛擬機的.vmx配置文件進行編輯,此項必須進行設置),模式勾選獨立,并復選永久選項。
在試驗中我們增加了4塊5GB的硬盤設備。用戶需要對自己的虛擬機配置文件對照一下實驗配置文件進行修改,文件內容如圖7所示(注釋中添加必須字樣的內容為需要用戶手工添加的內容)。
重啟主機,在兩臺主機上分別執行命令fdisk -l,應該就可以看到新的共享盤符了。
本試驗中兩臺主機中均可以看到/dev/sdb 、/dev/sdc、/dev/sdd、/dev/sde四個新的硬盤設備。
2.建立雙機互信,使用SSH建立雙機互信,分別登錄兩臺主機,執行命令sshkeygen -t rsa 生成密鑰文件,之后分別在各主機上執行命令ssh-copy-id -i/root/.ssh/id_rsa.pub root@對端主機IP地址,之后進行雙機互信登錄測試。
3.創建GPFS雙機集群,雙機互信建立之后,此時可以直接編輯雙機GPFS集群配置文件,使用vi /root/gpfsprofile ,文件內容如下:

之后使用命令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確認創建集群狀況。
4.生成nsd 盤,使用/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde,使用命令 vi/nsdprofile創建配置文件,文件內容如下:

之 后, 使 用 命 令mmcrnsd -F /nsdprofile創建NSD盤。此時系統自動修改/nsdprofile 文件內容如下:

5.啟動GPFS集群,使用命令mmstartup -a啟動GPFS集群軟件,使用命令mmgetstate -a -L查看GPFS集群狀態,檢查GPFS state列,顯示為“active”說明GPFS文件系統正常。
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 tiebreak erDisks=”gpfs1nsd;gpfs2nsd;gpfs3nsd”配置仲裁盤。重新啟動所有節點使用命令mmlscluster、mmlsconfig、mmgetstate -a -L、mount、df -hl對GPFS文件系統及系統掛載節點進行驗證。