2017年2月8日水曜日

共有ファイルシステム(corosync&dlm&gfs2その1)

今度はgfs2だ。
こちらも初めて手を出すので、うまく動かせるか分からない。

とは言え、やってみなきゃ分からないので、ガシガシやってみる。

まずはパッケージの確認だ。
(gemini) $ sudo apt-get update
(gemini) $ apt-cache search gfs2
gfs2-utilsってのが該当っぽいな。

ではインストールしてみる。
(gemini) $ sudo apt-get install gfs2-utils

どんなファイルが入ったかな?
(gemini) $ dpkg -L gfs2-utils
あまりドキュメントは無い、というより、manに詳しく書いてあるみたいだ。
(gemini) $ man gfs2
色々複雑そうだ…。

とりあえずファイルシステムを作ってみる。
(gemini) $ sudo mkfs.gfs2 /dev/vg-gfs2/lv-gfs
おっと、オプションが足りないって怒られたわ。

manを見てみたらサンプルが載ってた。ちょっとサンプルに従ってみるか。
(gemini) $ sudo mkfs.gfs2 -t mycluster:mygfs2 \
-p lock_dlm \
-j 2 \
/dev/vg-gfs2/lv-gfs
おや?「シンボリックリンクだけどええか?」って聞かれた。今までファイルシステム作る時、そんなこと聞かれたことなかったが…。まぁ素直にyと答えておこう。どうせ実験環境だし。

ちょっと時間がかかった(10秒程度?)が、無事に出来たようだ。
デバイス名やUUID、Lock table等のパラメータが表示されたな。

これ、後から確認すること出来るんだろうか?
なんか、tunegfs2というコマンドがあるぞ…。これ、もしかしてext2系ファイルシステムで用いるtune2fsのgfs2版か?
(gemini) $ sudo tunegfs2 -l /dev/vg-gfs2/lv-gfs
う~ん。ファイルシステム構築時に表示されたパラメータのうち、Device / Device size / Filesystem size / Journals / Resource groups は表示されず、Block size / Lock protocol / Lock table は表示された…。
それ以外にも、Block shift や Root inodeが表示されたけど、あまり意識しなくて良さそうだ。
とは言え、後から Journals が確認できないのはちょっと面倒かもしれない。
他にオプションやコマンドは無いかな…?

なんか、gfs2_jaddというコマンドが使えそうだけど、これはマウントしているファイルシステムでないと見られないっぽいな…。
マウントしてみるか。
(gemini) $ sudo mkdir /mnt/gfs2
(gemini) $ sudo mount -t gfs2 /dev/vg-gfs2/lv-gfs /mnt/gfs2
ダメだ。

man gfs2をよく読んだら、gfs2によるクラスタリング(共有ファイルシステム)はdlmの機構が必要だとのこと。んで、corosyncによってメッセージング(多分、更新情報等のやり取り)されるので、corosyncのセットアップが必要らしい。

だったらなんで、gfs2を導入する時に、前提パッケージとしてdlmやらcorosyncが指定されてないんだろう?と思ったけど、gfs2はクラスタ環境ではなく、スタンドアロン環境でも利用可能だから、か。

ということで、今回はちょっと止めて、dlmやらcorosyncやらを調べていくことにする。

0 件のコメント:

コメントを投稿