LVMの論理ボリュームサイズ縮小(PV取り外し)

前回の、「LVMを使っての既存ファイルシステム拡張」の続きです。

今度はボリュームグループに追加した物理ボリュームの取り外しを行います。

ちなみに、この取り外し作業では手順を間違えたりめんどくさがってやってしまうと失敗します。

(いきなりパーティション削除とかしたらOSが起動しなくなりました。)

 

今回取り外し対象の物理ボリュームは赤字になっている部分です。

  [root@localhost kiyoto]# vgdisplay -v
  Finding all volume groups
  Finding volume group "VolGroup"
  -- Volume group ---
  VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               53.22 GiB
  PE Size               32.00 MiB
  Total PE              1703
  Alloc PE / Size       1384 / 43.25 GiB
  Free  PE / Size       319 / 9.97 GiB
  VG UUID               ioSlrx-15VC-Zf9Q-YjOW-MpXM-vPWn-YUZ04g
  
    --- Physical volumes ---
  PV Name               /dev/sda3     
  PV UUID               iQuL9H-H1ic-3lPS-L5ja-v3y0-a2rB-0k5cf1
  PV Status             allocatable
  Total PE / Free PE    744 / 0
   
  PV Name               /dev/sda4     
  PV UUID               wW8jGT-hb2T-85UN-mmA5-bIPd-Pti8-Lc0ruw
  PV Status             allocatable
  Total PE / Free PE    959 / 319

これは物理ボリュームとして30Gあり、そのうちの20Gをボリュームグループに割り当てています。

今回は/dev/sda4を取り外し、削除します。

 

1.対象のボリュームグループをアンマウントする

※LiveCDで起動し、取り外し作業を行う。

[root@localhost kiyoto]# df
ファイルシス                 1K-ブロック    使用   使用可 使用% マウント位置
rootfs                          31621252 8448332 22980960   27% /
devtmpfs                         1538816       0  1538816    0% /dev
tmpfs                            1547568     228  1547340    1% /dev/shm
tmpfs                            1547568   43240  1504328    3% /run
/dev/mapper/VolGroup-lv_root    31621252 8448332 22980960   27% /
tmpfs                            1547568   43240  1504328    3% /run
tmpfs                            1547568       0  1547568    0% /sys/fs/cgroup
tmpfs                            1547568       0  1547568    0% /media
/dev/sda2                         508644   96028   387016   20% /boot

 

2.ファイルシステムをチェックする

※このチェックを行わないと、次のステップに進むことができない。

[root@localhost liveuser]# e2fsck -f /dev/mapper/VolGroup-lv_root
e2fsck 1.41.14 (22-Dec-2010)
Resize inode not valid.  Recreate? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #0 (14909, counted=14910).

 

3.ファイルシステムのサイズ変更

[root@localhost liveuser]# resize2fs /dev/mapper/VolGroup-lv_root 15G
resize2fs 1.41.14 (22-Dec-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_root to 3932160 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 3932160 blocks long.

 

4.論理ボリュームのサイズ変更

[root@localhost liveuser]# lvreduce -L -20G /dev/mapper/VolGroup-lv_root
  WARNING: Reducing active logical volume to 18.31 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_root? [y/n]: y
  Reducing logical volume lv_root to 18.31 GiB
  Logical volume lv_root successfully resized

ボリュームグループ内の物理ボリュームのサイズを確認してみると、 縮小した分/dev/sda4の空き容量が増えている

[root@localhost liveuser]# vgdisplay -v
    Finding all volume groups
    Finding volume group "VolGroup"
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               53.22 GiB
  PE Size               32.00 MiB
  Total PE              1703
  Alloc PE / Size       744 / 23.25 GiB
  Free  PE / Size       959 / 29.97 GiB
  VG UUID               ioSlrx-15VC-Zf9Q-YjOW-MpXM-vPWn-YUZ04g

  --- Physical volumes ---
  PV Name               /dev/sda3
  PV UUID               iQuL9H-H1ic-3lPS-L5ja-v3y0-a2rB-0k5cf1
  PV Status             allocatable
  Total PE / Free PE    744 / 0

  PV Name               /dev/sda4
  PV UUID               wW8jGT-hb2T-85UN-mmA5-bIPd-Pti8-Lc0ruw
  PV Status             allocatable
  Total PE / Free PE    959 / 959
    

 

5.ボリュームグループから物理ボリュームを取り外す

[root@localhost liveuser]# vgreduce VolGroup /dev/sda4
  Removed "/dev/sda4" from volume group "VolGroup"

vgdisplayで確認してみると、物理ボリュームが取り外されたことが確認できる。

[root@localhost liveuser]# vgdisplay -v
    Finding all volume groups
    Finding volume group "VolGroup"
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               23.25 GiB
  PE Size               32.00 MiB
  Total PE              744
  Alloc PE / Size       744 / 23.25 GiB
  Free  PE / Size       0 / 0
  VG UUID               ioSlrx-15VC-Zf9Q-YjOW-MpXM-vPWn-YUZ04g

  --- Physical volumes ---
  PV Name               /dev/sda3
  PV UUID               iQuL9H-H1ic-3lPS-L5ja-v3y0-a2rB-0k5cf1
  PV Status             allocatable
  Total PE / Free PE    744 / 0

6.物理ボリューム削除

pvremove /dev/sda4

 

7.パーティションの削除

fdiskから/dev/sda4のパーティションを削除し、保存する。

Disk /dev/sda: 120.0 GB, 120034123776 bytes
ヘッド 255, セクタ 63, シリンダ 14593, 合計 234441648 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x12733297

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *          63    75216329    37608133+   7  HPFS/NTFS/exFAT
/dev/sda2        75216896    76240895      512000   83  Linux
/dev/sda3        76240896   125044735    24401920   8e  Linux LVM
/dev/sda4       125044736   187959295    31457280   8e  Linux LVM

コマンド (m でヘルプ): d
パーティション番号 (1-4): 4

コマンド (m でヘルプ): p

Disk /dev/sda: 120.0 GB, 120034123776 bytes
ヘッド 255, セクタ 63, シリンダ 14593, 合計 234441648 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x12733297

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *          63    75216329    37608133+   7  HPFS/NTFS/exFAT
/dev/sda2        75216896    76240895      512000   83  Linux
/dev/sda3        76240896   125044735    24401920   8e  Linux LVM