前回はUbuntu 8.04 x86_64とDebian Lenny x86の組み合せでGFSを動かそうとしましたが、次のようなエラーがでたままでした。 しかしVMWare上では問題なく動き、前回は途中からVMWare上での様子をブログにまとめました。
Starting cluster manager:
Loading kernel modules: done
Mounting config filesystem: done
Starting cluster configuration system: done
Joining cluster:cman_tool: Cannot open connection to cman, is it running ?
done
Starting daemons: groupd fenced dlm_controld gfs_controld
Joining fence domain:fence_tool: can't communicate with fenced -1
done
Starting Quorum Disk daemon: done
メッセージからも分かるように次のような状態でした。
- aisexecは稼働中
- ccsdは稼働中
- /var/run/cman_admin, /var/run/cman_clientはnetstat -naで表示されず閉じている
- fencedは未稼働
GFS周りの復旧手順をいろいろみていたのですが、fencedが起動せず、cman_toolも動かないので八方塞がりの状態でした。
そこでaisexecを停止してからcmanを起動したところ、クラスターメンバーは互いに通信できないものの、スタンドアローンな状態では起動し、cman_tool statusに反応があるようになりました。
Ubuntuではこんな手順。
$ sudo /etc/init.d/openais stop $ sudo /etc/init.d/cman restart
debian lennyではこんな感じ。
$ sudo pkill aisexec $ sudo /etc/init.d/cman restart
その結果のcman_tool statusの出力。
Version: 6.1.0
Config Version: 4
Cluster Name: gwlogcl
Cluster Id: 13734
Cluster Member: Yes
Cluster Generation: 12604
Membership state: Cluster-Member
Nodes: 1
Expected votes: 1
Total votes: 1
Quorum: 1
Active subsystems: 7
Flags: 2node Dirty
Ports Bound: 0
Node name: athlon
Node ID: 2
Multicast addresses: 239.192.53.219
Node addresses: 192.168.1.210
とりあえずこの状態で、cman_tool leave, cman_tool kill -n $(uname -n)を試してみる。 そこでcmanのリスタート。
"cman_tool leave"等はマニュアルにはサブシステム(clvm, gfs)が稼働している間は絶対に実行しないように書かれているので注意すること。
$ sudo /etc/init.d/cman restart
続いてaisexecの起動。 Ubuntuでは起動スクリプトを使います。
$ sudo /etc/init.d/openais start
Debianでは手動でaisexecを起動します。aisexecは自動的にforkするので、sudoに-bオプションは不要です。
$ sudo /usr/sbin/aisexec
この状態でcman_tool statusを実行した結果がこれ。
Version: 6.1.0
Config Version: 4
Cluster Name: gwlogcl
Cluster Id: 13734
Cluster Member: Yes
Cluster Generation: 12612
Membership state: Cluster-Member
Nodes: 2
Expected votes: 1
Total votes: 1
Quorum: 1
Active subsystems: 7
Flags: 2node Dirty
Ports Bound: 0
Node name: athlon
Node ID: 2
Multicast addresses: 239.192.53.219
Node addresses: 192.168.1.210
大丈夫そうなので、両方のノードでclvmを起動してみます。
$ sudo /etc/init.d/clvm start
ここまで来ると問題なくgfs2_mkfsを実行する事ができて、同時に両方のノードからマウントすることができるようになります。
ポイントはaisexecを停止した状態から/etc/init.d/cmanを叩くところのようです。 これがどれくらい汎用性があるのかわかりませんが、とりあえずGFSを使うことができるようになりました。
とりあえず気は済んだのでGFSはこれでおしまい。 最終的にはUbuntu 10.04 LTSを待つか、beta2が出たくらいで移行してocfs2を使う事になると思います。
2 件のコメント:
私もこの問題に直面し,書いてある通りにやったところ復旧しました.
openais が曲者なのでしょうか?
いまいち原因がはっきりとしませんがどうもありがとうございました.
私もしばらく原因を探ってみたのですが、これはよくわからないままになっています。
ともあれ問題が解決したということで何よりでした。
コメントを投稿