GNBDでブロックデバイスを共有すると、GNBDクライアント上に
/dev/gnbd*
というデバイスができる。これに対するアクセスは、GNBDサーバ上の対応するブロックデバイスへのアクセスと等価だ。当然これを直接GFS(GFS2)でフォーマットし、マウントして使うこともできる。しかし、この方法は柔軟性に欠ける。例えば、GNBDサーバ上の対応するブロックデバイスが
/dev/sda1
の様な物理ディスクのパーティションだと、サイズを変更することができない。この問題は、LVMを使えば解決できる。GNBDサーバ側でLVMを用いてVGを組み、LVをGNBDでエクスポートすればよい。しかし、これより更によい方法がある。それがCluster Logical Volume Manager(CLVM)だ。CLVMは、読んで字の如く、クラスタ上で共有されるLVMだ。CLVMを使えば、どのクラスタメンバ上でも同じ内容・同じ名前でVGやLVをアクセスできる。
これに加え、異なるGNBDサーバからエクスポートされた複数のブロックデバイスでVGを組むことも可能という利点もある。GNBDサーバ側でVLMを組む場合にはこのようなことはできない。
さらに、Device Mapper Multipath (DM-MP)と併用すれば、冗長構成を採ることにより、耐障害性を高めることもできる(その内詳しく解説します…多分)。
CLVMは、LVM(LVM2)の自然な拡張になっており、クラスタを意識しない場合のLVMのCUIやGUIとほとんど同じ操作で管理できる。違いは、クラスタを構成した後、各クラスタメンバ上で
# lvmconf --enable-clusterを実行することと、最初にVGを組む場合に、クラスタ対応VGだと指示することくらいだ。
これまで三回に渡り、GNBD、CLVMおよびGFSについて概説してきた。以上を元に、次のことを今後の目標とし、実際にシステムを組んでみたい。
- GNBDでディスクデバイスを共有する
- GNBDで共有されたブロックデバイスから、CLVMでクラスタ上で共有されるVGおよびLVを生成する。
- CLVMで生成したLV上にGFSを作成し、各クラスタメンバ上でマウントする。
解説: その1、その2、その3
kernel-xenにバグか?
その4・CentOS 5.1での注意点
その5・GNBDの設定
その6・CLVMの設定
その7・GFS2の設定
その8・Congaからの設定
その9・ベンチマーク
追記(2008/2/24):
検証を再開した。
『Red Hat Cluster: CentOS 5.1上でRHCSを使ってみる』
0 件のコメント:
コメントを投稿