medamaの日記

技術的な事をメインにしてみる。

技術的前提

ということでGFSを使うには何が必要なのでしょうか。

 

[必要なもの]
共有ストレージ(iSCSIやらSANストレージ)

[お勧めしないもの]
DualHost SCSIストレージ

DualHost SCSIストレージはどうがんばっても2nodeが限界なので面倒な問題を引き起こす。
なのでお勧めしない。
というか2node自体が問題なのでiSCSIでもSANでも同様なのだが。

次に使うならCentOS(RedHat)5.2以上を強くお勧めする。
できればまもなく登場するCentOS5.3を使いましょう。
間違っても5.0, 5.1はやめましょう。
バグが多すぎてまともに動きません。
ただでさえ面倒なのにバグに巻き込まれる時間なんて無駄以外の何物でもありません。

では、GFSを動かす為に必要な技術は何でしょうか。

RHCS(RedHat Cluster Suite)
GFS(2)

なのであるが、GFSだけを動かすのであれば、LVM2は必要ではありません。
くどいですが

LVM2はいりません。

某サポートには確認済みです。
(ついでにrgmanagerが不必要であることも確認済み。)
LVM2なんて全く必要ではありません。

初めて構築する人にとってCLVM(Cluster LVM)なんて面倒なもの使わないに限ります。

LVM2があると動的に領域拡張ができるし、snapshotも使えるし?

確かに動的に領域拡張できる利点はありますが、GFS+CLVMの組み合わせでは

未だにスナップショットはサポートされていません。

スナップショットがある、という利点が無ければぱっとしないLVM2なんてやめましょう。
あ、そうそう、CLVM環境下で動的拡張を行うには

Cluster Memberのサーバが全て稼動していなければならない。

という制約がさりげなく存在していることも重要です。
何十台もあるサーバが全て稼動している状態なんて考えたくもありません。
設定を一時変更してダウンしたサーバをCluster Memberから外せばOK?
はい、そうです。ただ、私には面倒なので好き好んで受け入れたい前提ではありません。
本番環境Clusterの設定なんて出来れば触りたくもありません。

system-config-lvmだと1nodeだけの状態でもエラーが出るけど設定変更できた?

エラーに疑問を抱かない人、深く考えるのが嫌いな人はGFSを使わないのが吉です。

[結論]
容量なんて始めにきっちり見積もりましょう。
余計なものは動かさない。

これでGFSはシンプルな構成ゆえによりお手軽に保守もできるでしょう。
新人にLVM、それもCluster LVMをきっちり理解させたうえで運用させるなんて怖くて私には(本音はただ面倒)出来ません。
RHCSはGFSという協調動作型FileSystemを効率よく安全に使うためだけに利用されています。

CLVMやrgmanagerはGFSだけを使うのであれば必要ではありません。

GFSフォーマット前に

chkconfig clvmd off
chkconfig rgmanager off
lvmconfig --disable-cluster

してサーバを再起動しましょう。
LVMを使わなければcman_tools servicesすると

type
fence
dlm
gfs

すっきりすっきり。
モジュールやアプリケーション依存関係がものをいうClusterでは余計な依存を作らないのも安定した環境を作るには必要なテクニックです。
トラブルが発生しても余計なものが入っていなければ切り分けも楽ですからね。