LVM partition 拡張

LVM Partition を拡張したのでメモしときます。

1. DISK の未使用部分を LVM Partition(8e) に割り当てる
fdisk で /dev/sda3 を追加。

# fdisk -l /dev/sda
 
Disk /dev/sda: 1998.0 GB, 1997998653440 bytes
255 heads, 63 sectors/track, 242909 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x53c96b5d
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
/dev/sda2              64        9730    77637632   8e  Linux LVM
/dev/sda3            9730      242909  1873015886+  8e  Linux LVM
2. 作成した LVM Partition(8e) に PV を作成する
# pvcreate /dev/sda3
  Writing physical volume data to disk "/dev/sda3"
  Physical volume "/dev/sda3" successfully created

確認。

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup00
  PV Size               74.04 GiB / not usable 10.00 MiB
  Allocatable           yes (but full)
  PE Size               32.00 MiB
  Total PE              2369
  Free PE               0
  Allocated PE          2369
  PV UUID               19Ucwg-EVtw-jCY4-Oiob-JgbP-iT6e-kHsXJa
 
  "/dev/sda3" is a new physical volume of "1.74 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda3
  VG Name
  PV Size               1.74 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               NxgCf3-NFs6-5glX-sMM9-CdGp-tAgS-uBQ2A9
3. VG(VolumeGroup00) に PV を追加する
# vgextend VolGroup00 /dev/sda3
  Volume group "VolGroup00" successfully extended

確認。

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup00
  PV Size               74.04 GiB / not usable 10.00 MiB
  Allocatable           yes (but full)
  PE Size               32.00 MiB
  Total PE              2369
  Free PE               0
  Allocated PE          2369
  PV UUID               19Ucwg-EVtw-jCY4-Oiob-JgbP-iT6e-kHsXJa
 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               VolGroup00
  PV Size               1.74 TiB / not usable 29.08 MiB
  Allocatable           yes
  PE Size               32.00 MiB
  Total PE              57159
  Free PE               57159
  Allocated PE          0
  PV UUID               NxgCf3-NFs6-5glX-sMM9-CdGp-tAgS-uBQ2A9
# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.82 TiB
  PE Size               32.00 MiB
  Total PE              59528
  Alloc PE / Size       2369 / 74.03 GiB
  Free  PE / Size       57159 / 1.74 TiB
  VG UUID               T6SPgx-fbpY-9WP0-H6Ux-WJKb-V4eR-1632Cd
4. LV(home) のサイズを VG(VolGroup00) の空きサイズを割り当てて拡張する
# lvextend -l +57159 /dev/VolGroup00/home
  Extending logical volume home to 1.80 TiB
  Logical volume home successfully resized
5. サイズを確認
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup00/root
  LV Name                root
  VG Name                VolGroup00
  LV UUID                2ZzdSh-GjPN-y7Vk-U0ls-LiY3-4cfK-umDFpE
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2012-08-02 05:44:43 +0900
  LV Status              available
  # open                 1
  LV Size                6.00 GiB
  Current LE             192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
 
  --- Logical volume ---
  LV Path                /dev/VolGroup00/swap
  LV Name                swap
  VG Name                VolGroup00
  LV UUID                OV2tSK-tmZz-bwqB-SWmC-TViE-Vd0r-ThqMqH
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2012-08-02 05:44:46 +0900
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
 
  --- Logical volume ---
  LV Path                /dev/VolGroup00/tmp
  LV Name                tmp
  VG Name                VolGroup00
  LV UUID                LUddtQ-2jvh-p2lI-27QP-QcIE-x4C1-gMsj5q
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2012-08-02 05:44:46 +0900
  LV Status              available
  # open                 1
  LV Size                2.00 GiB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
 
  --- Logical volume ---
  LV Path                /dev/VolGroup00/var
  LV Name                var
  VG Name                VolGroup00
  LV UUID                0y5eR0-5pcW-zrpL-iHsf-hvSK-2CAq-n1ENhC
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2012-08-02 05:44:48 +0900
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
 
  --- Logical volume ---
  LV Path                /dev/VolGroup00/home
  LV Name                home
  VG Name                VolGroup00
  LV UUID                E0Q4NM-PLJm-RUGg-8A0u-LYmv-P18c-NyGtOZ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2012-08-02 05:44:51 +0900
  LV Status              available
  # open                 1
  LV Size                1.80 TiB
  Current LE             59016
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.82 TiB
  PE Size               32.00 MiB
  Total PE              59528
  Alloc PE / Size       59528 / 1.82 TiB
  Free  PE / Size       0 / 0
  VG UUID               T6SPgx-fbpY-9WP0-H6Ux-WJKb-V4eR-1632Cd
6. ファイルシステムの拡張をする前に念のため umount

umout /home したら /home を使用しているプロセスがいて busy になったので、プロセス停止。

プロセスの調べ方は fuser コマンドを利用する。

# fuser -muv /home
                     USER        PID ACCESS COMMAND
/home:               mysql      2370 F.c.. (mysql)mysqld
                     root       2457 ....m (root)httpd
                     apache    19941 ....m (apache)httpd
                     apache    19942 ....m (apache)httpd
                     apache    19943 ....m (apache)httpd
                     apache    19944 ....m (apache)httpd
                     apache    19945 ....m (apache)httpd
                     apache    19946 ....m (apache)httpd
                     apache    19947 ....m (apache)httpd
                     apache    19948 ....m (apache)httpd
                     apache    19952 ....m (apache)httpd
                     apache    19959 ....m (apache)httpd
                     apache    19960 ....m (apache)httpd
                     apache    24180 ....m (apache)httpd
                     apache    26363 ....m (apache)httpd
                     apache    26511 ....m (apache)httpd
                     apache    26514 ....m (apache)httpd

プロセスが判明したら停止。

# service mysqld stop
# service httpd stop

そして umount

# cd /
# umount /home
7. ファイルシステムを拡張

拡張前のサイズ。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
                      6.0G  4.1G  1.6G  72% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             485M  124M  336M  27% /boot
/dev/mapper/VolGroup00-home
                       58G  528M   54G   1% /home
/dev/mapper/VolGroup00-tmp
                      2.0G   68M  1.9G   4% /tmp
/dev/mapper/VolGroup00-var
                      4.0G  325M  3.5G   9% /var

fsck しないと拡張できないので必ず行う。

# e2fsck -n /dev/VolGroup00/home
# e2fsck /dev/VolGroup00/home
# e2fsck -f /dev/VolGroup00/home

いよいよファイルシステム拡張。

51分かかりました 😥

# resize2fs -p /dev/VolGroup00/home
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/VolGroup00/home to 483459072 (4k) blocks.
Begin pass 1 (max = 14289)
Extending the inode table     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/VolGroup00/home is now 483459072 blocks long.

mount してサイズ確認。

# mount /home
# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/mapper/VolGroup00-root
                      6.0G  4.1G  1.6G  72% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             485M  124M  336M  27% /boot
/dev/mapper/VolGroup00-tmp
                      2.0G   68M  1.9G   4% /tmp
/dev/mapper/VolGroup00-var
                      4.0G  325M  3.5G   9% /var
/dev/mapper/VolGroup00-home
                      1.8T  544M  1.7T   1% /home

拡張できました ❗

8. OS 再起動

プロセスを停止したので OS 再起動しておきました。

OS 起動時にマウントできるかの確認の意味も込めて。

# sync;sync;sync;shutdown -r now