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が正しく作成されていません)。もちろん、まずマニュアルページをテストして読むことをお勧めします。