DRBDのデフォルトパラメータ
DRBDはいろいろなパラメータを設定できます。パラメータに関連してよく質問をいただくものに「このパラメータの初期値は何ですか?』というのがあります。例えば「disk-timeoutの初期値は幾つでしょう?」というような質問です。
DRBDの設定値はdrbd.confのオンラインマニュアルやWebサイトを調べるとわかります。先ほどの「disk-timeout」について調べると;
disk-timeout
DRBD デバイスのデータを格納する下位レベルデバイスが、指定した disk-timeout 以内で I/O リクエストを完了しない場合、DRBD はこれを障害とみなす。下位デバイスは切り離され、デバイスのディスク状態はディスクレス状態になる。DRBD が 1 台以上の対向ノードに接続したとき、失敗したリクエストはそのうちの 1 台に伝えられる。
<<途中省略>>
disk-timeout のデフォルト値は 0 であり、無限のタイムアウトを意味する。タイムアウトは 0.1 秒単位で指定する。このオプションは DRBD 8.3.12. から有効である。
とあるので、デフォルト値が0であることが判ります。また、0.1秒単位で指定するという記述から、30を設定するとタイムアウト値は3秒になります。
このように1つ1つの値を確認するのは面倒なので、デフォルト値の一覧が欲しくなると思います。マニュアルには一覧がありませんが、DRBDの設定コマンドdrbdsetupで値を表示することができます。
# drbdsetup show --show-defaults
resource "r0" {
options {
cpu-mask ""; # default
on-no-data-accessible io-error; # default
auto-promote yes; # default
peer-ack-window 4096s; # bytes, default
peer-ack-delay 100; # milliseconds, default
twopc-timeout 300; # 1/10 seconds, default
twopc-retry-timeout 1; # 1/10 seconds, default
auto-promote-timeout 20; # 1/10 seconds, default
max-io-depth 8000; # default
quorum off; # default
on-no-quorum suspend-io; # default
quorum-minimum-redundancy off; # default
on-suspended-primary-outdated disconnect; # default
}
・・・・・
以下省略
このようにDRBDの設定パラメータが全て表示され、# defaultと書かれているのがDRBDとしての初期値になります。先ほどのdisk-timeoutについては次のように調べることができます。
# drbdsetup show --show-defaults | grep disk-timeout
disk-timeout 0; # 1/10 seconds, default
drbdsetupで表示された結果をgrepでフィルターして、disk-timeoutを取り出しています。コマンドでの結果でもデフォルト値が0で単位が1/10 secondsであることが確認できました。