GPFS通用並行文件系統之Centos5.8部署gpfs集羣


       GPFS文件系統可以橫跨在全部主機上,分佈在全部磁盤上,條帶化讀寫,高性能。信令管理機制,併發性好。可配置failgroup組,可用性高。下面是GPFS集羣的部署過程......node



1.環境準備:

yum install -y compat-libstdc++-33 rpm-build kernel-headers kernel-devel imake gcc-c++  libstdc++ redhat-lsbios


2.GPFS安裝:

多臺服務器都要安裝c++

rpm -ivh gpfs.base-3.4.0-0.x86_64.rpmweb

rpm -ivh gpfs.docs-3.4.0-0.noarch.rpm服務器

rpm -ivh gpfs.gpl-3.4.0-0.noarch.rpm併發

rpm -ivh gpfs.msg.en_us-3.4.0-0.noarch.rpmdom


[root@Web02_a base]# rpm -qa|grep gpfsssh

gpfs.msg.en_US-3.4.0-0async

gpfs.gpl-3.4.0-0ide

gpfs.base-3.4.0-0

gpfs.docs-3.4.0-0


3.GPFS升級

多臺服務器都要安裝

rpm -Uvhgpfs.base-3.4.0-21.x86_64.update.rpm

rpm -Uvh gpfs.docs-3.4.0-21.noarch.rpm

rpm -Uvh gpfs.gpl-3.4.0-21.noarch.rpm

rpm -Uvh gpfs.msg.en_US-3.4.0-21.noarch.rpm


[root@Web02_a update]# rpm -qa|grep gpfs

gpfs.gpl-3.4.0-21

gpfs.msg.en_US-3.4.0-21

gpfs.base-3.4.0-21

gpfs.docs-3.4.0-21


4.編譯GPFS源碼

多臺服務器都要安裝

[root@Web02_a update]# cd/usr/lpp/mmfs/src/

[root@Web02_a src]# makeLINUX_DISTRIBUTION=REDHAT_AS_LINUX Autoconfig

[root@Web02_a src]# make World

[root@Web02_a src]# make InstallImages

[root@Web02_a src]# make rpm     #生成rpm包,生成路徑會有提示

[root@Web02_a src]# rpm -ivh /usr/src/redhat/RPMS/x86_64/gpfs.gplbin-2.6.18-308.el5-3.4.0-21.x86_64.rpm


[root@Web02_a src]# rpm -qa|grep gpfs

gpfs.gpl-3.4.0-21

gpfs.msg.en_US-3.4.0-21

gpfs.gplbin-2.6.18-308.el5-3.4.0-21

gpfs.base-3.4.0-21

gpfs.docs-3.4.0-21



5.配置主機的時間同步

若是服務器之間時間不一樣步,部署GPFS集羣時會失敗

[root@Web02_a src]# crontab -l

#time sync by yangrong at 2014-1-24

*/10 * * * * /usr/sbin/ntpdate pool.ntp.org>/dev/null 2>&1


[root@Nagios update]# crontab -l

#time sync by yangrong at 2014-1-24

*/10 * * * * /usr/sbin/ntpdate pool.ntp.org>/dev/null 2>&1



6.配置ssh免密鑰登錄

注:也能夠配置rsh免密鑰,且gpfs默認是使用rsh密鑰登錄遠端主機


[root@Web02_a src]# cd /root/.ssh/

[root@Web02_a .ssh]# ssh-keygen -t rsa

[root@Web02_a .ssh]# cp id_rsa.pubauthorized_keys

[root@Web02_a .ssh]# ssh Web02_a   #登錄本身測試

[root@Web02_a .ssh]# cat /etc/hosts

10.0.0.243 Nagios

10.0.0.236 Web02_a


[root@Web02_a .ssh]# scp -r /root/.sshroot@Nagios:/root  #把密鑰拷貝到其它主機

[root@Web02_a .ssh]# ssh Nagios

Last login: Fri Jan 24 13:59:19 2014 from192.168.2.53

[root@Nagios ~]# exit



[root@Nagios src]# ssh Web02_a

Warning: Permanently added the RSA host keyfor IP address '10.0.0.236' to the list of known hosts.

Last login: Fri Jan 24 15:03:44 2014 fromlocalhost.localdomain

[root@Web02_a ~]# exit


7.配置GPFS環境變量

[root@Web02_a .ssh]# echo 'exportPATH=$PATH:/usr/lpp/mmfs/bin' >>/etc/profile

[root@Web02_a .ssh]# source /etc/profile

[root@Web02_a .ssh]# mmfs

mmfsadm          mmfsd            mmfsfuncs.Linux  

mmfsck           mmfsenv          mmfsmnthelp      

mmfsctl          mmfsfuncs        mmfsmount

#接下來的操做只須要在一臺服務器上操做便可。此時已配置好互信,全部的配置文件信息自動同步到其它的服務器上。

8.建立集羣

[root@Web02_a .ssh]# cat /tmp/gpfsfile

Web02_a:quorum-manager

Nagios:quorum-manager

[root@Web02_a .ssh]# mmcrcluster -N/tmp/gpfsfile -p Web02_a -s Nagios -r /usr/bin/ssh -R /usr/bin/scp

#默認GPFS使用rcp拷貝,使用rsh遠程。此處修改遠程方式和複製方式

#查詢命令:mmlscluster


9.許可配置

[root@Web02_a ~]# mmchlicense server--accept -N Web02_a,Nagios

注:服務節點或quorum節點用server,其它節點用clientclient節點只有掛載文件系統的權限,不能更改配置。命令如:

mmchlicense client --accept -N host_a,host_b



10.配置nsd

當前採用多個分區部署GPFS集羣

當前分區:

[root@Web02_a ~]# fdisk -l /dev/sdb


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


 Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1          13      104391  83  Linux

/dev/sdb2              14          26      104422+ 83  Linux

/dev/sdb3              27          39      104422+ 83  Linux

/dev/sdb4              40         130      730957+  5  Extended

/dev/sdb5              40          52      104391  83  Linux

/dev/sdb6              53          65      104391  83  Linux

/dev/sdb7              66          78      104391  83  Linux


[root@Nagios ~]# fdisk -l /dev/sdb


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


 Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1          13      104391  83  Linux

/dev/sdb2              14          26      104422+ 83  Linux

/dev/sdb3              27          39      104422+ 83  Linux

/dev/sdb4              40         130      730957+  5  Extended

/dev/sdb5              40          52      104391  83  Linux

/dev/sdb6              53          65      104391  83  Linux

/dev/sdb7              66          78      104391  83  Linux


編輯nsd配置

[root@Web02_a ~]# cat /tmp/nsdfile  

/dev/sdb1:Web02_a::dataAndMetadata:01:

/dev/sdb2:Web02_a::dataAndMetadata:01:

/dev/sdb3:Web02_a::dataAndMetadata:01:

/dev/sdb5:Web02_a::dataAndMetadata:01:

/dev/sdb1:Nagios::dataAndMetadata:02:

/dev/sdb2:Nagios::dataAndMetadata:02:

/dev/sdb3:Nagios::dataAndMetadata:02:

#注:此時failgroup1與組2磁盤數並不相同,可是磁盤不等是不要緊的。兩個組至關於raid1


[root@Web02_a ~]# mmcrnsd -F /tmp/nsdfile-v no

#生成NSD文件

[root@Web02_a ~]# cat /tmp/nsdfile

# /dev/sdb1:Web02_a::dataAndMetadata:01:

gpfs1nsd:::dataAndMetadata:01::system

# /dev/sdb2:Web02_a::dataAndMetadata:01:

gpfs2nsd:::dataAndMetadata:01::system

# /dev/sdb3:Web02_a::dataAndMetadata:01:

gpfs3nsd:::dataAndMetadata:01::system

# /dev/sdb5:Web02_a::dataAndMetadata:01:

gpfs4nsd:::dataAndMetadata:01::system

# /dev/sdb1:Nagios::dataAndMetadata:02:

gpfs5nsd:::dataAndMetadata:02::system

# /dev/sdb2:Nagios::dataAndMetadata:02:

gpfs6nsd:::dataAndMetadata:02::system

# /dev/sdb3:Nagios::dataAndMetadata:02:

gpfs7nsd:::dataAndMetadata:02::system

# /dev/sdb5:Nagios::dataAndMetadata:02:

gpfs8nsd:::dataAndMetadata:02::system


11.配置仲裁盤

#仲裁盤做用,當定義的仲裁盤有一半的磁盤不可用時,該集羣不可用。

另:有效磁盤數小於等於整個磁盤數一半時,整個文件系統不可用。

[root@Web02_a ~]# mmchconfig tiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"

Verifying GPFS is stopped on all nodes ...

mmchconfig: Command successfully completed

mmchconfig: Propagating the clusterconfiguration data to all

affected nodes.  This is anasynchronous process.


[root@Web02_a tmp]# mmgetstate -a

[root@Web02_a tmp]# mmgetstate -a


Nodenumber  Node name        GPFS state

------------------------------------------

     1      Web02_a          active

     2      Nagios           active



若是mmgetstate -a狀態爲down,請確保:防火牆關閉,兩臺服務器時間同步(注意時區也要一致),/etc/hosts中沒有對應127.0.0.1字段。

gpfs錯誤日誌路徑:/var/adm/ras/mmfs.log.latest

#修改節點IP   mmchnode --daemon-interface=10.0.0.236 -NWeb02_a


12.建立GPFS文件系統

[root@Web02_a tmp]# mmcrfs vol_data -F/tmp/nsdfile -B 256K -m 2 -r 2 -j cluster -T /vol_data -v no


The following disks of vol_data will beformatted on node Web02_a:

  gpfs1nsd: size 104391 KB

  gpfs2nsd: size 104422 KB

  gpfs3nsd: size 104422 KB

  gpfs4nsd: size 104391 KB

  gpfs9nsd: size 104391 KB

  gpfs10nsd: size 104422 KB

   gpfs11nsd: size 104422 KB

  gpfs12nsd: size 104391 KB

Formatting file system ...

Disks up to size 6.4 GB can be added tostorage pool 'system'.

Creating Inode File

Creating Allocation Maps

Creating Log Files

Clearing Inode Allocation Map

Clearing Block Allocation Map

Formatting Allocation Map for storage pool'system'

Completed creation of file system/dev/vol_data.

mmcrfs: Propagating the clusterconfiguration data to all

affected nodes.  This is anasynchronous process.



13.掛載文件系統:

[root@Web02_a ras]# mmmount /vol_data -a

Fri Jan 24 20:04:25 CST 2014: mmmount:Mounting file systems ...

[root@Web02_a ras]# df -hT

Filesystem    Type   Size  Used Avail Use% Mounted on

/dev/sda3     ext3    19G   11G  7.0G 60% /

/dev/sda1     ext3   190M   12M  169M  7% /boot

tmpfs       tmpfs    123M     0 123M   0% /dev/shm

/dev/vol_data gpfs    814M 333M  481M  41% /vol_data


[root@Nagios ras]# df -hT

Filesystem    Type   Size  Used Avail Use% Mounted on

/dev/sda3     ext3   6.6G  3.5G  2.8G 56% /

/dev/sda1     ext3   190M   12M  169M  7% /boot

tmpfs       tmpfs    249M     0 249M   0% /dev/shm

/dev/vol_data gpfs    814M 333M  481M  41% /vol_data


安裝完成。

14.開機自啓動

mmchconfig  autoload=yes

或在/etc/rc.local中添加:/usr/lpp/mmfs/bin/mmstartup -a

15.可靠性測試

downNagiogs服務器測試。看數據是否讀取正常

[root@Web02_a ras]# cd /vol_data/

[root@Web02_a vol_data]# cp /etc/hosts .

[root@Web02_a vol_data]# ll

total 0

-rw-r--r-- 1 root root 375 Jan 26 09:25hosts

[root@Web02_a vol_data]# cat hosts

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1               localhost.localdomain localhostbogon

::1             localhost6.localdomain6 localhost6

10.0.0.236 Web02_a

10.0.0.243 Nagios

[root@Web02_a vol_data]# ssh Nagios

Last login: Sun Jan 26 09:08:28 2014 fromweb02_a

[root@Nagios ~]# /etc/init.d/networkstop    #downNagios服務器網卡

Shutting down interface eth0:

[root@Web02_a vol_data]# mmgetstate -a  #查看狀態已經有一個節點down


Nodenumber  Node name        GPFS state

------------------------------------------

     1      Web02_a          active

     2      Nagios           unknown

[root@Web02_a vol_data]# cat/vol_data/hosts  #還能正常讀取,保證集羣的高可用。

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1               localhost.localdomain localhostbogon

::1             localhost6.localdomain6 localhost6

10.0.0.236 Web02_a

10.0.0.243 Nagios


測試OK

關於GPFS的維護與命令說明待下一篇。。。

相關文章
相關標籤/搜索