#
GFS2
#
GFS2とは
Global File System 2 の略。
サーバ同士で同一のディスクを共有し利用することができる。
環境は Fedora 20 。
linux kernel 3.17 あたりでは、現時点ではできない
#
GFS2 の設定
#
install
1
2
|
yum install kernel-modules-extra
yum install gfs2-utils lvm2-cluster corosync dlm pacemaker
|
#
module があるか確認
接続されているディスクの一覧
ディスクのフォーマット
sample
新しくパーティションを作成する
フォーマットタイプ の入力
16進数で入力する
lvm を使用するので 8e を指定
パーティションの確定と書き込み
w で enter をしてしまうとディスクの中身が消えてしまうので注意
#
LVM の設定
Logical Volume Manager の略
パーティションを切り分けたり合成できる
LVM の、physical volume を作成
1
2
|
# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
|
physical volume の確認
Volume Group を作成する
fcs という名前の、 lvm2 cluster に対応した Volume Group を作成
- -c : クラスタ対応の許可
- fcs : Volume Group の名前(任意)
1
2
|
# vgcreate -cy fcs /dev/sdb1
Volume group "fcs" successfully created
|
1
2
3
4
|
# vgs
VG #PV #LV #SN Attr VSize VFree
fcs 1 0 0 wz--n- 1.95t 1.95t
fedora_host 1 2 0 wz--n- 29.31g
|
Logical Volume (LV) を作成する。全体の容量を指定
- -L : LVの容量
- -n : LV の名前
- fcs : 切り分ける VG の名前(今回はわけないで全体を使う)
1
2
3
4
5
6
7
|
# lvcreate -L 1.95t -n fcslv fcs
Rounding up size to full physical extent 1.95 TiB
Logical volume "fcs_lv" created
# vgs
VG #PV #LV #SN Attr VSize VFree
fcs 1 1 0 wz--n- 1.95t 3.20g
fedora_host 1 2 0 wz--n- 29.31g 0
|
「状態が ACTIVE か」「path はどこか」を調べる
1
2
3
4
|
# lvscan
ACTIVE '/dev/fedora_host/swap' [2.98 GiB] inherit
ACTIVE '/dev/fedora_host/root' [26.33 GiB] inherit
ACTIVE '/dev/fcs/fcslv' [1.95 TiB] inherit
|
/dev/fcslv を使用することができる
#
corosync の設定
corosync の設定ファイルの編集
1
|
vim /etc/corosync/corosync.conf
|
以下のように編集する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
totem {
version: 2
secauth: off
cluster_name: bldsvgfs2 // gfs2 のフォーマットに使用する
}
nodelist {
node {
ring0_addr: 10.0.0.9
nodeid: 1
}
node {
ring0_addr: 10.0.0.10
nodeid: 2
}
node {
ring0_addr: 10.0.0.11
nodeid: 3
}
}
quorum {
provider: corosync_votequorum
# two_node: 1
}
|
#
lvm の設定
を
にする
#
GFS2 でフォーマット
- -p lock_dlm : lock manager の指定。今回は dlm を使用する
- -t fileformat:clustername : フォーマットと corosync で設定したクラスタの名前を指定
- -j 3 : journaling 数の指定。GFS2 に接続し、ディスクを使用するホストの数を指定する
1
|
# mkfs.gfs2 -p lock_dlm -t gfs2:bldsvgfs2 -j 3 /dev/fcs/fcslv
|
#
GFS2 クラスタの起動
1
2
3
4
|
service pcsd start
service corosync start
service dlm start
service clvmd start
|
1
|
mount /dev/fcs/fcslv /media/fcs
|
#
自動起動の設定
1
|
systemctl enable pcsd start
|
まだ corosync 以下は順番に実行する必要があると考えているため、
pcsd 以外のプロセスは自動起動に設定していない
自動起動の設定はこんな感じ
1
2
3
|
$ systemctl enable corosync
$ systemctl enable dlm
$ chkconfig clvmd on
|
/etc/fstab を書くのなら
1
|
/dev/fcs/fcslv /media/fcs gfs2 _netdev,noatime,nodiratime 0 0
|