web-dev-qa-db-ja.com

論理ボリュームを新しい物理ディスクに移動する

1つの物理ボリューム(既存のディスク全体/ dev/sda)を使用して、1つのボリュームグループに3つの論理ボリュームがあります。

次に、これらの論理ボリュームの1つを新しい高速ディスクに移動します。つまり、次の場所から移動します。

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

に:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

既存のボリュームグループには物理ボリュームが1つしかないため、pvmoveまたはvgsplitを使用できません。

これを達成するための良いアプローチは何ですか(できればオンラインで、新しいディスク用に新しいボリュームグループを作成する必要はありません)?

14
htorque

1つのボリュームグループソリューション:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

2つのボリュームグループソリューション:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

難しい部分ですが、すべてのアクティビティは/barで停止する必要があります:

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

どこ

  • pvcreateディスク上のすべてのデータを消去します(そしてLVMの準備をします)
  • lvcreate論理ボリュームlvol1を作成するため、-n barでlv名を指定します
  • 私はlvにHP-UX構文を使用していますが、/dev/mapper/myvg-mylv構文を使用する必要があるかもしれません

データが問題ないことを確認したら、新しい場所で:

  • 古い/barを安全に削除できます
  • 新しい/etc/fstabを使用するように/barを編集
21
Archemar