このBlogは移転しました。今後は aish.dev を御覧ください。

さくらVPSでLVMを設定したときのメモ

新しくさくらVPS1.5Gプランを契約してみたが、このプランではディスクが仮想ドライブ2台として提供されている。デフォルトで入っているCentOS5のインストールでは、2台目のディスクが /home ディレクトリにマウントされているようだ。

いろいろOS入れ替えたりするならばありがたい設定かも知れないが、個人的には一個にまとまっててくれた方が悩まなくてすむ。どうせUbuntuに入れ替えようと思っていたので、ついでにLVMで一つにまとめてしまおう。

さっそくUbuntuインストーラを起動して、インストーラでついでにLVMの設定もしてしまおうと思ったが、どうも使い方がよく分からない。めんどくさいので /dev/sda だけLVMとして作成し、後は手動で設定することにした。以下はその作業ログだ。

/dev/sdbにパーティションを作成

/dev/sdbにパーティションを作成し、パーティションタイプを 8e(Linux LVM)に設定する。

root@www2270ub:~# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3916, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-3916, default 3916): 
Using default value 3916

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

パーティショングループを作成する

root@www2270ub:~# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

root@www2270ub:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               www2270ub
  PV Size               19.76 GiB / not usable 2.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5058
  Free PE               4
  Allocated PE          5054
  PV UUID               tL6Pfx-B5rx-ipX9-13MZ-gHBU-fv27-ikYRlE
   
  "/dev/sdb1" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               CZZJqt-LTuA-UqVd-CE1d-dP0O-WeH0-03H1KQ

インストーラが作成したボリュームグループに、/dev/sda1を追加する

インストーラが作成したボリュームグループの名前は、vgdisplay で確認することができる。

root@www2270ub:~# vgextend www2270ub /dev/sdb1
  Volume group "www2270ub" successfully extended

root@www2270ub:~# vgdisplay
  --- Volume group ---
  VG Name               www2270ub
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  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               49.75 GiB
  PE Size               4.00 MiB
  Total PE              12737
  Alloc PE / Size       5054 / 19.74 GiB
  Free  PE / Size       7683 / 30.01 GiB
  VG UUID               iAXz62-HX3m-gRzf-V9uo-9umD-G8zM-DQkylH

論理ボリュームを拡張する

追加したパーティションを、論理ボリュームに追加する。追加する論理ボリュームは、lvdisplayコマンドで確認することができる。ここでは、www2270ub-rootを拡張した。拡張可能なサイズとして、vgdisplayで表示されたFree PE の値を指定する。

root@www2270ub:~# lvextend -l +7683 /dev/mapper/www2270ub-root
  Extending logical volume root to 48.89 GiB
  Logical volume root successfully resized

root@www2270ub:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/www2270ub/root
  VG Name                www2270ub
  LV UUID                NNE5VM-JRjT-A6ti-KhRf-kT7M-9hJX-CzXSWm
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                48.89 GiB
  Current LE             12516
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0
   
  --- Logical volume ---
  LV Name                /dev/www2270ub/swap_1
  VG Name                www2270ub
  LV UUID                gCgypP-03Vi-H2UY-c3Uk-22lt-Ghg1-OXIQW8
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                884.00 MiB
  Current LE             221
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

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

resize2fsコマンドで、拡張した論理ボリュームのファイルシステムを拡張する。

root@www2270ub:~# resize2fs /dev/mapper/www2270ub-root 
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/mapper/www2270ub-root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/www2270ub-root to 12816384 (4k) blocks.
The filesystem on /dev/mapper/www2270ub-root is now 12816384 blocks long.

できた!

root@www2270ub:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/www2270ub-root
                      50464028    809912  47097576   2% /
none                    767432       176    767256   1% /dev
none                    772036         0    772036   0% /dev/shm
none                    772036        32    772004   1% /var/run
none                    772036         0    772036   0% /var/lock
none                    772036         0    772036   0% /lib/init/rw
none                  50464028    809912  47097576   2% /var/lib/ureadahead/debugfs
/dev/sda1               233191     16313    204437   8% /boot