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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-10 (火) 16:27:51 (3335d)