*GFS2 [#e15ab66e]

**GFS2とは [#w403e39f]

Global File System 2 の略。

サーバ同士で同一のディスクを共有し利用することができる。

環境は Fedora 20 。

linux kernel 3.17 あたりでは、現時点ではできない

** GFS2 の設定 [#w403e39f]

*** install [#z0597e95]

 yum install kernel-modules-extra
 yum install gfs2-utils lvm2-cluster corosync dlm pacemaker

*** module があるか確認 [#z0597e95]

 $ lsmod | grep gfs2

 $ lsmod | grep dlm

*** disk format [#z0597e95]

接続されているディスクの一覧

 $ fdisk -l

ディスクのフォーマット
sample 

 $ fdisk /dev/sdb 

新しくパーティションを作成する

 n

フォーマットタイプ の入力
16進数で入力する
lvm を使用するので 8e を指定

 t

パーティションの確定と書き込み
w で enter をしてしまうとディスクの中身が消えてしまうので注意

 w

*** LVM の設定 [#z0597e95]

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 の設定 [#z0597e95]

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 の設定 [#z0597e95]

 $ vi /etc/lvm/lvm.conf

 locking_type = 1

を

 locking_type = 3

にする


*** GFS2 でフォーマット [#z0597e95]

- -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 クラスタの起動 [#z0597e95]

 service pcsd start
 service corosync start
 service dlm start
 service clvmd start

 mount /dev/fcs/fcslv /media/fcs

*** 自動起動の設定 [#z0597e95]

 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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS