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 の設定」 に記載されています。