NAME
drbdsetup - DRBD を設定するツールSYNOPSIS
drbdsetup
new-resource resource [--cpu-mask {val}]
[--on-no-data-accessible {io-error | suspend-io}]
drbdsetup
new-minor resource minor volume
drbdsetup
del-resource resource
drbdsetup
del-minor minor
drbdsetup
attach minor lower_dev meta_data_dev
meta_data_index [--size { val}]
[--max-bio-bvecs {val}]
[--on-io-error {pass_on | call-local-io-error | detach}]
[--fencing {dont-care | resource-only | resource-and-stonith}]
[--disk-barrier] [--disk-flushes] [--disk-drain] [--md-flushes]
[--resync-rate { val}] [--resync-after {val}]
[--al-extents { val}] [--al-updates]
[--discard-zeroes-if-aligned] [--disable-write-same] [--c-plan-ahead {
val}] [--c-delay-target {val}]
[--c-fill-target {val}] [--c-max-rate {val}]
[--c-min-rate { val}] [--disk-timeout {val}]
[--read-balancing {prefer-local | prefer-remote | round-robin | least-pending | when-congested-remote | 32K-striping | 64K-striping | 128K-striping | 256K-striping | 512K-striping | 1M-striping}]
[--rs-discard-granularity { val}]
drbdsetup
connect resource local_addr remote_addr [--tentative]
[--discard-my-data]
[--protocol {A | B | C}]
[--timeout { val}] [--max-epoch-size {val}]
[--max-buffers { val}] [--unplug-watermark {val}]
[--connect-int { val}] [--ping-int {val}]
[--sndbuf-size { val}] [--rcvbuf-size {val}]
[--ko-count { val}] [--allow-two-primaries]
[--cram-hmac-alg { val}] [--shared-secret {val}]
[--after-sb-0pri {disconnect | discard-younger-primary | discard-older-primary | discard-zero-changes | discard-least-changes | discard-local | discard-remote}]
[--after-sb-1pri {disconnect | consensus | discard-secondary | call-pri-lost-after-sb | violently-as0p}]
[--after-sb-2pri {disconnect | call-pri-lost-after-sb | violently-as0p}]
[--always-asbp]
[--rr-conflict {disconnect | call-pri-lost | violently}]
[--ping-timeout { val}]
[--data-integrity-alg {val}] [--tcp-cork]
[--on-congestion {block | pull-ahead | disconnect}]
[--congestion-fill { val}]
[--congestion-extents {val}] [--csums-alg { val}]
[--csums-after-crash-only] [--verify-alg { val}] [--use-rle]
[--socket-check-timeout { val}]
drbdsetup
disk-options minor
[--on-io-error {pass_on | call-local-io-error | detach}]
[--fencing {dont-care | resource-only | resource-and-stonith}]
[--disk-barrier] [--disk-flushes] [--disk-drain] [--md-flushes]
[--resync-rate { val}] [--resync-after {val}]
[--al-extents { val}] [--al-updates]
[--discard-zeroes-if-aligned] [--disable-write-same] [--c-plan-ahead {
val}] [--c-delay-target {val}]
[--c-fill-target {val}] [--c-max-rate {val}]
[--c-min-rate { val}] [--disk-timeout {val}]
[--read-balancing {prefer-local | prefer-remote | round-robin | least-pending | when-congested-remote | 32K-striping | 64K-striping | 128K-striping | 256K-striping | 512K-striping | 1M-striping}]
[--rs-discard-granularity { val}]
drbdsetup
net-options local_addr remote_addr
[--protocol {A | B | C}]
[--timeout { val}] [--max-epoch-size {val}]
[--max-buffers { val}] [--unplug-watermark {val}]
[--connect-int { val}] [--ping-int {val}]
[--sndbuf-size { val}] [--rcvbuf-size {val}]
[--ko-count { val}] [--allow-two-primaries]
[--cram-hmac-alg { val}] [--shared-secret {val}]
[--after-sb-0pri {disconnect | discard-younger-primary | discard-older-primary | discard-zero-changes | discard-least-changes | discard-local | discard-remote}]
[--after-sb-1pri {disconnect | consensus | discard-secondary | call-pri-lost-after-sb | violently-as0p}]
[--after-sb-2pri {disconnect | call-pri-lost-after-sb | violently-as0p}]
[--always-asbp]
[--rr-conflict {disconnect | call-pri-lost | violently}]
[--ping-timeout { val}]
[--data-integrity-alg {val}] [--tcp-cork]
[--on-congestion {block | pull-ahead | disconnect}]
[--congestion-fill { val}]
[--congestion-extents {val}] [--csums-alg { val}]
[--csums-after-crash-only] [--verify-alg { val}] [--use-rle]
[--socket-check-timeout { val}]
drbdsetup
resource-options resource [--cpu-mask {val}]
[--on-no-data-accessible {io-error | suspend-io}]
drbdsetup
disconnect local_addr remote_addr [--force]
drbdsetup
detach minor [--force]
drbdsetup
primary minor [--force]
drbdsetup
secondary minor
drbdsetup
down resource
drbdsetup
verify minor [--start {val}]
[--stop {val}]
drbdsetup
invalidate minor
drbdsetup
invalidate-remote minor
drbdsetup
wait-connect minor [--wfc-timeout {val}]
[--degr-wfc-timeout { val}]
[--outdated-wfc-timeout {val}] [--wait-after-sb {
val}]
drbdsetup
wait-sync minor [--wfc-timeout {val}]
[--degr-wfc-timeout { val}]
[--outdated-wfc-timeout {val}] [--wait-after-sb {
val}]
drbdsetup
role minor
drbdsetup
cstate minor
drbdsetup
dstate minor
drbdsetup
resize minor [--size {val}] [--assume-peer-has-space]
[--assume-clean] [--al-stripes { val}]
[--al-stripe-size-kB { val}]
drbdsetup
check-resize minor
drbdsetup
pause-sync minor
drbdsetup
resume-sync minor
drbdsetup
outdate minor
drbdsetup
show-gi minor
drbdsetup
get-gi minor
drbdsetup
show { resource | minor | all}
drbdsetup
suspend-io minor
drbdsetup
resume-io minor
drbdsetup
status { resource | all} [--color {val}]
drbdsetup
events2 { resource | all}
drbdsetup
events { resource | minor | all}
drbdsetup
new-current-uuid minor [--clear-bitmap]
DESCRIPTION
drbdsetup は、DRBD デバイスと下位レベルブロックデバイスを結びつける、DRBD デバイス間で下位レベルデバイス同士ミラーリングを設定する、現在実行中の DRBD デバイスの設定を検査する、などの目的で使用する。NOTE
drbdsetup は DRBD プログラム群の中で低レベルのツールである。デバイスドライバを操作するために、drbddisk や drbd ス クリプトなどの中で使用される。COMMANDS
サブコマンドの中には、独自の引数やオプションを持つものがある。すべての値はデフォルトの単位があるが、K、 M、 G といった通常の方法でも定義でき (K=2^10=1024、 M=1024K、 G=1024M)。Common options
すべての drbdsetup サブコマンドに次のオプションを指定することができる。 --create-device指定した DRBD
デバイスに対応するデバイスファイルがない場合、自動的に作成するするよう指定する。
new-resource
リソースは DRBD 構成の最初の対象である。リソースはいかなるボリュームやマイナーデバイスが作成されるより前に new-resource コマンドで作成されなければならない。コネクションは名前で参照される。new-minor
minor は複製されたブロックデバイスと同じ意味で使われ、ブロックデバイスとして /dev/ ディレクトリで表示されている。これは DRBD が複製するブロックデバイスへのアプリケーションのインターフェースである。drbdsetup のコマンドラインで、これらのブロックデバイスはマイナー番号によってアドレス指定される。 複製されたブロックデバイスの組は 2 マシン間で異なったマイナー番号を持つ場合もあるが、共通の ボリューム番号で関連付けされている。ボリューム番号は各々の接続におけるローカルなものである。マイナー番号は一つのノードにおけるグローバルなものである。del-resource
リソースのオブジェクトを破棄する。リソースに値がない場合のみ可能。del-minor
マイナーはディスクが外されている場合のみ破棄できる。attach, disk-options
Attach は デバイスと下位ブロックデバイスを接続する。 -d (または --disk-size) は下位ブロックデバイスをできるだけ使いたくない場合にのみ使用する。 -d を使わない場合、 デバイスは対向ノードに接続されるとすぐに使用できる状態になる。( net コマンドを参照) disk-options コマンドを使うと、接続されている間、そのマイナーのオプション変更ができる。 --disk-size sizeDRBD
は利用できるデータ領域を自動的に決定する機能を持つ。これまで対向ノードに接続したことのないデバイスを使用する場合に、DRBD
デバイスの
サイズをドライバに渡すためにこのオプションを使用する。デフォルトの単位はセクタ
(1s=512バイト) である。
size パラメータを drbd.conf
で使用する場合には、明示的に単位を追加する事が推奨される。drbdadm
と drbdsetup
はデフォルトの単位で、しばしば食い違いになることがある。
--on-io-error err_handler
下位デバイスのドライバがエラーを伝えた場合に
DRBD
はディスクを不整合とマークする。そしてヘルパープログラムを呼び出すか、デバイスを下位ストレージから切り離して以後の
I/O
を対向ノードに委ねる。
err_handlers
に指定できる値は、
pass_on, call-local-io-error, detach
である。
--fencing fencing_policy
fencing
は、2つのノードがともにプライマリになること
(スプリットブレイン)
を防止し、どちらかを切り離す防御手段のことである。
次のフェンシングポリシーを指定できる:
dont-care
--disk-barrier,
デフォルトの設定値で、フェンシングのためのアクションをなにも実行しない。
resource-only
ノードが切り離されたプライマリ状態になると、DRBD
は他ノードを無効状態に変えようとして、fence-peer
ハンドラを実行する。このハンドラには、レプリケーション用とは別のネットワーク経由で他ノードにアクセスし、
'drbdadm outdate res'
を実行するという機能が期待される。
resource-and-stonith
ノードが切り離されたプライマリ状態になると、
DRBD はすべてのディスク
I/O を停止して fence-peer
ハンドラを呼び出す。このハンドラには、レプリケーション用とは別のネットワーク経由で他ノードにアクセスし、
'drbdadm outdate res'
を実行するという機能を想定している。ハンドラが他ノードに到達できない場合、
DRBD は STONITH
機能を使って他ノードを強制排除する。これらが完了したら、ディスク
I/O
を再開する。ハンドラが失敗した場合には、
resume-io
コマンドでディスク I/O
を再開できる。
DRBD
は下位デバイスに対する複数のディスク書き込みの間の依存関係を指定するための
4
種類のオプションを用意している。そのうち、下位デバイスがサポートしていてユーザが無効に設定していない最初のオプションが使用される。デフォルトでは
flush
メソッドが使われる。
drbd-8.4.2 から disk-barrier は、linux-2.6.36
(及び RHEL6 の 2.6.32)
以降での正常動作が確認できないためデフォルトで無効になった。注意:
有識者による指示のもとでのみ使用すること。
手法を選択するにあたっては、測定可能なパフォーマンスデータのみに頼るべきではない。下位デバイスが揮発性の書き込みキャッシュしか持たない場合
(通常のハードディスクや通常のハードディスクだけで構成される
RAID など)、最初の 2
つのオプションのどちらかを使うべきである。下位デバイスにバッテリバックアップ機能付きの書き込みキャッシュがある場合には、3
番目のオプションが利用できる。4番目のオプション
(すべてを無効にする場合は
"none") は、ほとんどの I/O
スタックにおいて危険で、ディスクへの書き込み順序が入れ替わってしまう可能性がある。
no-disk-drain を使っては
ならない 。
残念なことに、デバイスマッパ(LVM)
はバリアをサポートしていない。
/proc/drbd の "wo:"
の文字の後ろに、下位デバイスに対する現在の設定が
b, f, d, n
の文字で表示される。オプションは次のとおり:
barrier
--md-flushes
下位デバイスがバリア
(SCSI では "tagged command queuing"、SATA
では "native com-mand queuing"
と呼ばれる)
をサポートしている場合、このオプションを選択できる。このオプションを有効にするには
disk-barrier オプションを
yes にする。
flush
下位デバイスがディスクフラッシュ
(ベンダーは "force unit access"
と呼んでいる)
をサポートしている場合、このオプションを選択できる。このオプションを無効にするには
disk-flushes を no
に設定する。
drain
3番目の方法は、単純に、最初の書き込みは次の書き込みリクエストを処理する前に吐き出す、方法である。8.0.9
まではこれが唯一のオプションであった。
none
no-disk-drain
を指定すると、下位デバイスへの書き込みの依存関係を一切指示しなくなる。これはほとんどの
I/O スタックにおいて
危険
であり、ディスクへの書き込み順序が入れ替わってしまう可能性がある。そうなると、理論的にはデータ破損の原因、または
DRBD
プロトコルを乱し、再接続と切断を繰り返すような状態に陥る可能性がある。
no-disk-drain を
使ってはならない。
メタデータデバイスへのアクセスにあたってバリアやフラッシュを使用しない。
See the notes on --disk-flushes.
--max-bio-bvecs
ある特別な環境において、デバイスマッパースタックは、複数の
bvec
を持つ制約に違反する
BIO を merge_bvec()
関数の4番目の引数に設定し
DRBD に渡す。
例えば、物理ディスク
→ DRBD → LVM → Xen →
誤ったパーティション(63)
→ DomU FS の場合である。Dom0
のカーネルログには、
"bio would need to, but cannot, be split:"
と記録される。
最も良い回避方法は、VM
の内部にパーティションを適切に配置する
(例えば、セクタ 1024
から開始する)
ことである。これは、ストレージ領域を
480 KiB
を消費する。残念ながら、ほとんどの
Linux
パーティションツールは、奇数
(63)
でパーティションを開始する。そのため、ほとんどのディストリビューションは、仮想
Linux
マシンにインストールを行うと、誤ったパーティションで終了してしまう。第
2 の回避方法は、 BIO
あたりの最大 DRBD bvecs (=
max-bio-bvecs) を 1
にすることである。しかし、パフォーマンスは低下する。
max-bio-bvecs
のデフォルト値は 0
で、これはユーザに制限が無いことを意味する。
--resync-rate rate
DRBD
の上位で動作するアプリケーションの円滑な実行のために、バックグラウンドの同期作業が利用する帯域幅を制限できる。デフォルト値は
250KiB/秒、デフォルト単位は
KiB/秒である。
--resync-after minor
minor
に指定したマイナー番号を持つデバイスが接続されると、このデバイスの再同期を開始する。接続されるまでの間は
SyncPause 状態になる。
--al-extents extents
DRBD
はホットエリアを自動的に検出する。このパラメータを指定すると、ホットエリアの大きさを制御できる。各エクステントは、下位デバイスの
4MB
の領域になる。予定外の事情によってプライマリノードがクラスタから切り離されると、そのときのホットエリアのデータは、次回接続したときの再同期の対象になる。このデータ構造は、メタデータ領域に書き込まれる。したがって、ホットエリアの状態更新は、メタデータデ
バイスへの書き込みを引き起こす。エクステント値を大きくすると、再同期所要時間が長くなるが、メタデータの更新頻度を減らすことができる。
extents
のデフォルト値は 1237
である。(最小値:7、最大値:65534)
追加の制限と必要な準備については、次のマニュアルを参照:
drbd.conf(5) , drbdmeta(8)
--al-updates {yes | no}
DRBD
のアクティビティログ処理の書き込みによって、プライマリノードのクラッシュ後の部分的な
(ビットマップに基づく)
再同期でノードを up-to-date
に復帰させる事ができるようになる。
al-updates を no
に設定すると通常の運用パフォーマンスが向上するかもしれないが、クラッシュ時にプライマリが再接続した際にはフル同期となる。デフォルト値は
yes である。
--c-plan-ahead plan_time,
plan_time
に正の値を指定すると、再同期速度を動的に調整できるようになる。これは、
fill_target
に指定した一定速度で、あるいは
delay_target
に指定した一定の遅延でデータを送信バッファに送り込むことによって実現される。調整における最大値は
max_rate で指定する。
plan_time
パラメータで調節機能の機敏さを設定する。大きな値を設定すると、調節機能のレスポンスが低下する。この値は最低でもネットワークの
RTT の 5
倍以上を指定する。通常のデータ経路では
fill_target に 4k から 100k
を指定するのが適切である。DRBD-Proxy
を使用する場合には、代わりに
delay_target
を使用するのが望ましい。
delay_target は fill_target が 0
の場合にのみ使用できる。初期値は
RTT の 5
倍が適切である。
Max_rate には DRBD 間または
DRBD-Proxy
間の帯域幅あるいはディスク帯域幅を指定する。
plan_time
のデフォルト値は 0
で、0.1
秒単位で指定する。
Fill_target
のデフォルト値は 0
でセクタ数を指定する。
Delay_target
のデフォルト値は 1 (100
ミリ秒) で 0.1
秒単位で指定する。
Max_rate
のデフォルト値は 10240
(100MiB/s) で、 KiB/s
単位で指定する。
--c-min-rate min_rate
再同期の際、ディスク
I/O
速度を監視すると、下位レベルデバイスが再同期していないことがわかる。下位レベルデバイスがビジーで、再同期速度が
min_rate
を超えている場合、再同期の処理を調整する。
min_rate のデフォルト値は
4M で、k
単位で指定する。調整したくない場合は
0
を設定する。常に調整する場合は
1 を設定する。
-t, --disk-timeout disk_timeout
DRBD
デバイスがデータを格納する下位レベルデバイスが、指定した
disk-timeout 以内で I/O
リクエストを完了しない場合、DRBD
はこれを障害とみなす。下位デバイスは切り離され、デバイスのディスク状態はディスクレス状態になる。DRBD
が 1
台以上の対向ノードに接続したとき、失敗したリクエストはそのうち
1 台に伝えられる。
このオプションは
カーネルパニックを引き起こす可能性があり、注意が必要である。
リクエストの「中断」あるいはディスクの強制切り離しは、完全に下位デバイスをブロックまたはハンギングして、リクエストをまったく処理せずエラーも処理しなくなる。この状況ではハードリセットとフェイルオーバ以外になす術がない。
「中断」すると、基本的にローカルエラーの完了を装い、すみやかにサービスの移行を行うことで安全な切り替えを行う。それでもなお、影響を受けるノードは
"すぐ"
に再起動される必要はある。
リクエストを完了することで、上位レイヤーに関連するデータページを再利用させることができる。
後にローカルの下位デバイスが「復帰」すると、ディスクから元のリクエストページへの
DMA
のデータは、うまくいくと未使用のページへランダムなデータを送るが、多くの場合その間に関係のないデータに変形してしまい、様々なダメージの原因になる。
つまり遅延した正常な完了は、特に読み込みリクエストの場合
panic()
の原因になる。遅延した「エラー」完了は、その都度に通知は行うが、問題ないと考えてよい。
disk-timeout
のデフォルト値は 0
であり、無限のタイムアウトを意味する。タイムアウトは
0.1
秒単位で指定する。このオプションは
DRBD 8.3.12.
から利用できる。
--discard-zeroes-if-aligned {yes | no}
discard-zeroes-if-aligned を
no
に設定すると、それぞれのバックエンドが
discard_zeroes_data = false
をアナウンスする場合、DRBD
は常に受信側でゼロアウトにフォールバックし、プライマリ側では
discard
に関して通知しない。
discard-zeroes-if-aligned を yes
に設定すると、 discard_zeroes_data =
false
を通知するバックエンドであっても
DRBD は discard を使用し、
discard_zeroes_data = true を通知する。
私たちは、 discard_zeroes_data
設定を完全に無視していました。確立し、期待された動作を壊さないためのデフォルト値は
yes である。
このオプションは 8.4.7
から有効である。追加の制限と必要な準備については、次のマニュアルを参照:
drbd.conf(5).
--disable-write-same {yes | no}
一部のディスクは、WRITE_SAME
サポートをカーネルに通知するが、実際にそのようなリクエストを受信すると、I/O
エラーで失敗する。これは主に、仮想化されたディスクを使用しているときに発生する。特に、この動作は
VMware
の仮想ディスクで観察されている。
disable-write-same を yes
に設定すると、WRITE_SAME
サポートが手動で無効にできる。
disable-write-same
のデフォルト値は no
である。このオプションは
8.4.7 から有効である。
--read-balancing method
読み込みリクエストの負荷分散で使用できる
methods は prefer-local, prefer-remote,
round-robin, least-pending, when-congested-remote,
32K-striping, 64K-striping, 128K-striping,
256K-striping, 512K-striping, 1M-striping
である。
read-balancing
のデフォルト値は
prefer-local
である。このオプションは
8.4.1 から有効である。
--rs-discard-granularity bytes
rs-discard-granularity
がゼロ以外の正の値に設定されている場合、DRBD
はこのサイズで再同期操作を要求する。そのようなブロックが同期ソースノード上にゼロバイトしか含まない場合、同期ターゲットノードは、その領域に対して
discard/trim/unmap
コマンドを発行する。
この値は、下位ブロックデバイスの
discard
粒度によって制約される。
rs-discard-granularity
が下位ブロックデバイスの
discard
粒度の乗数でない場合、DRBD
はそれを切り上げる。この機能は、下位ブロックデバイスが
discard
コマンドの後に、ゼロを読み戻す場合にのみアクティブになる。
rs-discard-granularity
のデフォルト値は 0
である。このオプションは
8.4.7 から有効である。
connect, net-options
Connect は device を af:local_addr:port の内向きのコネクションを Listen させ、また af:remote_addr:port へ接続させる。 port が省略されると、デフォルトで 7788 が使用される。 af が省略されると ipv4 が使用される。他の対応するアドレスファミリは ipv6, ssocks, sdp がある。 ssocks は Dolphin Interconnect Solutions の 「super sockets」、sdp は Sockets Direct Protocol(Infiniband) を指す。 net-options コマンドはコネクションの確立中にオプションの変更が行える。 --protocol protocolDRBD の TCP/IP
の通信の際に使われる
プロトコル
を指定する。指定できるプロトコルは
A, B, C である。
プロトコル A:
ローカルディスクとローカル
TCP
送信バッファにデータを書き込んだらディスクへの書き込みが完了したと判断する。
プロトコル B:
ローカルディスクとリモートバッファキャッシュにデータを書き込んだらディスクへの書き込みが完了したと判断する。
プロトコル C:
ローカルディスクとリモートディスクの両方にデータを書き込んだらディスクへの書き込みが完了したと判断する。
--connect-int time
対向ノードにただちに接続できない場合、DRBD
は接続を繰り返し試行する。このパラメータは試行間隔を指定する。デフォルト値は
10
である。単位は秒である。
--ping-int time
DRBD
デバイス間の TCP/IP
接続があり、対向ノードから
time
秒の間に何も通信が行われなかった場合、
DRBD
は死活確認のためキープアライブパケットを生成する。デフォルト値は
10
である。単位は秒である。
--timeout val
対向ノードからの応答パケットが
1/10 の val
倍の時間以内に返ってこない場合、対向ノードが死んだと判断して
TCP/IP
コネクションを切断する。デフォルト値は
60 で、これは 6
秒に相当する。
--sndbuf-size size
ソケット送信バッファは、セカンダリノードに送信するパケットを格納するために使われる。この中のパケットは、ネットワーク的にはセカンダリ側から受信確認を受け取っていない。プロトコル
A
を使う場合は、両ノード間の同期を高めるために、このバッファサイズを増やす必要が生じる可能性がある。しかし、プライマリノードがフェイルしたときに失うデータが増えることも考慮しておく必要がある。8.0.13
から 8.2.7
までは、手動で 0
を設定しないと自動調整にならない。デフォルト値は
0
で自動調整される。
--rcvbuf-size size
ネットワークから受信したパケットは、最初にソケットの受信バッファに保存される。そこから
DRBD に使われる。8.3.1
以前は、ソケット受信バッファのサイズはソケット送信バッファと同じサイズに固定されていた。8.3.2
からこれらを別々に設定できるようになっている。0
を指定するとカーネルが自動的に設定する。デフォルト値は
0
で自動調整される。
--ko-count count
セカンダリノードが書き込みリクエストを
timeout 内で count
回以上失敗した場合、そのセカンダリノードはクラスタから排除され、プライマリノードは
StandAlone
モードに遷移する。この機能を無効にするには、明示的に
0
に設定する必要がある。デフォルトはバージョン間で変更されている。8.4
は 7
がデフォルト値である。
--max-epoch-size val
このオプションを指定すると、バリアとバリアの間の書き込みリクエスト数の最大値を制限できる。|--max-buffers
と同じ値か、取りうる最大値を指定するのが望ましい。10
より小さい値は、パフォーマンス低下をもたらす。デフォルト値は
2048 である。
--max-buffers val
DRBD
受信スレッドに割り当てるバッファページの最大値を指定する。
--max-epoch-size
と同じ値を指定するのが望ましい。小さい値はパフォーマンス低下をもたらす。デフォルト値は
2048 で、最小は 32
である。リニア書き込みや一方がアイドル状態での再同期の際、受け取り側の
I/O
バックエンドに余裕がある場合にはこの値を増やすのがよい。
追加の制限と必要な準備については、次のマニュアルを参照:
drbd.conf(5)
--unplug-watermark val
この設定は、最近の明示的にスタックプラギングを使用するカーネルには効果がない
(Linux kernel 2.6.39
には移植されている)。
スタンバイ(セカンダリ)
ノードで書き込まれていない書き込みリクエスト数が
unplug-watermark
を上回ると、下位デバイスに対して書き込みリクエストを送る。ストレージによっては小さい値でも良好な結果が得られるが、多くのデバイスでは
max-buffers
と同じ値を指定するときに最良の結果が得られる。デフォルト値は
128
で、指定できる最小値は
16、最大値は 131072
である。
--allow-two-primaries
このオプションを指定すると、両ノードにプライマリを割り当てられる。このオプションは分散共有ファイルシステムを使うときのみ指定する。現在
DRBD
がサポートするファイルシステムは
OCFS2 と GFS
である。これら以外のファイルシステムを使うときにこのオプションを指定すると、データの破損とノードのダウンを引き起こす。
--cram-hmac-alg alg
対向ノードの認証を行いたい場合、
+HMAC
アルゴリズムを指定する。対向ノードの認証は行うべきである。チャレンジ-レスポンス方式で対向ノードを認証するのに、
HMA CFC
アルゴリズムが使われる。/proc/crypto
に記録されている任意のダイジェストアルゴリズムを指定できる。
--shared-secret secret
対向ノードの認証には共有秘密鍵が使用され、64文字までで指定する。
--after-sb-0pri asb-0p-policy
指定できるポリシーは以下の通り:
disconnect
--after-sb-1pri asb-1p-policy
自動再同期を行わず接続を切断する。
discard-younger-primary
スプリットブレイン発生前にプライマリであったノードからの再同期を自動的に実行する。
discard-older-primary
スプリットブレイン発生時にプライマリになったノードからの再同期を自動的に実行する。
discard-zero-changes
プリットブレイン発生後どちらか一方のノードに書き込みがまったく行われなかったことが明白な場合、書き込みが行われたノードから行われなかったノードに対する再同期が実行される。どちらも書き込まれなかった場合は、
DRBD
はランダムな判断によって
0
ブロックの再同期を実行する。両ノードに書き込みが行われた場合、このポリシーはノードの接続を切断する。
discard-least-changes
スプリットブレイン発生後、より多くのブロックを書き込んだノードから他方に対する再同期を実行する。
discard-node-NODENAME
指定した名前のノードに対する再同期を実行する。
指定できるポリシーは以下の通り:
disconnect
--after-sb-2pri asb-2p-policy
自動再同期を行わず接続を切断する。
consensus
after-sb-0pri
アルゴリズムの結果が現在のセカンダリノードのデータを壊すことになる場合、セカンダリノードのデータを捨てる。そうではない場合は接続を切断する。そうではない場合は接続を切断する。
discard-secondary
セカンダリ側のデータを捨てる。
call-pri-lost-after-sb
after-sb-0pri
アルゴリズムの判断を常に採用する。セカンダリ側のデータが正しいと判断された場合には、現在のプライマリ側で
pri-lost-after-sb
ハンドラが呼び出される。
violently-as0p
after-sb-0pri
アルゴリズムの判断を常に採用する。セカンダリ側のデータが正しいと判断された場合でも、プライマリ側のデータの変更箇所を受け入れる。
指定できるポリシーは以下の通り:
disconnect
--always-asbp
自動再同期を行わず接続を切断する。
call-pri-lost-after-sb
after-sb-0pri
アルゴリズムの判断を常に採用する。セカンダリ側のデータが正しいと判断された場合には、現在のプライマリ側で
pri-lost-after-sb
ハンドラが呼び出される。
violently-as0p
after-sb-0pri
アルゴリズムの判断を常に採用する。セカンダリ側のデータが正しいと判断された場合でも、プライマリ側のデータの変更箇所を受け入れる。
通常、3
番目のノードが存在しないことが現在の
UUID
値から明らかな場合のみ、スプリットブレイン発生後の修復ポリシーだけが適用される。
このオプションを指定すると、両ノードのデータに関連性があるとして、スプリットブレイン発生後のポリシーが適用される。UUID
の分析により 3
番目のノードの存在が疑われる場合には、フル同期が行われることがある。(または、なんらかの別の原因によって間違った
UUID
セットで判断してしまった場合)
--rr-conflict role-resync-conflict-policy
このオプションは、SyncTarget
ノードがすでにプライマリであり、再同期が必要であることを
DRBD
がメタデータから推測するときの
DRBD
の動作を設定する。設定できる値は:
disconnect, call-pri-lost, violently
である。 disconnect
は接続を切断する。
call-pri-lost は pri-lost
ハンドラを呼び出す。このハンドラは、ノードの状態をセカンダリに切り替えるか、あるいはノードをクラスタから切り離すときに呼ばれる。デフォルトは
disconnect である。
violently
を指定すると、プリマリノードを強制的に同期先
(SyncTarget)
にできる。このオプションを指定すると、即座に同期元
(SyncSource)
のデータに書き換えられる。このオプションは、何をしているのかを理解した上で使用するように。
--data-integrity-alg hash_alg
ネットワーク経由で受け渡されるデータの整合性を担保するために、DRBD
はハッシュ値を比較する機能を備えている。通常は、TCP/IP
パケット自体のヘッダに含まれる
16
ビットチェックサムで保証される。このオプション値には、カーネルがサポートする任意のダイジェストアルゴリズムを指定できる。一般的なカーネルの場合、少なくとも
md5, sha1, crc32c
のどれかが利用できる。デフォルトでは、この機能は無効である。
drbd.conf
マニュアルページのデータ整合性に関する説明も参照のこと。
--no-tcp-cork
DRBD は、 TCP
ソケットの TCP_CORK
オプションを使って、いつ追加データを受け取るか、あるいは送信キューのデータをいつフラッシュするかのヒントを得ている。この方法が悪影響を及ぼすネットワークスタックが少なくとも存在する。このオプションを指定すると、TCP_CORK
ソケットオプションの設定が無効になる。
--ping-timeout ping_timeout
このパラメータで指定した時間内にキープアライブパケットに応答しなければならない。応答パケットが返ってこない場合、その対向ノードは死んだと判断される。デフォルト値は
5(500ms) で、100ms
単位で指定する。
--discard-my-data
スプリットブレイン状態から復旧するときに、このオプションを手作業で指定する。自動的な復旧ポリシーを設定していない場合には、DRBD
は接続を拒否する。このオプションを実行すると、そのノードは接続後ただちに同期先になる。
--tentative
再同期を実行させない場合などにおいて、再同期ハンドシェーク後に
DRBD
接続プロセスを終了させる。DRBD
がどの再同期を実行しているかについては、カーネルログで確認することができる。
--on-congestion congestion_policy,
デフォルトでは、
TCP
送信キューが一杯になると、
DRBD
は書き込みをブロックする。このことは
DRBD が TCP
で送信できるデータ量を越えてディスクに書きこもうとするアプリケーションの処理速度が低下することを意味する。
DRBD-Proxy
を使っている場合、送信キューが満杯になる直前に
AHEAD/BEAIND
モードに移行するのが望ましい。AHEAD/BEHIND
モードでは、DRBD
間の通信は切断しないが、データレプリケーションは行われなくなる。
AHEAD/BEHIND
モードの利点は、たとえ
DRBD-Proxy
のバッファがすべての書き込み要求を受け入れるのに十分でなくても、アプリケーションが遅くならないことである。欠点は、対向ノードが後れをとっているため、同期状態に戻すために再同期が必要になることである。再同期中対向ノードのデータは不整合状態のままとなる。
congestion_policy では block と
pull-ahead
が使用できる。デフォルトは
block である。 Fill_threshold は 0
から 10GiB
までの値を指定できる。デフォルト値は
0
で、これはチェックが無効になることを意味する。
Active_extents_threshold は、 al-extents
と同じ制限がある。
AHEAD/BEHIND は DRBD8.3.10
以降で利用できる。
--verify-alg hash-alg
verify
サブコマンドでディスク内容をオンライン照合する際、
DRBD
はビット単位の比較ではなく、ブロックごとのハッシュ値を計算し、対向ノードのハッシュ値と比較する。照合に利用するハッシュアルゴリズムは、このパラメータで指定する。オプション値には、カーネルがサポートする任意のダイジェストアルゴリズムを指定できる。一般的なカーネルの場合、少なくとも
md5, sha1, crc32c
のどれかが利用できる。デフォルトでは、この機能は無効である。オンライン照合を有効にするには、このパラメータを明示的に設定する必要がある。
drbd.conf
マニュアルページのデータ整合性に関する説明も参照のこと。
--csums-alg hash-alg
csums-alg
が指定されていない場合、再同期プロセスはすべてのマークされたデータブロックをコピー元からコピー先に転送するこのオプションを指定すると、マークされたデータブロックのハッシュ値を最初に送り、ハッシュ値が一致しないブロックについてのみデータを転送する。
帯域幅が小さい回線を使うとき、このオプションは有用である。クラッシュしたプライマリノードが復帰したとき、アクティビティログに記録されたすべてのブロックが再同期の対象となる。しかし大部分のブロックは同期が取れている。このため、
csums-alg
を指定することによって、
CPU
の使用量と引き換えに必要な転送量を減らせる。
--use-rle
再同期開始時のハンドシェークの過程で各ノードのビットマップが交換され、ビット単位の
OR
計算が行われる。これによって、どのブロックがダーティ
(不一致)
であるかについて、それぞれのノードは共通の認識を持つ。大容量デバイスではビットマップも大きくなり、帯域幅が小さいネットワークではその交換に時間を要する。
典型的なビットマップは、すべてがセットされていない
(クリーン)
あるいはセットされている
(ダーティ)
いくつかのエリアに分かれている。このため、単純ではあるがランレングス符号化を採用することにより、ビットマップ交換のためのネットワークトラフィックを顕著に減らすことができる。
過去のバージョンとの互換性のため、また高速ネットワークでは転送時間改善効果が少なく
CPU
使用量が増えるため、デフォルトではこの機能は無効である。
Introduced in 8.3.2.
--socket-check-timeout
DRBD-Proxy
を使っていて大量のバッファを確保する必要がある環境では
ping-timeout
に非現実的な大きな値を指定しなければならないことがある。TCP
コネクションが開始したときの安定するのを待つ局面でも、
DRBD はデフォルトで ping-timeout
を使ってしまう。DRBD-Proxy
は通常、同じデータセンターに配置されているため、長い待機時間は
DRBD
の接続プロセスを妨げる可能性がある。
このような場合、
socket-check-timeout に DRBD と DRBD-Proxy 間の
round trip time(RTT)
を設定するとよい。たいていの場合
1 である。
デフォルトの単位は 10
分の 1
秒である。デフォルト値は
0 で socket-check-timeout
値の代わりに ping-timeout
値を使用する。8.4.5
から導入された。
resource-options
Changes the options of the resource at runtime. --cpu-mask cpu-maskDRBD
のカーネルスレッドに
CPU
アフィニティマスクを設定する。
cpu-mask
のデフォルト値は 0
で、 DRBD
のカーネルスレッドがマシン全体の
CPU
にまたがって動作することを意味している。この値は
16
進表現で指定する必要がある。値が大きすぎると切り捨てられる。
--on-no-data-accessible ond-policy
この設定は、ディスクレスモードが発生した際の操作を指定する。設定できるポリシーは
io-error と suspend-io である。
ond-policy に suspend-io
を設定すると、最後に接続していたデータストレージから、もしくは、
drbdadm resume-io res
コマンドにより、 I/O
を再開することができる。後者はもちろん
I/O
エラーを発生させる。
デフォルトは io-error
である。この設定は、
DRBD 8.3.9
から有効である。
primary
デバイスをプライマリロールに切り替える。するとアプリケーション (この場合はファイルシステムなど) は デバイスを読み書きモードでオープンできるようになる。プライマリロールの デバイスに書き込まれたデータはセカンダリロールのデバイスにミラーされる。 通常の実行状態では、 DRBD デバイスペアの両方を同時にプライマリに切り替えることはできない。 --allow-two-primaries オプションを使用すると、DRBD の既定の仕様を変更して両ノードをプライマリにできる。 --overwrite-data-of-peer--force
のエイリアス。
--force
ローカルディスクの複製物が最新
(UpToDate)
でない場合は、プライマリになれない。つまり、データが一致しなかったり、古かったりする場合である。このオプションを指定すると、状況に関係なくプライマリに切り替えられる。このオプションは、何をしているのかを理解した上で使用するように。
secondary
デバイスをセカンダリロールに切り替える。何らかのアプリケーション (またはファイルシステム) が書き込みモードでデバイスをオープンしている間は、この操作は失敗する。 DRBD デバイスペアの両方がともにセカンダリ状態になることは問題なく可能である。verify
オンライン状態でデバイスを照合する。オンライン照合は、ローカルノードの全ブロックを対向ノードの対応するブロックと比較することである。照合の進行状況は、 /proc/drbd を通じて確認できる。ローカルディスクと対向ホストで内容が異なるブロックは、 DRBD のディスク上ビットマップに不整合としてマークされる。これらは自動的な再同期が行われない。再同期を行うには、いったんリソースの接続を切って再接続すればよい。 すでにオンライン照合が進行中の場合、 (当該ノードが照合を行い) このコマンドは成功する。この場合、 start-sector (以下参照) は無視され、 stop-sector (以下参照) が採用される。これは照合を終了するため、あるいは現在進行中の照合の範囲を 更新/ 短縮/ 拡張 するために使用される。 このコマンドは デバイスが接続されているデバイスペアのうちの一つでない場合は失敗する。 drbd.conf マニュアルページのデータ整合性に関する説明も参照のこと。 --start start-sectorバージョン 8.3.2
以降でこのオプションが利用できる。接続が切れて復旧したとき、オンライン照合は直前の最後の位置から再開する。このオプションを指定すると、任意の位置から照合を開始できる。以前に
stop-sector
に達した事があり、明示的に
start-sector
を指定しない場合には、照合は以前の停止セクタから再開される。
デフォルトの単位はセクタである。単位を明示的に指定することもできる。
開始セクタは 8
セクタの倍数 (4kB)
に切り捨てられる。
-S, --stop stop-sector
バージョン
8.3.14
以降では、オンライン照合はデバイスの最後に達する前に終了することができる。
デフォルトの単位はセクタである。単位を明示的に指定することもできる。照合が進行中に追加の
drbdsetup verify
コマンドを同じノードで実行することで、
stop-sector
を更新する事ができる。これは照合を終了するため、あるいは現在進行中の照合の範囲を
更新/ 短縮/ 拡張
するために使用される。
invalidate
接続された DRBD デバイスペアのローカル側を SyncTarget 状態に切り替える。これにより、対向ホスト側のすべてのデータブロックがローカルディスクにコピーされる。 デバイスが対向ホスト側のデバイスと接続していなかったり、切断されたセカンダリの場合、コマンドは失敗する。invalidate-remote
接続された DRBD デバイスペアのローカルデバイス側を SyncSource 状態に切り替える。これにより、ローカルディスクのすべてのデータブロックが対向ペアにコピーされる。 切断されたプライマリデバイス側では、すべてのビットが非同期のビットマップに設定される。これによってオンディスクのアクティビティログの更新が一時停止する。アクティビティログの更新が再開すると、必要に応じて自動的再開される。wait-connect
デバイスが対向デバイスと通信可能になるまで待機する。 --wfc-timeout wfc_timeout,
デバイスが
timeout
秒以内に対向ペアと通信できないと、このコマンドは失敗する。ノードが再起動する前に対向ノードが動作していた場合、
wfc_timeout
パラメータの値が使われる。ノードが再起動する前に対向ノードがダウンしていた場合には、
degr_wfc_timeout
パラメータの値が使われる。ノードが再起動する前に対向ノードが無効にされていた場合には
outdated_wfc_timeout
パラメータが使われる。これらすべてのタイムアウト値のデフォルトは
0
で、接続されるまで永久に待機することを表す。単位は秒である。スプリットブレイン状態が起きたためにデバイスが接続された後
StandaAlone
状態になってしまった場合、このコマンドは失敗する。
--wait-after-sb
を指定すると、デフォルトの動作を変更できる。
wait-sync
デバイスの同期が終わるまで待機する。このオプションは wait-connect コマンドと同じである。disconnect
net コマンドで設定した デバイスの情報を削除する。その結果、 デバイスは切断状態になり、その後はネットワーク経由の情報を受け取らない。detach
disk コマンドで設定したデバイスの情報を消去する。その結果、 デバイスは下位ストレージデバイスから切り離される。 -f, --force通常、detach
は、ディスク状態がディスクレスになってから戻ってくる。そのため、フリーズしている下位ブロックデバイスの切り離しは終了しない。
一方で、強制切り離しは即座に返答がくる。これでフリーズした下位ブロックデバイスを切り離すことができる。ディスクは全
I/O
リクエストが下位ブロックデバイスで完了するまで
failed
としてマークされることに注意。
down
デバイスの全ての設定情報を消去する。また、未設定の状態に戻す。role
デバイスとその対向デバイスの現在のロール (役割) を表示する。表示形式は ローカ ル/他ノードである。state
"role" の別名である。cstate
現在の デバイスの接続状態を表示する。dstate
現在の下位デバイスの状態を表示する。表示形式は ローカル/他ノードである。resize
下位 デバイスのサイズを再検査する。実際にオンライン拡張するには、両デバイスで下位デバイスを拡張してから、そのうちの1 台で resize コマンドを実行する。 --size オプションは DRBD デバイスで使用できるサイズのオンライン縮小に使用される。ファイルシステムがこの操作によって破損しないことはユーザ責任において確認する。 --assume-peer-has-space オプションは、現在対向ノードに接続されていないデバイスのサイズ変更ができる。対向ノードのディスクサイズを同様に変更しないと、以降接続が失敗するので注意すること。 --assume-clean オプションを使用すると DRBD は新しいストレージの再同期をスキップする。新しいストレージが、別の方法で初期化されていることが確認できている場合のみ、これを設定する。 --al-stripes と --al-stripe-size-kB オプションはオンラインでアクティビティログのレイアウトを変更する。内部メタデータの場合には、同時に、下位デバイスのユーザーに見えるサイズ( --size を使用して)の縮小、または拡大が必要である。check-resize
DRBD が下位デバイスのオフラインリサイズを検知できるようにするため、このコマンドは下位デバイスの現在のサイズを記録するために使用される。サイズは、/var/lib/drbd/ 下に drbd-minor-??.lkbd という名前で記録される。 このコマンドは drbdsetup device resize が実行された後で drbdadm resize res からコールされる。pause-sync
ローカルメタデータの一時停止フラグをセットして、進行中の再同期を一時停止する。再開させるには、ローカルと他ノードの両方の一時停止フラグをクリアする必要がある。下位レベルデバイスの RAID を再構成しているときなど、 DRBD の再同期を一時停止するのが望ましい場合がある。resume-sync
自機の一時停止フラグをクリアする。outdate
自ノードの下位レベルデバイスの内容が「無効」であるとマークする。無効ノードはプライマリになれない。このコマンドは通常 fencing や対向ノードの fence-peer ハンドラと組み合わせて使用される。show-gi
デバイスのデータ世代識別子 (data generation identifiers) の内容を説明テキストとともに表示する。get-gi
デバイスのデータ世代識別子 (data generation identifiers) の内容を表示する。show
リソースの全ての有効な設定情報を表示する。利用可能なオプション: --show-defaultsすべての設定パラメータを表示する。設定ファイルに未設定のパラメータも初期値の設定で表示する。このオプションをつけないと、初期値のパラメータは確認できない。
suspend-io
このコマンドの明確な使用法はないが、コマンドセットの完全性のために用意されている。resume-io
fencing ポリシーが resource-and-stonith に設定されており、fence-peer ハンドラの実行に失敗した場合、このコマンドによってフリーズされた I/O 操作を再開できる。status
リソースの全ての有効な設定情報を表示する。出力は、構成されたリソースごとに 1 つの段落で構成される。各段落は、リソースごとに 1 行、各デバイスに 1 行、接続ごとに 1 行が続くデバイスと接続行はインテンドされる。各接続行は、対向ノードのデバイスごとに 1 行、これらは接続行に対してインテンドされる。 長い行は端末の幅で折り返され、どの行に属しているかを示すためにインデントされる。利用可能なオプション: --verbose冗長か無関係であっても、より多くの情報を出力に含める。
--statistics
出力にデータ転送の統計情報を含める。
--color={always | auto | never}
出力をカラー化する。
--color=auto, drbdsetup
は標準出力が端末に接続されている場合にのみカラーコードを出力する。
たとえば、1
つの接続と1
つのボリュームのみを持つリソースの出力は、次のようになる。
fs-backoffice role:Primary disk:UpToDate peer role:Secondary replication:Established peer-disk:UpToDate
fs-data role:Primary suspended:no write-ordering:drain volume:0 minor:1 disk:UpToDate size:10616472 read:134465 written:144800 al-writes:18 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no blocked:no peer connection:Connected role:Secondary congested:no volume:0 replication:Established peer-disk:UpToDate resync-suspended:no received:122596 sent:22204 out-of-sync:0 pending:0 unacked:0
events2
設定されたすべての DRBD オブジェクトの現在の状態、状態へのすべての変更を表示する。 出力形式は、機械だけでなく人も読める形式である。各行はイベント番号で始まり、イベントが次の行に続く場合はアスタリスクが続く。各行の 2 番目の単語は、イベントの種類を示す: 既存オブジェクトの exists; オブジェクトが作成、破棄、変更された場合 create, destroy, change; イベントハンドラが呼び出された、戻った場合 call, response である。第 3 の単語は、イベントが適用されるオブジェクトを示す: resource, device, connection, peer-device, helper, 現在の状態が完全にダンプされたことを示すための dash ( -) 残りの単語はオブジェクトを識別し、オブジェクトが入っている状態を記述する。利用可能なオプション: --now現在の状態を報告した後に終了する。デフォルトでは、継続的に監視し、状態の変化を報告する。
--statistics
統計情報を出力に含める。
events
推奨しない。可能であれば、events2 サブコマンドに変更する。 DRBD のすべての状態変化とヘルパープログラムの呼び出し経緯を表示する。このコマンドは、DRBD の状態変化を他のプログラムにパイプで渡したいときに利用できる。 --all-devicesすべての DRBD
デバイスの状態を表示する。
--unfiltered
このオプションはデバッグ用である。すべてのネットリンクレイやの受信メッセージの内容を表示する。
new-current-uuid
現在 UUID を生成して、他のすべての UUID をローテートする。このコマンドには 2 通りの利用シーンが考えられる。まず、初期同期を省略する際に利用する。また、 1 台で設定を行った後遠隔サイトに運搬することにより帯域幅を節約するためにも利用できる。 利用可能なオプション: --clear-bitmap現在 UUID
を生成すると同時に同期ビットマップをクリアする。
このオプションは、ゼロから新規に構築する際に初期同期を省略するために使用する。この方法は、作ったばかりのメタデータに対して効果がある。必要なステップは以下のとおり:
1.両ノードでメタデータを初期化してデバイスを設定する。
drbdadm -- --force create-md res
2.それぞれのサイズを知るために初期ハンドシェークが必要となる。
drbdadm up res
3.Secondary/Secondary
Inconsistent/Inconsistent
の状態で接続される。新しい現在
UUID
を作りダーティなビットマップをクリアする。
drbdadm new-current-uuid --clear-bitmap res
4.Secondary/Secondary UpToDate/UpToDate
の状態で接続される。片方をプライマリに切り替えてファイルシステムを作成する。
drbdadm primary res
mkfs -t fs-type $(drbdadm sh-dev
res)
この方法の明らかな欠点は、別の方法でディスク内容を同一にしない限り、複製物全体に古いゴミのデータが残ることである。このため、オンライン照合は多数の非同期ブロックを見出してしまう。
この方法は、すでにデータのあるディスクに適用してはならない!
最初は動作しているように見えても、ノードの切り替えを行うとデータが壊れてしまい二度と使えなくなる。そのため、
mkfs
を省略してはならない (またはそれに相当する操作)。
このコマンドは、最初のノードを本稼働させた後でディスク自体を
2
番目のノードに移すという手法により、クラスタの初期化時間を短縮する目的にも適用できる。この方法は、切断されたデバイスに対してのみ有効である。デバイスのロールはプライマリでもセカンダリでもよい。
必要なステップは以下のとおり:
1.drbdsetup new-current-uuid
--clear-bitmap minor
2.現在のアクティブなサーバのディスクをコピーする。たとえば
RAID1
コントローラ配下のディスクを
1 本抜く、 dd
でコピーするなど。実際のデータ領域とメタデータの両方をコピーする必要がある。
3.drbdsetup new-current-uuid
minor
EXAMPLES
詳しくは DRBD ユーザーズガイド DRBD User's Guide[1] を参照。VERSION
このドキュメントは DRBD バージョン 8.3.2 向けに改訂されている。AUTHOR
Written by Philipp Reisner <[email protected]> and Lars Ellenberg <[email protected]>REPORTING BUGS
Report bugs to <[email protected]>.COPYRIGHT
Copyright 2001-2008 LINBIT Information Technologies, Philipp Reisner, Lars Ellenberg. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.SEE ALSO
drbd.conf(5), drbd(8), drbddisk(8), drbdadm(8), DRBD User's Guide[1], DRBD web site[2]NOTES
- 1.
- DRBD User's Guide
- 2.
- DRBD web site
6 May 2011 | DRBD 8.4.0 |