11.3. GFS2 の設定

Red Hat Enterprise Linux クラスタリングで Samba を設定するには、2 つの GFS2 ファイルシステムが必要です。1 つは CTDB 用の小規模なファイルシステム、もう 1 つは Samba 共有用のファイルシステムです。以下の例は、これら 2 つの GFS2 ファイルシステムを作成する方法を示しています。
GFS2 ファイルシステムを作成する前に、最初に LVM 論理ボリュームを各ファイルシステム用に作成してください。LVM 論理ボリュームの作成については、『論理ボリュームマネージャの管理』 を参照してください。この例では、以下の論理ボリュームを使用します。
  • Samba 共有でエクスポートされるユーザーデータを保持し、そのデータに合うサイズにする /dev/csmb_vg/csmb_lv。この例では、100GB サイズの論理ボリュームを作成します。
  • 共有の CTDB 状態の情報を格納し、1GB サイズが必要な /dev/csmb_vg/ctdb_lv
クラスター化されたボリュームグループ及び論理ボリュームをクラスターの 1 ノードのみに作成します。
論理ボリュームに GFS2 ファイルシステムを作成するには、mkfs.gfs2 コマンドを実行します。このコマンドは 1 クラスターノードのみで実行します。
/dev/csmb_vg/csmb_lv の論理ボリュームで Samba 共有をホストするファイルシステムを作成するには、次のコマンドを実行します。
[root@clusmb-01 ~]# mkfs.gfs2 -j3 -p lock_dlm -t csmb:gfs2 /dev/csmb_vg/csmb_lv
パラメーターの意味は以下のとおりです。
-j
ファイルシステムで作成するジャーナルの数を指定します。この例では、3 つのノードから成るクラスターを作成します。つまり、ノードごとに 1 つのジャーナルを作成します。
-p
ロッキングプロトコルを指定します。lock_dlm は GFS2 がノード間通信に使用するロッキングプロトコルです。
-t
ロックテーブル名を cluster_name:fs_name の形式で指定します。この例では、cluster.conf ファイルで指定されたクラスター名は csmb です。ファイルシステム名には gfs2 を使用します。
このコマンドの出力は以下のように表示されます。
This will destroy any data on /dev/csmb_vg/csmb_lv.
  It appears to contain a gfs2 filesystem.

Are you sure you want to proceed? [y/n] y

Device:
/dev/csmb_vg/csmb_lv
Blocksize:		4096
Device Size		100.00 GB (26214400 blocks)
Filesystem Size:	100.00 GB (26214398 blocks)
Journals:		3
Resource Groups: 	400
Locking Protocol:  	"lock_dlm"
Lock Table: 		"csmb:gfs2"
UUID:
  94297529-ABG3-7285-4B19-182F4F2DF2D7
この例では、/dev/csmb_vg/csmb_lv ファイルシステムは全ノードの /mnt/gfs2 にマウントされます。このマウントポイントは、/etc/samba/smb.conf ファイル内で path = オプションを使って share ディレクトリの場所として指定する値と一致する必要があります。詳細は 「Samba の設定」 に記載されています。
/dev/csmb_vg/ctdb_lv 論理ボリュームの CTDB 状態の情報をホストするためにファイルシステムを作成するには、次のコマンドを実行します。
[root@clusmb-01 ~]# mkfs.gfs2 -j3 -p lock_dlm -t csmb:ctdb_state /dev/csmb_vg/ctdb_lv
なお、このコマンドで指定するロックテーブル名は /dev/csmb_vg/csmb_lv 上にファイルシステムを作成した例のロックテーブル名とは異なります。これで、ファイルシステムに使用される様々なデバイス用のロックテーブル名と区別します。
mkfs.gfs2 の出力は以下のように表示されます。
This will destroy any data on /dev/csmb_vg/ctdb_lv.
  It appears to contain a gfs2 filesystem.

Are you sure you want to proceed? [y/n] y

Device:
/dev/csmb_vg/ctdb_lv
Blocksize:  		4096
Device Size 		1.00 GB (262144 blocks)
Filesystem Size: 	1.00 GB (262142 blocks)
Journals:		3
Resource Groups: 	4
Locking Protocol: 	"lock_dlm"
Lock Table: 		"csmb:ctdb_state"
UUID:
  BCDA8025-CAF3-85BB-B062-CC0AB8849A03
この例では、/dev/csmb_vg/ctdb_lv ファイルシステムは全ノードの /mnt/ctdb にマウントされます。このマウントポイントは、/etc/sysconfig/ctdb ファイル内で CTDB_RECOVERY_LOCK オプションを使って .ctdb.lock ファイルの場所として指定する値と一致する必要があります。詳細は 「CTDB の設定」 に記載されています。