LVM上のファイルシステムを拡張する

目次

状況

  • ルートファイルシステムの残り容量が 10%を切ってしまった。

  • ルートファイルシステムは LVM 上にあり未割当のブロックはまだ残っている。

  • ルートファイルシステムは ext4。

    $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/fs-root 11G 9.7G 486M 96% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 1.9G 4.0K 1.9G 1% /dev tmpfs 382M 592K 382M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.9G 0 1.9G 0% /run/shm none 100M 0 100M 0% /run/user /dev/sda1 228M 60M 157M 28% /boot

    $ sudo lvdisplay /dev/fs/root — Logical volume — LV Path /dev/fs/root LV Name root VG Name fs LV UUID jLrK9R-W1PT-zzmx-ep27-IdPY-H2Tf-jcyMXC LV Write Access read/write LV Creation host, time , LV Status available

    open 1

    LV Size 10.97 GiB Current LE 2809 Segments 1 Allocation inherit Read ahead sectors auto

    • currently set to 256 Block device 252:0

    $ sudo pvdisplay — Physical volume — PV Name /dev/sda5 VG Name fs PV Size 37.03 GiB / not usable 1.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 9480 Free PE 3106 Allocated PE 6374 PV UUID z34vz3-0aVt-wFjy-s81b-c88D-XIOc-Kxqgti

pvdisplayコマンドの結果から未割当のブロック(Free PE)が 3106 残っていることが分かります。PE のサイズが 4MiB なので、3106 の PE は約 12GiB です。

対応

未割当のブロックが 12GiB あるので、この一部(3GiB)を ROOT FS の LV に追加します。

$ sudo lvextend -L +3G /dev/mapper/fs-root
  Extending logical volume root to 13.97 GiB
  Logical volume root successfully resized
$ sudo lvdisplay /dev/fs/root
  --- Logical volume ---
  LV Path                /dev/fs/root
  LV Name                root
  VG Name                fs
  LV UUID                jLrK9R-W1PT-zzmx-ep27-IdPY-H2Tf-jcyMXC
  LV Write Access        read/write
  LV Creation host, time ,
  LV Status              available
  # open                 1
  LV Size                13.97 GiB
  Current LE             3577
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

これで ROOT FS の LV サイズが約 14GiB に増えました。しかしこのままでは、ファイルシステムは増加した部分を使用できません。

ファイルシステムが LVM 上で拡張した部分を使えるようにファイルシステム自体を拡張します。通常ならばシステムを停止またはアンマウントしてファイルシステムを拡張する必要がありますが、ext4 ファイルシステムはライブリサイズに対応しているのでこのまま進めます。

$ sudo resize2fs /dev/fs/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/fs/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/fs/root is now 3662848 blocks long.

$ df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/fs-root      14G  9.7G  3.3G  75% /
none                      4.0K     0  4.0K   0% /sys/fs/cgroup
udev                      1.9G  4.0K  1.9G   1% /dev
tmpfs                     382M  596K  382M   1% /run
none                      5.0M     0  5.0M   0% /run/lock
none                      1.9G     0  1.9G   0% /run/shm
none                      100M     0  100M   0% /run/user
/dev/sda1                 228M   60M  157M  28% /boot

これで ROOT FS の容量が最初の 11GiB から 14GiB に増え、その結果使用量が 75%になりました。

参照

論理ボリュームを拡大するには – Linux Tips @IT