DRBDの設定

DRBDを設定するには、レプリケーション領域(/dev/sda4など)が必要
つまりDRBDを入れる前提でOSをインストールするときはそういった領域をインストール時に作成すればよいが、既存のOSに後からDRBDを入れる場合、そういったディスク領域が確保されていないと大変骨が折れる
そこで参考にしたのがこれ
論理ボリュームを縮小するには − @IT
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a066resizelv.html
VMwareなのでFedora Live CDのisoをマウントするだけで済んだ
これで/dev/VolGroup00/LogVol00のサイズを9.5G→5.4Gに縮小
これでDRBD用のパーティションを作成するための空き領域を確保できた

ところでFedora 7 Liveってもう落とせないんだろうか。13とか最新のやつしか見つからなかった

と思ったら、パーティションのサイズを変更するのはこっちだった
@IT:パーティションのサイズを変更するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/461useparted.html

ところがDRBDを起動するとどうしても下記のエラーが出る

0: cs:WFConnection st:Secondary/Unknown ds:Diskless/DUnknown C r---

なので、初めてリソースを有効にするに従い、下記のコマンドを実行

# drbdadm attach r0
# drbdadm syncer r0

ところがこれ自体はうまくいってるようで関係なし
DRBDのポート7789への接続ができてないっぽいので、ファイアウォールが邪魔している可能性を疑う
追加したVMnetworkのアダプタの設定を見るも、ファイアウォールの設定はされていない
そしたらこんなところに落とし穴が…_| ̄|〇
CentOS/5.2/10.DRBD - moji-moji wiki

ここでは、7789番ポートを使用しているので、このポートをファイアウォール設定で空けておくこと。
サーバGUIを使用しているなら、「管理」⇒「セキュリティレベルとファイアウォールの設定」で設定する。

VMCentOSファイアウォールが邪魔していた
我ながら本当に基本的なところではまって呆れる
これを無効にしてもう一度DRBDをリスタートすると、

# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:16
 0: cs:SyncSource ro:Secondary/Secondary ds:UpToDate/Inconsistent C r----
    ns:2045952 nr:0 dw:0 dr:2045952 al:0 bm:125 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:1188064
        [===========>........] sync'ed: 63.0% (1188064/3205344)K delay_probe: 395
        finish: 0:01:45 speed: 11,208 (10,188) K/sec

ということで無事疎通確認
http://www.oss-d.net/index.php?DRBD%2BHeartbeat
http://www.drbd.jp/users-guide/re-drbdconf.html


ところで、初期同期のコピー元を指定する

drbdadm -- --overwrite-data-of-peer primary r0

だが、これはデータの一貫性(Inconsistent)がなくても強制的にプライマリ(Primary)にするもので、初回作成時や初期時に1回やればいいらしい。通常は

drbdadm primary/secondary r0

を使うらしい