web-dev-qa-db-ja.com

すべての場所を占める既存のファイルシステムを持つディスク上のDRBD

私は現在、XENを介して環境をシミュレートしようとしています。私はそのようなFSレイアウトで2つのdebianシステムをインストールしました:

 cltest1:/ etc#df -h 
使用されるファイルシステムのサイズ使用率使用率
/dev/xvda2 6.0G 417M 5.2G 8%/ 
 tmpfs 257M 0 257M 0%/ lib/init/rw 
 udev 10M 16K 10M 1%/ dev 
 tmpfs 257M 4.0K 257M 1%/ dev/shm 

ホストcltest2は同一です。

これが私のdrbd.confです

 global {
 minor-count 1; 
} 
 
 resource mysql {
プロトコルC; 
 
 syncer {
 rate 10M; #10メガバイト
} 
 
 cltest1 {
デバイス/dev/drbd0;
ディスク/dev/xvda2;
アドレス192.168.1.186:7789;
meta-diskinternal; 
} 
 
 on cltest2 {
 device /dev/drbd0;
 disk /dev/xvda2;
 address192.168.1.187:7789;
meta-diskinternal; 
} 
} 

Drbd0にファイルシステムを作成していません

Init.dスクリプトを介してDRBDを開始すると、次のエラーが発生します。

 DRBDリソースの開始:[d(mysql)/dev/drbd0:失敗:(114)下位デバイスは既に要求されています。これは通常、マウントされていることを意味します。
 
 [mysql] cmd/sbin/drbdsetup/dev/drbd0 disk/dev/xvda2/dev/xvda2 internal --set-defaults --create-device failed-continue!

実行:drbdadm create-md mysqlは以下を提供します。

 cltest1:/ etc#drbdadm create-md mysql 
 md_offset 6442446848 
 al_offset 6442414080 
 bm_offset 6442217472 
 
 ext3ファイルシステムが見つかりました6291456 kB 
を使用現在の構成では使用可能なままです6291228kB 
 
デバイスサイズが切り捨てられ、
データが破損し、
 'アクセスを超えてしまうデバイスの終了エラー。
次のいずれかを行う必要があります
 *外部メタデータを使用する(推奨)
 *最初にそのファイルシステムを縮小する
 *デバイスをゼロにする(破棄する)ファイルシステム)
操作が拒否されました。
 
コマンド「drbdmeta/dev/drbd0 v08/dev/xvda2 internal create-md」が終了コード40で終了しました

私が理解しているように、私の問題はすべて、xvda2に未割り当てのディスク領域がないためです。

私のオプションは何ですかその他縮小FSおよび別の物理ディスクを接続する?メタデータをローカルファイルシステムのファイルに保存できませんか?

4
Karolis T.

drbdは、システムに存在していなくても、「既存の」ファイルシステムをピックアップすることがあります。あなたはdd if=/dev/zero of=/dev/xvda2(および数秒後にcontrol-C)を押すと、以前にファイルシステムを保持できた可能性のあるパーティションがクリアされます。

7
Anonymous

ディスクを任意のファイルシステム形式でマウントすることは想定されていません。 Ubuntuでは、gpartedを使用して、/ dev/xvda2を「Cleared」パーティションに指定しました。同じコマンドを実行すると、上記のエラーが削除されます。

2
Viswesn

1)wombleのコメントに注意してください
2)DRBDメタデータのオプション(すべてがAFAIKのブロックデバイスである必要があります)
A)内部-一度も使用されたことがないデバイスに適しています(状況ではありません)
B)「外部」-個別のパーティション/ドライブ。これもRamdiskの場合がありますが、メタデータは電源を入れ直すと消えます。

だからあなたはできる
A)異なるパーティションでシステムを再構築し、データパーティションで最初からdrbdを使用します
B)再起動の間に消えるRAMディスクを使用する
C)metatdata用のドライブ(USB、eSATA、内部など)を追加します。

幸運-DRBDは良いことです。

1
Jeff Hengesbach

私はあなたがやろうとしていることをつかみません。 cltest1とcltest2が同時に実行されることはありませんか?

なぜこれら2つのシステム間でルートファイルシステムをミラーリングしたいのですか?

Cltest1とcltest2を同じハードウェアで実行しますか?

Drbd-meta-deviceの場合:独自のLVに配置します。そのLVでインデックスを使用します。例えば.

メタディスク/ dev/VG/drbd_meta [1];次のdrbdは、同じLVでインデックス2を使用できます。これにより、多くのDRBDデバイスに1 GBのLVを使用できます。

0
Nils