引言:本文介紹構建CentOS+GPFS集群的實驗環(huán)境,以幫助各位系統(tǒng)管理員進行集群系統(tǒng)搭建及學習使用。本實驗在VMware Workstation 12 Pro上進行,Linux使用CentOS-6.8-x86_64-bin-DVD1.iso,GPFS文件系統(tǒng)使用GPFS4.1.1 for Linux版。
本實驗在 VMware Workstation 12 Pro上 進行,Linux使 用CentOS-6.8-x86_64-bin-DVD1.iso,GPFS文件系統(tǒng)使用GPFS4.1.1 for Linux版。該試驗只是幫助各位系統(tǒng)管理員進行集群系統(tǒng)搭建及學習使用,相關軟件因為涉及版權問題,如果用于生產環(huán)境,請購買正版授權及相關技術服務。
1.在VMware中創(chuàng)建兩臺Linux虛擬機,并按照自己的硬件情況適當設置相關參數。建議創(chuàng)建時手工添加一塊網絡適配器,以便更好地模擬實際真實系統(tǒng)環(huán)境,同時也可以體驗Linux最新的多網卡綁定(Team)技術。創(chuàng)建完成后如圖1所示。
2.安裝 CetOS6.8,虛擬機啟動后將進入如圖2所示界面。
圖1 在VMware中創(chuàng)建Linux虛擬機
圖2 啟動虛擬機
圖3 選擇Gonme Applications選項
選擇Install CentOS 6選項,即可開始安裝CentOS 6.8,這里沒有什么特別的選項,只需要按照自己的習慣進行安裝即可。建議安裝中在Software Selection選項中選擇Gnome desktop,并在右側選項中選擇Gonme Applications選項,這樣為將來安裝Oracle及管理帶來很多便利(如圖3)。之后,設置其他參數靜待安裝完成。
1.創(chuàng)建本地源,因為安裝GPFS時,需要Linux系統(tǒng)相關軟件組件,因此為了方便安裝這些組件,我們需要使用本地源系統(tǒng)進行快速安裝。在使用YUM進行安裝時,將自動為我們校驗和安裝組件依賴包,非常方便。創(chuàng)建本地源過程介紹如下。
使用命令mkdir /etc/yum.repo.d/repoBase在/etc/yum.repo.d目錄下創(chuàng)建repoBase目錄,用于備份系統(tǒng)默認的repo文件;進入/etc/yum.repo.d/目錄,使用命令mv *.repo./repoBase/將當前目錄中所有repo文件移動到repoBase目錄下。
使用命令vi CentOSBase.repo編輯新文件,內容如下:
保存退出。
使用命令mount /dev/sr0 /media/將光盤掛載到/media目錄中,并使用命令yum reoplist進行本地源驗證,系統(tǒng)如果出現如下信息:
說明本地源設置成功。
2.安裝GPFS所需的系統(tǒng)組件,使用命令yum install m4 ksh安 裝 m4、ksh組件包,否則GPFS安裝會提示需要組件包而無法安裝。
圖4 安裝包目錄結構
圖5 基礎包安裝回顯信息
圖6 GPFS文件系統(tǒng)組件升級系統(tǒng)回顯信息
3.上傳GPFS文件系統(tǒng)安裝包,并進行解壓,我獲得的安裝包目錄結構如圖4所示。
其中,base為基礎包,fp為補丁包,需要先進入base目錄使用命令rpm –ivh *.rpm進行基礎包安裝,系統(tǒng)回顯信息如圖5所示。
之后進入fp目錄使用命令rpm -Uvh *.rpm進行GPFS文件系統(tǒng)組件升級,系統(tǒng)會回顯信息如圖6所示。
4.編譯GPFS源碼。在系統(tǒng)中繼續(xù)安裝如下組件: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進行以上組件安裝,這樣編譯時才能順利通過,否則可能會有各種編譯報錯,無法進行編譯。
之后執(zhí)行命令cd /usr/lpp/mmfs/src 進入到GPFS安裝目錄中。
接著,執(zhí)行官方安裝建議命令:
此時系統(tǒng)一定會報如下錯誤:
原因是默認配置文件不支持該操作系統(tǒng),需要手工編輯配置文件內容,此時需要先終止編譯過程,然后執(zhí)行如下命令:
使用命令vi /usr/lpp/mmfs/src/config/env.mcr對配置文件進行編輯,修改相關行內容如下:
圖7 配置文件內容
保存退出之后,返回到src目錄,繼續(xù)執(zhí)行命令make World; make InstallImages; make rpm
執(zhí)行命令cd /root/rpmbuild/RPMS/x86_64/ 進入該目錄并執(zhí) 行rpm -ivh gpfs.gplbin-2.6.32-642.el6.x86_64-4.1.1-4.x86_64.rpm安裝該組件包。
1.在虛擬機中創(chuàng)建共享磁盤,方法比較簡單,只要在虛機關機狀態(tài)下通過“編輯虛擬機設置”選項在一臺機器中添加需要的硬盤設備,同時將虛擬設備節(jié)點選為SCSI1控制器支持的通道(因為操作系統(tǒng)安裝時已經使用了SCSI0控制器作為本地硬盤控制器,共享盤設置需要對虛擬機的.vmx配置文件進行編輯,此項必須進行設置),模式勾選獨立,并復選永久選項。
在試驗中我們增加了4塊5GB的硬盤設備。用戶需要對自己的虛擬機配置文件對照一下實驗配置文件進行修改,文件內容如圖7所示(注釋中添加必須字樣的內容為需要用戶手工添加的內容)。
重啟主機,在兩臺主機上分別執(zhí)行命令fdisk -l,應該就可以看到新的共享盤符了。
本試驗中兩臺主機中均可以看到/dev/sdb 、/dev/sdc、/dev/sdd、/dev/sde四個新的硬盤設備。
2.建立雙機互信,使用SSH建立雙機互信,分別登錄兩臺主機,執(zhí)行命令sshkeygen -t rsa 生成密鑰文件,之后分別在各主機上執(zhí)行命令ssh-copy-id -i/root/.ssh/id_rsa.pub root@對端主機IP地址,之后進行雙機互信登錄測試。
3.創(chuàng)建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創(chuàng)建集群,注意指定SSH方式,命令參數含義如下:
-C oracle_gpfs_cluster設定集群名稱
-U bgbc定義域名
-N /root/gpfsprofile指定節(jié)點文件名
-p oraclenode1 指定主NSD 服務器為 oraclenode1
-s oraclenode2 指定備NSD 服務器為oraclenode2
使用命令mmchlicense server --accept -N oraclenode1,oraclenode2接受許可協(xié)議。使用命令mmlscluster確認創(chuàng)建集群狀況。
4.生成nsd 盤,使用/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde,使用命令 vi/nsdprofile創(chuàng)建配置文件,文件內容如下:
之 后, 使 用 命 令mmcrnsd -F /nsdprofile創(chuàng)建NSD盤。此時系統(tǒng)自動修改/nsdprofile 文件內容如下:
5.啟動GPFS集群,使用命令mmstartup -a啟動GPFS集群軟件,使用命令mmgetstate -a -L查看GPFS集群狀態(tài),檢查GPFS state列,顯示為“active”說明GPFS文件系統(tǒng)正常。
6.創(chuàng)建GPFS文件系統(tǒng),在所有節(jié)點中使用命令mkdir /gpfs創(chuàng)建GPFS文件系統(tǒng)掛載點,并在任意節(jié)點執(zhí)行命令mmcrfs /gpfs gpfs_lv -F /nsdprofile-A yes -n 30 -v no 系統(tǒng)將創(chuàng)建設備為gpfs_lv的GPFS文件系統(tǒng)設備,此時可以進入/dev目錄進行查看驗證。使用命令mount /gpfs掛載文件系統(tǒng)。使用命令mmchconfig autoload=yes將GPFS集群設置為開機自啟模式。使用命令mmchconfig tiebreak erDisks=”gpfs1nsd;gpfs2nsd;gpfs3nsd”配置仲裁盤。重新啟動所有節(jié)點使用命令mmlscluster、mmlsconfig、mmgetstate -a -L、mount、df -hl對GPFS文件系統(tǒng)及系統(tǒng)掛載節(jié)點進行驗證。