web-dev-qa-db-ja.com

ext4でフォーマットされたディスクを、ext4を搭載したLVMに変換する最速の方法は?

私は現在cp -aR私の(99%フル)1TB ext4フォーマットのディスクから新しいLVM-with-ext4-on-itディスクにデータをコピーします。それは永遠にかかっています。

ディスクを適切に「変換」する方法はありますか? EC2を使用しているため、バックアップには数分かかります。

または、ext4ファイルシステムをLVMディスクに直接コピーするためのcpよりも高速な方法はありますか?

12
Max

この変換をインプレースで行う blocks (néelvmify)と書きました。これは、ファイルシステムを少し縮小し、ファイルシステムの先頭をパーティションの末尾に移動し、代わりにLVMスーパーブロック(適切なPV/LV/VGで構成済み)をコピーすることで機能します。

23
Gabriel

ディスクをライブで変換する方法はわかりませんが、rsyncがデータをコピーするためのより優れた安全な方法になると思います。転送が停止した場合でも、データを再開してそのまま保持できます。

ローカルシステムに外部ドライブをLVMとして追加することで、同様のプロセスが完了したことを確認しました。十分な情報はありませんが、始めるには十分だと思います。

「それで、今日、私はLVMがすごいことを発見しました。Debianをインストールして、「LVM-ディスク全体を使用」を選択しました。しかし、メインドライブは、低速で小型の5200rpmラップトップドライブでした。今日、スペアの1.5TBドライブを挿入して起動しました。代わりに、このより高速なドライブ上のシステム。

LVMアプローチ:/ dev/sdcをボリュームグループに追加してから、「pvmove/dev/sda」を実行します。これにより、すべてのデータがsdaから他のドライブに移動します(sdcのみ使用可能)。再起動する必要も、アンマウントする必要もありません。これを書いている間、データは移動されています。

後で、「vgreduce megatron/dev/sda」を実行して、ボリュームグループから低速ドライブを削除し、出来上がります。データを移動しました。 (メガトロンはボリュームグループと私のコンピューターの名前です)。これは多くの人にとって古いニュースかもしれませんが、これは本当にクールだと思いました:) "

これはローカルで行われたことを認めますが、追加の調査を行うことで、おそらくこれを達成できるでしょう。

ソース

2
bmurtagh

このようなLVM変換を「オンザフライ」で実行する方法はありません。

LVMは実際にはファイルシステムの下に常駐して、複数の物理デバイスに拡張したり、ストライプやミラーリングしたりします。論理ボリュームを作成する最後のステップは、ファイルシステムをその上に置くことです。 ここに例があります RHEL6から。

必要なのは、そのデバイスのデータをバックアップまたはアーカイブしてから、既存のファイルシステムを破棄し、論理ボリュームを作成して、ファイルシステムを再配置することです。これがLinux OSのルートファイルシステムである場合は、再インストールを検討してください。それはより速いかもしれません。

より高速なコピーのために、私はddが好きですが、頻繁には使用しません。 ddを間違えると危険です。あなたが試すことができる1つのことは、オンザフライで圧縮されたtarファイルを転送するtar czv <source fs> | (cd <destination fs>; tar x)です。

幸運を!

2
dafydd