Mercurial > hg > Document > Growi
view FileSystem/GFS2.md @ 93:04cff9568106
backup 2021-10-05
author | autobackup |
---|---|
date | Tue, 05 Oct 2021 00:10:04 +0900 |
parents | e12992dca4a0 |
children |
line wrap: on
line source
# 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 を作成 - -c : クラスタ対応の許可 - fcs : 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) を作成する。全体の容量を指定 - -L : LVの容量 - -n : LV の名前 - fcs : 切り分ける VG の名前(今回はわけないで全体を使う) ``` # 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 でフォーマット - -p lock_dlm : lock manager の指定。今回は dlm を使用する - -t fileformat:clustername : フォーマットと corosync で設定したクラスタの名前を指定 - -j 3 : journaling 数の指定。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 ```