GFS2 †GFS2とは †Global File System 2 の略。 サーバ同士で同一のディスクを共有し利用することができる。 環境は Fedora 20 。 linux kernel 3.17 あたりでは、現時点ではできない GFS2 の設定 †install †yum install kernel-modules-extra yum install gfs2-utils lvm2-cluster corosync dlm pacemaker module があるか確認 †$ lsmod | grep gfs2 $ lsmod | grep dlm disk format †接続されているディスクの一覧 $ fdisk -l ディスクのフォーマット sample $ fdisk /dev/sdb 新しくパーティションを作成する n フォーマットタイプ の入力 16進数で入力する lvm を使用するので 8e を指定 t パーティションの確定と書き込み w で enter をしてしまうとディスクの中身が消えてしまうので注意 w LVM の設定 †Logical Volume Manager の略 パーティションを切り分けたり合成できる LVM の、physical volume を作成 # pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created physical volume の確認 # pvs Volume Group を作成する fcs という名前の、 lvm2 cluster に対応した Volume Group を作成
# vgcreate -cy fcs /dev/sdb1 Volume group "fcs" successfully created # 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) を作成する。全体の容量を指定
# 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 はどこか」を調べる # 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 の設定ファイルの編集 vim /etc/corosync/corosync.conf 以下のように編集する 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 の設定 †$ vi /etc/lvm/lvm.conf locking_type = 1 を locking_type = 3 にする GFS2 でフォーマット †
# mkfs.gfs2 -p lock_dlm -t gfs2:bldsvgfs2 -j 3 /dev/fcs/fcslv GFS2 クラスタの起動 †service pcsd start service corosync start service dlm start service clvmd start mount /dev/fcs/fcslv /media/fcs 自動起動の設定 †systemctl enable pcsd start まだ corosync 以下は順番に実行する必要があると考えているため、 pcsd 以外のプロセスは自動起動に設定していない 自動起動の設定はこんな感じ $ systemctl enable corosync $ systemctl enable dlm $ chkconfig clvmd on /etc/fstab を書くのなら /dev/fcs/fcslv /media/fcs gfs2 _netdev,noatime,nodiratime 0 0 |