2008/03/01

Red Hat Cluster: GNBD, CLVM and GFS・その5・GNBDの設定

Red Hat Cluster: CentOS 5.1上でRHCSを使ってみる』シリーズで構築したクラスタ上にGNBDサーバ・クライアントを構築する。ただし、最新のkernel-xenには問題があるので、クラスタメンバのXen DomUに関しては、前回『Red Hat Cluster: GNBD, CLVM and GFS・その4・CentOS 5.1での注意点』の注意に従ってインストールし直す。

GNBDサーバの設定
クラスタcDom0sのメンバかつXen Dom0であるfs1上にGNBDサーバを構築する。
GNBD init スクリプト』からダウンロードし、サービスとして登録する。
[root@fs1 ~]# cd /etc/init.d/
[root@fs1 init.d]# wget http://funmoco.up.seesaa.net/program/gnbd-srv
--19:12:39--  http://funmoco.up.seesaa.net/program/gnbd-srv
Resolving funmoco.up.seesaa.net... 59.106.28.132, 59.106.28.138, 59.106.28.139,
...
Connecting to funmoco.up.seesaa.net|59.106.28.132|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2164 (2.1K) [text/plain]
Saving to: `gnbd-srv'

100%[=======================================>] 2,164       --.-K/s   in 0.03s

19:12:40 (73.3 KB/s) - `gnbd-srv' saved [2164/2164]

[root@fs1 init.d]# chmod a+x gnbd-srv
[root@fs1 init.d]# ls -l gnbd-srv
-rwxr-xr-x 1 root root 2164 Jul 30  2007 gnbd-srv
[root@fs1 init.d]# chkconfig --add gnbd-srv
[root@fs1 init.d]#
続いて、エクスポートする論理ボリューム(logical volume, LV)を作成する。
[root@fs1 init.d]# lvcreate --name=LogVolGNBD01 --size=4G /dev/VolGroupXX
Logical volume "LogVolGNBD01" created
[root@fs1 ~]# 
このLVをcdom0sv01という名前でエクスポートするよう、/etc/gnbdtabを以下の通り作成する。
export  cdom0sv01       /dev/VolGroupXX/LogVolGNBD01
GNBDサーバデーモンgnbd_servおよびユーティリティgnbd_exportのオプションを指定する/etc/sysconfig/gnbdは以下の通り。
# gnbd_serv options
GNBD_SERV_OPTS=

# gnbd_export options
GNBD_EXPORT_OPTS=
この後、fs1を再起動し、サービスgnbd-srvが正常に起動されることを確認する。

GNBDクライアントの設定
クラスタcDomUsのメンバ・Xen DomUであるdc[123]をGNBDクライアントとして設定する。以下の作業を、dc[123]上で実施する。
サーバと同じく、『GNBD init スクリプト』からスクリプトをダウンロードする。
[root@dc1 ~]# cd /etc/init.d/
[root@dc1 init.d]# wget http://funmoco.up.seesaa.net/program/gnbd-client
--11:01:17--  http://funmoco.up.seesaa.net/program/gnbd-client
Resolving funmoco.up.seesaa.net... 59.106.28.132, 59.106.28.138, 59.106.28.139, ...
Connecting to funmoco.up.seesaa.net|59.106.28.132|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1494 (1.5K) [text/plain]
Saving to: `gnbd-client'

100%[=======================================>] 1,494       --.-K/s   in 0.03s

11:01:18 (56.9 KB/s) - `gnbd-client' saved [1494/1494]

[root@dc1 init.d]# chmod a+x gnbd-client
[root@dc1 init.d]#
続いて、このgnbd-clientをサービスとして登録するのだが、『Red Hat Cluster: GNBD, CLVM and GFS・その4・CentOS 5.1での注意点』で指摘した通り、サービスcmanの後、サービスclvmdの前に起動されるよう、修正する必要がある。調べてみよう。
[root@dc1 init.d]# egrep "^# *chkconfig" cman clvmd gnbd-client
cman:# chkconfig: - 21 79
clvmd:# chkconfig: - 24 76
gnbd-client:# chkconfig: 2345 95 04
[root@dc1 init.d]#
起動順は、cmanが21、clvmdが24。停止順は、clvmdが76、cmanが79。サービスgnbd-clientの起動順を22、停止順を78に修正する。
[root@dc1 init.d]# cp -p gnbd-client gnbd-client.orig
[root@dc1 init.d]# sed 's/^\(# *chkconfig: *[0-9]\+\) [0-9]\+ [0-9]\+/\1 22 78/' < gnbd-client.orig  > gnbd-client
[root@dc1 init.d]# chkconfig --add gnbd-client
[root@dc1 init.d]#
設定ファイル/etc/gnbdtabでは、fs1からインポートするよう設定する。
import  fs1.xencluster
設定ファイル/etc/sysconfig/gnbdでは、オプションを指定する(というか、何も設定しない)
# gnbd_import options
GNBD_IMPORT_OPTS=
再起動し、正しくインポートされることを確認する。
[root@dc1 ~]# shutdown -r now

Broadcast message from root (xvc0) (Sat Mar  1 11:24:04 2008):

The system is going down for reboot NOW!
<<略>>
INIT: version 2.86 booting
Welcome to  CentOS release 5 (Final)
Press 'I' to enter interactive startup.
Setting clock  (localtime): Sat Mar  1 11:24:58 JST 2008 [  OK  ]
<<略>>
Mounting local filesystems:  [  OK  ]
Enabling local filesystem quotas:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
INIT: Entering runlevel: 3
Entering non-interactive startup
Starting monitoring for VG VolGroup00:   connect() failed on local socket: Connection refused
WARNING: Falling back to local file-based locking.
Volume Groups with the clustered attribute will be inaccessible.
2 logical volume(s) in volume group "VolGroup00" monitored
[  OK  ]
<<略>>
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: [  OK  ]
resending requests
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
[  OK  ]
<<略>>
CentOS release 5 (Final)
Kernel 2.6.18-53.el5xen on an i686

dc1.xencluster login: root
Password: パスワード
Last login: Sat Mar  1 11:02:09 on xvc0
[root@dc1 ~]# gnbd_import -l
Device name : cdom0sv01
----------------------
Minor # : 0
sysfs name : /block/gnbd0
Server : fs1.xencluster
Port : 14567
State : Open Connected Clear
Readonly : No
Sectors : 8388608

[root@dc1 ~]#
正しくブロックデバイスcdom0sv01がfs1からインポートされていることがわかる。

解説: その1その2その3
kernel-xenにバグか?
その4・CentOS 5.1での注意点
その5・GNBDの設定
その6・CLVMの設定
その7・GFS2の設定
その8・Congaからの設定
その9・ベンチマーク
その10・考察と予告

0 件のコメント: