Xen Dom0
fs1
がエクスポートしたgnbdブロックデバイス、cdom0sv01は、各Xen DomU dc[123]
上では、/dev/gnbd0
という名前でアクセスできる。[root@dc1 ~]# gnbd_import -l Device name : cdom0sv01 ---------------------- Minor # : 0 sysfs name : /block/gnbd0 Server : fs1.xencluster Port : 14567 State : Close Connected Clear Readonly : No Sectors : 8388608 [root@dc1 ~]#このブロックデバイス上に、物理ボリューム(physical volume, PV)を作成する。
[root@dc1 ~]# pvcreate /dev/gnbd0 Physical volume "/dev/gnbd0" successfully created [root@dc1 ~]# pvdisplay /dev/gnbd0 --- NEW Physical volume --- PV Name /dev/gnbd0 VG Name PV Size 4.00 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID aW5HFa-hCqa-ln2R-O3nU-TT0p-b6nQ-jS8kQh [root@dc1 ~]#ここまでは、普通の(非クラスタ)PVの場合の操作と同じ。
続いて、このPVを使って、クラスタ対応ボリュームグループ(volume group, VG) VGcDomUs00を作成する。
[root@dc1 ~]# vgcreate --clustered y VGcDomUs00 /dev/gnbd0 Volume group "VGcDomUs00" successfully created [root@dc1 ~]# vgdisplay VGcDomUs00 --- Volume group --- VG Name VGcDomUs00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 4.00 GB PE Size 4.00 MB Total PE 1023 Alloc PE / Size 0 / 0 Free PE / Size 1023 / 4.00 GB VG UUID EBMdIF-8261-p0Gp-olFY-ciAn-IfD1-x6Bnhk [root@dc1 ~]#他の資料では、ここで論理ボリュームマネージャにクラスタ対応を指示するため、
lvmconf --enable-cluster
を実行(あるいは、/etc/lvm/lvm.conf
内でlocking_type = 3
を指定)せよ、とある場合もあるが、これは既にCongaによって実行されているので不要。ここで、VGcDomUs00を共有しているクラスタメンバ
dc[123]
で、サービスclvmdを再起動(あるいは、OSごと再起動)する必要がある。[root@dc1 ~]# service clvmd restart Deactivating VG VGcDomUs00: 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] Stopping clvm:[ OK ] Starting clvmd: [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] [root@dc1 ~]# <<略>> [root@dc2 ~]# service clvmd restart Deactivating VG VGcDomUs00: 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] Stopping clvm:[ OK ] Starting clvmd: [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] [root@dc2 ~]# <<略>> [root@dc3 ~]# service clvmd restart Deactivating VG VGcDomUs00: 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] Stopping clvm:[ OK ] Starting clvmd: [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] [root@dc3 ~]#これで、各クラスタメンバ
dc[123]
上でVGcDomUs00に対してロックが働き、正常に操作できるようになった。あるノードで、VGcDomUs00上にLV LVGFS00を作成すると、他のノードからもそれを確認できる。正しく作成されていれば、LVGFS00の状態がactiveになる。
[root@dc3 ~]# lvcreate --extents=1023 --name=LVGFS00 VGcDomUs00 Logical volume "LVGFS00" created [root@dc3 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% LVGFS00 VGcDomUs00 -wi-a- 4.00G LogVol00 VolGroup00 -wi-ao 3.34G LogVol01 VolGroup00 -wi-ao 544.00M [root@dc3 ~]# lvdisplay /dev/VGcDomUs00/LVGFS00 --- Logical volume --- LV Name /dev/VGcDomUs00/LVGFS00 VG Name VGcDomUs00 LV UUID yNHwzC-Z3o5-XrnK-BgdY-O1py-WdW1-FO2zr0 LV Write Access read/write LV Status available # open 0 LV Size 4.00 GB Current LE 1023 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:2 [root@dc3 ~]# <<略>> [root@dc2 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% LVGFS00 VGcDomUs00 -wi-a- 4.00G LogVol00 VolGroup00 -wi-ao 3.34G LogVol01 VolGroup00 -wi-ao 544.00M [root@dc2 ~]# <<略>> [root@dc1 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% LVGFS00 VGcDomUs00 -wi-a- 4.00G LogVol00 VolGroup00 -wi-ao 3.34G LogVol01 VolGroup00 -wi-ao 544.00M [root@dc1 ~]#ただし、LVGFS00はマウントされていないので、オープン状態にはなっていない。
各
dc[123]
を再起動すると、VGcDomUs00がclvmdによって認識されていることを確認できる。[root@dc1 ~]# shutdown -r now <<略>> Deactivating VG VGcDomUs00: 0 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] Stopping clvm:[ OK ] Stopping cluster: Stopping fencing... done Stopping cman... failed /usr/sbin/cman_tool: Error leaving cluster: Device or resource busy [FAILED] <<略>> INIT: version 2.86 booting Welcome to CentOS release 5 (Final) Press 'I' to enter interactive startup. <<略>> Starting cluster: Loading modules... DLM (built Nov 12 2007 03:26:48) installed GFS2 (built Nov 12 2007 03:27:12) installed done Mounting configfs... done Starting ccsd... done Starting cman... done Starting daemons... done Starting fencing... done [ OK ] Starting GNBD Client: resending requests [ OK ] Starting system message bus: [ OK ] Starting clvmd: dlm: Using TCP for communications dlm: connecting to 1 dlm: got connection from 2 dlm: got connection from 1 [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active 1 logical volume(s) in volume group "VGcDomUs00" now active [ OK ] Mounting other filesystems: [ OK ] <<略>> CentOS release 5 (Final) Kernel 2.6.18-53.el5xen on an i686 dc1.xencluster login:
追記(2008/2/3):
GNBDサーバ上でGNBDクライアント側LVが認識されないようにするには、『CLVMの設定・補足』を参照。
解説: その1、その2、その3
kernel-xenにバグか?
その4・CentOS 5.1での注意点
その5・GNBDの設定
その6・CLVMの設定
その7・GFS2の設定
その8・Congaからの設定
その9・ベンチマーク
その10・考察と予告
0 件のコメント:
コメントを投稿