サーバーデータの移行を実行するためのあまり複雑な方法は何ですか?

サーバーデータの移行を実行するためのあまり複雑な方法は何ですか?

SOにはあまりにも具体的か個人的な質問かもしれませんが、

現在単一のハードドライブを実行しているサーバーを継承しており、デフォルトのUbuntu 16.04サーバー設定を使用すると、サーバーは次のパーティションスキームに従ってディスクを実行しています。

sda1 : 512 Mb : Boot : primary/physical partition
sda2 : Rest of Disk : Extended Partition
sda5 : Rest of Disk : Logical, Linux LVM Partition

LVMには、このディスクのみで構成されたボリュームグループがあります。それは次のように分けられます:

swap_1 (2.00 GB)
root (remaining space)

究極の目標は、このドライブの内容(および構造)を2つの大きなドライブに移動することです。個別に起動可能なRAID1ドライブ。

つまり、私の「目標」は、新しいsdbであるsdcの新しいメンバーのそれぞれです。

/dev/md0 は sdb1 と sdc1 の間の raid1 になり、フォーマットされ (希望的に) sda1 のコピーになります。 Md0はLVMによって処理されず、直接使用されます(したがって、LVMから起動できます)

/dev/md1 は sdb2 と sdc2 の間で raid1 になります。 / dev / md1は新しいVGの唯一のPVとして使用され、上記と同様に区別されます(2 GBはスワップ用、残りはストレージ用)。

したがって、仮想プロセスでは、回復CDを使用してシステムを起動し、md0とmd1を設定し、md1にLVMを作成し、ddを使用してデータをsda1からmd0に、/dev/vg1/rootから/dev/vg2 / にそれぞれコピーするジョブが含まれます。根。もちろん、grubは/ sdbと/ sdcにもインストールする必要があります。

初期テストは有望に見えますが、より良い実用的なアプローチはありますか?

ベストアンサー1

実行中の操作に特に間違った(または複雑な)点はないようですが、LVMを使用しているため、他のオプションがあります。pvmoveデータを新しい配列に移動するために使用できます。利点は、これをオンラインで実行できるため、ダウンタイムがほとんどないことです。

pvmoveを使用するには、既存のボリュームグループを展開し(pvcreate /dev/md1 && vgextend existing-group /dev/md1)、pvmoveを使用して論理ボリュームを移動し(pvmove --atomic /dev/sda5 /dev/md1)、最後にvgreduce existing-group /dev/sda5ボリュームグループからsda5を削除する必要があります()。

dd/bootは通常の操作では使用されないため、オンライン(使用)にコピーできます。まず削除するだけです。

どちらにしても、initramfsを更新したことを確認してください。これでmdraidを起動する必要がありますが、以前はそうではありませんでした。

次の再起動を計画し、問題が発生した場合に備えてリカバリディスクを準備します(例:initramfsが正しく作成されていません)。もちろん、まずマニュアルページをテストして読むことをお勧めします。

おすすめ記事