5.4. 論理ボリュームからディスクを削除する

この手順例では、ディスクを交換するか、または別のボリュームで使用するために、既存の論理ボリュームからディスクを削除する方法を示しています。ディスクを削除する前に、LVM 物理ボリューム上のエクステントを、別のディスクまたはディスクセットに移動する必要があります。

5.4.1. 既存の物理ボリュームへのエクステントの移動

この例では、論理ボリュームが、ボリュームグループ myvg の 4 つの物理ボリュームに分配されています。
# pvs -o+pv_used
  PV         VG   Fmt  Attr PSize  PFree  Used
  /dev/sda1  myvg lvm2 a-   17.15G 12.15G  5.00G
  /dev/sdb1  myvg lvm2 a-   17.15G 12.15G  5.00G
  /dev/sdc1  myvg lvm2 a-   17.15G 12.15G  5.00G
  /dev/sdd1  myvg lvm2 a-   17.15G  2.15G 15.00G
この例では、物理ボリューム /dev/sdb1 からエクステントを移動して、この物理ボリュームをボリュームグループから削除できるようにします。
  1. 同じボリュームグループの物理ボリュームに空きエクステントが十分にある場合は、削除したいデバイスに対して (他のオプションを指定せずに) pvmove コマンドを実行すると、そのエクステントは他のデバイスに分配されます。
    # pvmove /dev/sdb1
      /dev/sdb1: Moved: 2.0%
     ...
      /dev/sdb1: Moved: 79.2%
     ...
      /dev/sdb1: Moved: 100.0%
    pvmove コマンドの実行が終了すると、エクステントの分配は次のようになります。
    # pvs -o+pv_used
      PV         VG   Fmt  Attr PSize  PFree  Used
      /dev/sda1  myvg lvm2 a-   17.15G  7.15G 10.00G
      /dev/sdb1  myvg lvm2 a-   17.15G 17.15G     0
      /dev/sdc1  myvg lvm2 a-   17.15G 12.15G  5.00G
      /dev/sdd1  myvg lvm2 a-   17.15G  2.15G 15.00G
  2. vgreduce コマンドを使用して、ボリュームグループから物理ボリューム /dev/sdb1 を削除することができます。
    # vgreduce myvg /dev/sdb1
      Removed "/dev/sdb1" from volume group "myvg"
    # pvs
      PV         VG   Fmt  Attr PSize  PFree
      /dev/sda1  myvg lvm2 a-   17.15G  7.15G
      /dev/sdb1       lvm2 --   17.15G 17.15G
      /dev/sdc1  myvg lvm2 a-   17.15G 12.15G
      /dev/sdd1  myvg lvm2 a-   17.15G  2.15G
これでディスクは物理的に削除できるようになり、他のユーザーに割り当てることも可能になります。

5.4.2. 新規ディスクへのエクステントの移動

この例では、以下のように、ボリュームグループ myvg の 3 つの物理ボリュームに、論理ボリュームが分配されています。
# pvs -o+pv_used
  PV         VG   Fmt  Attr PSize  PFree  Used
  /dev/sda1  myvg lvm2 a-   17.15G  7.15G 10.00G
  /dev/sdb1  myvg lvm2 a-   17.15G 15.15G  2.00G
  /dev/sdc1  myvg lvm2 a-   17.15G 15.15G  2.00G
以下の手順では、/dev/sdb1 のエクステントを、新しいデバイス /dev/sdd1 に移動します。
  1. /dev/sdd1 から、物理ボリュームを作成します。
    # pvcreate /dev/sdd1
      Physical volume "/dev/sdd1" successfully created
  2. 新たに作成した物理ボリューム /dev/sdd1 を、既存のボリュームグループ myvg に追加します。
    # vgextend myvg /dev/sdd1
      Volume group "myvg" successfully extended
    # pvs -o+pv_used
      PV         VG   Fmt  Attr PSize  PFree  Used
      /dev/sda1   myvg lvm2 a-   17.15G  7.15G 10.00G
      /dev/sdb1   myvg lvm2 a-   17.15G 15.15G  2.00G
      /dev/sdc1   myvg lvm2 a-   17.15G 15.15G  2.00G
      /dev/sdd1   myvg lvm2 a-   17.15G 17.15G     0
  3. pvmove を使用して、データを /dev/sdb1 から /dev/sdd1 へ移動します。
    # pvmove /dev/sdb1 /dev/sdd1
      /dev/sdb1: Moved: 10.0%
    ...
      /dev/sdb1: Moved: 79.7%
    ...
      /dev/sdb1: Moved: 100.0%
    
    # pvs -o+pv_used
      PV          VG   Fmt  Attr PSize  PFree  Used
      /dev/sda1   myvg lvm2 a-   17.15G  7.15G 10.00G
      /dev/sdb1   myvg lvm2 a-   17.15G 17.15G     0
      /dev/sdc1   myvg lvm2 a-   17.15G 15.15G  2.00G
      /dev/sdd1   myvg lvm2 a-   17.15G 15.15G  2.00G
  4. データを /dev/sdb1 から移動したら、この物理ボリュームをボリュームグループから削除できます。
    # vgreduce myvg /dev/sdb1
      Removed "/dev/sdb1" from volume group "myvg"
これで、このディスクを別のボリュームグループに再割り当てしたり、システムから削除できるようになりました。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。