[Linux-ha-jp] Filesystemで発生したエラーについて

Back to archive index

和田 伸一朗 wada.****@jp*****
2012年 12月 28日 (金) 16:31:25 JST


久保さん

ご回答ありがとうございます。
和田です。

インラインで記述(★)します。

> 久保と申します。
> 
>> サーバが1台のみの状態で、crm node standbyを実行したあとに、
>> crm node onlineを実行した際に
> 
> 同様のシチュエーションを作って確認しましたが、standbyを実行するとすべて
> のリソースが停止し、onlineを実行するとすべてのリソースが正常に起動しました。
> 
>> Dec 28 08:59:41 test7a Filesystem(prmFs)[9921]: INFO: Running start for /dev/drbd/by-res/pgsql on /data
>> Dec 28 08:59:41 test7a Filesystem(prmFs)[9921]: ERROR: Couldn't find device [/dev/drbd/by-res/pgsql]. Expected /dev/??? to exist
> 
> このエラーは、DRBDの起動が失敗してpgsqlリソースがうまく初期化できなかっ
> た(さらにプライマリに昇格できなかった)ことを示しています。
> 
>> また、standbyにする前は正常に動作していましたし、必ず発生するわけではなく
>> 一度だけ発生しました。
> 
> 何度か同じパターンで動かしておられるのなら、/var/log/messagesに表示され
> るDRBDのログメッセージを比較してみることによって、上記エラーが起きたとき
> の原因を推測しやすくなるかと思います。
> 
> 和田さんの環境でスタンバイからオンラインに戻したときの挙動は次のようにな
> ると考えられます。
> 
> スタンバイ状態ではDRBDも動作を停止しています。当然pgsqlリソースも停止し
> ていて、/dev/drbd/by-res/pgsqlも存在しません。
> 
> オンラインに戻した時点でPacemakerはDRBDを起動し、最初にpgsqlリソースはセ
> カンダリになります。このときに/dev/drbd/by-res/pgsqlが出現します。その後
> msリソースが正しく動作すればpgsqlリソースがプライマリに昇格して、
> Filesystemリソースがそれをマウントします。
> 
> 上記のERROR行が表示されたということは、それ以前のDRBDリソースのstart自体
> が何らかの理由で失敗していることになるはずで、その理由に関係するDRBDのロ
> グが/var/log/messagesに表示されているはずです。

★はい。
 細かな動作の解説ありがとうございます。
 最初のメールに記載しましたが、DRBDはMasterとなっております。
 Masterという状態であっても、失敗しているという可能性はあるのでしょうか?

 また、messagesを確認しましたが、特にDRBDに関連するエラーは出力されていませんでした。
 ただし、もう一度、corosync側のログを確認したところpingリソースの応答が帰ってきておらず、
 nullと表示されていました。
 これが正常時との差分でした。
 DRBDはpingの応答が返ってきたときにmasterとなる設定を行っております。
 #ログには出力されていませんが、Masterになっていますので応答が返ってきたものと推測しています。

>> 上述のバージョンのDRBDにおいてこのような不具合はございますでしょうか?
>> また、考えられる原因はございますでしょうか?
> 
> 現在の最新レベルのバージョンはたしかに8.4.2ですが、8.3.15の方が枯れてい
> てお勧めです。DRBD users MLでも8.4系は少しトラブル事例が多い(もちろん
> 減ってきていますが)ように思います。
> 
> 8.4系新機能のリソースグループが必須でないならば、8.3系を使う方が安心でき
> ると思います。

★上記の件は認識していますが、現在運用を行っているものですので、
 簡単には8.3系には出来ない状況です。
 
>> なお、該当デバイス(シンボリックリンク)の手動での削除は行っていません。
> 
> すみませんが、これは具体的にどういうリンクのことなのでしょうか。/dev以下
> に何らかのリンクを作っているということでしょうか。それとも別のリンクなの
> でしょうか。

★説明が不足していました。
 /dev/drbd/by-res/pgsqlおよび/dev/drbd1の削除は行っていません。
 という意味でした。
 従いまして、
 ・DRBD自身が上記のファイルを生成していない
 ・内部的にpacemaker or 作成したアプリケーション等の何かしらのプロセスが削除している
 ・Linux(Redhatやext4など)の不具合
 なのではないかと考えております。

よろしくお願い致します。





Linux-ha-japan メーリングリストの案内
Back to archive index