私のソフトウェアRAID5構成(3つのドライブ)をイメージしてから、それを新しいハードドライブセットに移動したいと思います。 CloneZillaはソフトウェアRAIDをサポートしていないので、次のことをしたいと思います。
CloneZillaを使用して、外付けHDDに各デバイス(
/dev/sda/
〜sda.img
からsdb
)の画像を作成しますsdc
。新しいハードドライブをコンピュータに接続します。
Clonezillaを使用して各画像をそのデバイスに復元します(で
sda.img
新規、および/dev/sda
で同じ)。sdb
sdc
sda
、、、を使用してsdb
新しいRAID5を作成します。sdc
mdadm
このプログラムは動作しますか?ドライブイメージだけを撮るだけで新しいRAIDで動作できるかどうか心配です。
答え1
想像通りにハードドライブを複製できますが、方程式からCloneZillaを完全に削除することをお勧めします。
私はあなたがこれをしなければならないと思います:
- どのドライブが古いものか、どれが新しいものであるか、どのディスクイメージがどのドライブから出るかを追跡します。
md
デバイスが取り外され、停止していることを必ず確認してください。もしそうなら、/dev/md0
(rootとして)実行してください。umount /dev/md0
mdadm --stop /dev/md0
- 外付けハードドライブにファイルシステムがあることを確認してマウントします。私はこれを
/mnt
デモンストレーションのためのマウントポイントとして使用します。 xz
動作するコンプレッサーがあることを確認してください。それ以外の場合は使用できますが、コマンドを置き換えて代わりにgzip
ファイルxz
を使用してください!gzip
.gz
.xz
- 各ドライブに対して(ルートシェルから)を実行します
cat /dev/sdX | xz > /mnt/sdY.img.xz
。/dev/sdX
クローンドライブになり、sdY.img.xz
作成するイメージの名前にもなります。sdX
適切なドライブ(たとえば)と交換/dev/sda
し、イメージ名をそれぞれ指定します。 (複製した最初のドライブの名前をとして指定しますsd1.img.xz
。)私が想像するように、外付けドライブはすぐにいっぱいになるので、おそらくステップ4を実行してからステップ3に戻って次のドライブをインポートする必要があります。これにより、外付けドライブはアレイ内のすべてのハードドライブではなく、1つのハードドライブのバッファとしてのみ機能します。 - これでドライブを復元する必要があります。外付けハードドライブをマウントして新しいドライブを接続したら(ルートシェルから)、ディスクイメージが
cat /mnt/sdY.img.xz | xz -d > /dev/sdX
どこにあり、複製する新しいドライブが何であるかを実行します。sdY.img.xz
/dev/sdX
- 各ドライブに2つのコピーがあるので、
mdadm
どのドライブがどのドライブか混乱しないようにする必要があります。既存のドライブを上書きすると、これは可能ですが、すべてのスーパーブロックとパーティションテーブルが消えるように最初の64MiBのみが上書きされます。以前のドライブごとに(ルートとして!)実行してくださいdd if=/dev/zero of=/dev/sdX bs=4M count=8
。ドライブを完全に上書きするには(コンテンツを安全に消去したい場合)、cat /dev/zero > /dev/sdX
rootでそれを行うことができます。 - 各ドライブのコピーは1つだけで、すべて新しいドライブに存在する必要があります。
mdadm
再構成を実行する必要がないように、同じ方法で表示する必要があります。