5.3. ボリュームグループの分割

この手順例では、3 つの物理ボリュームから構成されるボリュームグループを使用します。この物理ボリュームに未使用領域が十分にあれば、新たにディスクを追加しなくてもボリュームグループを作成できます。
はじめに、ボリュームグループ myvol から論理ボリューム mylv を作成します。そのボリュームグループは、/dev/sda1/dev/sdb1、および /dev/sdc1 の 3 つの物理ボリュームで構成されます。
その後、/dev/sda1/dev/sdb1 を使用したボリュームグループ myvg と、/dev/sdc1 を使用したボリュームグループ yourvg を使用します。
  1. pvscan コマンドを使用すると、現在ボリュームグループで利用可能な空き領域の容量を確認できます。
    # pvscan
      PV /dev/sda1  VG myvg   lvm2 [17.15 GB / 0    free]
      PV /dev/sdb1  VG myvg   lvm2 [17.15 GB / 12.15 GB free]
      PV /dev/sdc1  VG myvg   lvm2 [17.15 GB / 15.80 GB free]
      Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0   ]
  2. pvmove コマンドを使用して、/dev/sdc1 で使用中の物理エクステントをすべて /dev/sdb1 に移動することができます。pvmove コマンドの実行には時間がかかる場合があります。
    # pvmove /dev/sdc1 /dev/sdb1
      /dev/sdc1: Moved: 14.7%
      /dev/sdc1: Moved: 30.3%
      /dev/sdc1: Moved: 45.7%
      /dev/sdc1: Moved: 61.0%
      /dev/sdc1: Moved: 76.6%
      /dev/sdc1: Moved: 92.2%
      /dev/sdc1: Moved: 100.0%
    データを移動したら、/dev/sdc1 上のすべての領域が空き領域になっていることが確認できます。
    # pvscan
      PV /dev/sda1   VG myvg   lvm2 [17.15 GB / 0    free]
      PV /dev/sdb1   VG myvg   lvm2 [17.15 GB / 10.80 GB free]
      PV /dev/sdc1   VG myvg   lvm2 [17.15 GB / 17.15 GB free]
      Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0   ]
  3. 新規ボリュームグループ yourvg を作成するために、vgsplit コマンドを使用して、ボリュームグループ myvg を分割します。
    ボリュームグループを分割するには、論理ボリュームが非アクティブな状態である必要があります。ファイルシステムがマウントされている場合は、論理ボリュームを非アクティブ化する前に、そのファイルシステムをアンマウントする必要があります。
    論理ボリュームを非アクティブ化するには、lvchange コマンドまたは vgchange コマンドを使用します。以下のコマンドを実行すると、論理ボリューム mylv が非アクティブ化され、ボリュームグループ myvg からボリュームグループ yourvg が分割され、物理ボリューム /dev/sdc1 が新規のボリュームグループ yourvg に移動します。
    # lvchange -a n /dev/myvg/mylv
    # vgsplit myvg yourvg /dev/sdc1
      Volume group "yourvg" successfully split from "myvg"
    vgs を使用すると、2 つのボリュームグループの属性を確認できます。
    # vgs
      VG     #PV #LV #SN Attr   VSize  VFree
      myvg     2   1   0 wz--n- 34.30G 10.80G
      yourvg   1   0   0 wz--n- 17.15G 17.15G
  4. ボリュームグループを新しく作成したら、新規の論理ボリューム yourlv を作成します。
    # lvcreate -L 5G -n yourlv yourvg
      Logical volume "yourlv" created
  5. 新規の論理ボリュームにファイルシステムを作成し、その論理ボリュームをマウントします。
    #  mkfs.gfs2 -p lock_nolock -j 1 /dev/yourvg/yourlv
    This will destroy any data on /dev/yourvg/yourlv.
    
    Are you sure you want to proceed? [y/n] y
    
    Device:                    /dev/yourvg/yourlv
    Blocksize:                 4096
    Filesystem Size:           1277816
    Journals:                  1
    Resource Groups:           20
    Locking Protocol:          lock_nolock
    Lock Table:
    
    Syncing...
    All Done
    
    # mount /dev/yourvg/yourlv /mnt
  6. 前の手順で、論理ボリューム mylv を非アクティブ化しました。したがって、この論理ボリュームをマウントする前に、再度アクティブ化する必要があります。
    # lvchange -a y /dev/myvg/mylv
    
    # mount /dev/myvg/mylv /mnt
    # df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/yourvg/yourlv    24507776        32  24507744   1% /mnt
    /dev/myvg/mylv        24507776        32  24507744   1% /mnt