【備忘】drbdトラブル時の切り分け等【Linux】

Linux
スポンサーリンク

久しぶりの備忘録。

drbdがうまく動作してくれなくなった時の切り分け等々。

というか、自分が構築してないサーバの設定を直せって言われてももともとが分からないからめっちゃ時間かかったんだが?

 

スポンサーリンク

事象

  • drbdを利用してディスクを同期しているサーバがなぜか同期できていない状態になった

これだけです。

 

環境

$ cat /etc/redhat-release
CentOS release 6.7 (Final)
$ uname -a
Linux HOSTNAME 2.6.32-696.3.1.el6.x86_64
$ service drbd status
version: 9.0.6-1

CentOS7への移行タイミングを完全に見失った感

 

対応履歴

プロセスのステータス確認

取りあえずdrbdサービスが上がっているかどうかを確認

◆Server1

# service drbd status
drbd driver loaded OK; device status:

◆Server2

# service drbd status
drbd driver loaded OK; device status:

両方上がってそう。

 

同期状態の確認

drbdadmというコマンドで同期状態を見れる・・・らしい。

正直drbdがどういうものなのかを本日まで全く知らなかったのでその知識からです。

というわけで実行してみる。

 

◆Server1

$ drbdadm status r0
r0 role:Primary
disk:UpToDate
Server2 connection:StandAlone

◆Server2

$ drbdadm status r0
r0 role:Secondary
disk:Inconsistent
Server1 connection:Connecting

よくわからないけど多分これが原因じゃね????

 

接続してみる

StandAloneで動作しているのであれば、とりあえず接続しにかかればいいんじゃね?

というわけで接続してみる。

 

◆Server1

# drbdadm disconnect r0
# drbdadm connect r0
$ drbdadm status r0
r0 role:Primary
disk:UpToDate
Server2 connection:Connecting

Connectingになった。

ので、Server2側も確認

 

◆Server2

$ drbdadm status r0
r0 role:Secondary
disk:Inconsistent
Server1 connection:StandAlone

こんどはこっちの接続状況がStandAloneになったので、同じように接続してみる。

# drbdadm disconnect r0
# drbdadm connect r0
$ drbdadm status r0
r0 role:Secondary
disk:Inconsistent
Server1 role:Primary
replication:SyncTarget peer-disk:UpToDate done:0.01

お。なんか同期始まったっぽい???

 

しばらく放置したのち、もう1回確認

$ drbdadm status r0
r0 role:Secondary
disk:Inconsistent
Server1 role:Primary
replication:SyncTarget peer-disk:UpToDate done:11.26

doneの値が進んでいるので、たぶん同期が進んでいるのだろう・・・・たぶん・・

 

まとめ

  • なんか同期がとれていない場合は drbdadm status で接続状況を確認
  • 接続できていない場合はなんとかして接続する

・・・これ備忘録になるのか・・・???

 

おまけ

最初、よくわからんかったので

とりあえずプロセス再起動したろ」って感じで

# service drbd restart

ってしたら

drbdadm: Unknown command 'sh-b-pri'

ってメッセージが出力されました。

 

んで、これはなんぞや?と思い起動スクリプトを確認すると

# Become primary if configured 
# Currently, this is necessary for drbd8 
# drbd9 supports automatic promote and removes the "sh-b-pri" command. 
$DRBDADM sh-b-pri all || true 
log_end_msg 0

と書いてありました。

要約すると

drbd8だと必要だけど、drbd9からは必要なくなったやつだから、9からは消してるよ!

みたいな感じかと。(TOEIC 295点の要約なので信用しないでください)

今回のdrbdのバージョンは9.0.6-1なので、このメッセージは必然的に出てしまうものなのですね。

 

コメント

タイトルとURLをコピーしました