2014年8月19日火曜日

LVM とファイルシステム拡張。(Oracle Linux 6.5 + ext4)

Oracle VM Server の VM で、
ファイルシステムをマウントしたまま LVM 拡張してみようと思います。

今回の OS は Oracle Linux 6.5 で、
ファイルシステムは ext4 です。
[root@dga1 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@dga1 ~]# uname -r
3.8.13-16.2.1.el6uek.x86_64
[root@dga1 ~]# mount | grep /u01
/dev/mapper/vg01-lv_u01 on /u01 type ext4 (rw)

順に領域拡張していこうと思います。


LVM フィジカルボリュームの作成

ディスクデバイスを認識させたら、
最初に PV(フィジカルボリューム) を作成します。



今回 LVM に割り当てる、OS に認識させたディスクです。
デバイスは、既に OS に認識させてある状態です。
Oracle VM Server の仮想ディスクで、
「/dev/xvd~」というデバイス名になっています。
[root@dga1 ~]# fdisk -l /dev/xvde

ディスク /dev/xvde: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

ディスクを PV にします。
[root@dga1 ~]# pvcreate /dev/xvde
  Physical volume "/dev/xvde" successfully created

PV が作成されました。
作成した直後は、PV の PE(フィジカルエクステント)がまだゼロです。
[root@dga1 ~]# pvdisplay /dev/xvde
  "/dev/xvde" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/xvde
  VG Name
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               NFQeA6-BUXJ-1ZdH-jjrd-wcVx-3rcH-KrhfHA

LVM ボリュームグループを拡張

VG(ボリュームグループ) に PV を追加します。



いまのところ、VG に空き PE はありません。
[root@dga1 ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               9.99 GiB
  PE Size               4.00 MiB
  Total PE              2558
  Alloc PE / Size       2558 / 9.99 GiB
  Free  PE / Size       0 / 0
  VG UUID               mqF5A0-U1Js-8I7Z-Qm6U-Hewn-UUYD-AF1gzO

VGに、PV を追加します。
[root@dga1 ~]# vgextend vg01 /dev/xvde
  Volume group "vg01" successfully extended

PV に PE が作成されました。
[root@dga1 ~]# pvdisplay /dev/xvde
  --- Physical volume ---
  PV Name               /dev/xvde
  VG Name               vg01
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               5119
  Allocated PE          0
  PV UUID               NFQeA6-BUXJ-1ZdH-jjrd-wcVx-3rcH-KrhfHA

その分、VG の 合計 PE 、空き PE が増ました。
[root@dga2 ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               29.99 GiB
  PE Size               4.00 MiB
  Total PE              7677
  Alloc PE / Size       2558 / 9.99 GiB
  Free  PE / Size       5119 / 20.00 GiB
  VG UUID               mqF5A0-U1Js-8I7Z-Qm6U-Hewn-UUYD-AF1gzO

LVM 論理ボリュームを拡張

VG に容量追加されたので、LV(ロジカル ボリューム)を拡張します。



拡張前の LV です。
今回は、「/dev/vg01/lv_u01」という LV を拡張します。
[root@dga1 ~]# lvdisplay /dev/vg01/lv_u01
  --- Logical volume ---
  LV Path                /dev/vg01/lv_u01
  LV Name                lv_u01
  VG Name                vg01
  LV UUID                f8s6v0-0zHS-KBXY-55Ik-78h9-LshZ-sGVgkn
  LV Write Access        read/write
  LV Creation host, time ol65-base, 2014-08-11 13:45:30 +0900
  LV Status              available
  # open                 1
  LV Size                9.99 GiB
  Current LE             2558
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

LV に、VG の PE をすべて割り当てます。
[root@dga1 ~]# lvextend --extents 7677 /dev/vg01/lv_u01
  Extending logical volume lv_u01 to 29.99 GiB
  Logical volume lv_u01 successfully resized

PV の空き PE がゼロになっています。
[root@dga1 ~]# pvdisplay /dev/xvde
  --- Physical volume ---
  PV Name               /dev/xvde
  VG Name               vg01
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               0
  Allocated PE          5119
  PV UUID               NFQeA6-BUXJ-1ZdH-jjrd-wcVx-3rcH-KrhfHA

VG の空き PE もゼロになりました。
[root@dga1 ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               29.99 GiB
  PE Size               4.00 MiB
  Total PE              7677
  Alloc PE / Size       7677 / 29.99 GiB
  Free  PE / Size       0 / 0
  VG UUID               mqF5A0-U1Js-8I7Z-Qm6U-Hewn-UUYD-AF1gzO

その分、LV が拡張されました。
[root@dga1 ~]# lvdisplay /dev/vg01/lv_u01  --- Logical volume ---
  LV Path                /dev/vg01/lv_u01
  LV Name                lv_u01
  VG Name                vg01
  LV UUID                f8s6v0-0zHS-KBXY-55Ik-78h9-LshZ-sGVgkn
  LV Write Access        read/write
  LV Creation host, time ol65-base, 2014-08-11 13:45:30 +0900
  LV Status              available
  # open                 1
  LV Size                29.99 GiB
  Current LE             7677
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

ext4 ファイルシステムの拡張

拡張した LV に合わせて、ファイルシステムを拡張します。



LV 「/dev/mapper/vg01-lv_u01」に作成してあるファイルシステムは
「/u01」ディレクトリにマウントしたままです。
[root@dga1 ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_ol65base-lv_root  8.3G  3.0G  4.9G  38% /
tmpfs                            1.5G  383M  1.1G  26% /dev/shm
/dev/xvda1                       477M   55M  397M  13% /boot
/dev/mapper/vg01-lv_u01          9.8G  8.8G  484M  95% /u01

ファイルシステムを拡張します。
[root@dga1 ~]# resize2fs /dev/mapper/vg01-lv_u01
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vg01-lv_u01 is mounted on /u01; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/vg01-lv_u01 is now 7861248 blocks long.

ファイルシステムが拡張されました。
[root@dga1 ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_ol65base-lv_root  8.3G  3.0G  4.9G  38% /
tmpfs                            1.5G  383M  1.1G  26% /dev/shm
/dev/xvda1                       477M   55M  397M  13% /boot
/dev/mapper/vg01-lv_u01           30G  8.8G   20G  32% /u01

検証していて、「やっぱり足りなかった」になりやすそうな
/u01 を拡張してみました。

以上、LVM の領域拡張でした。