日曜エンジニア

仕事・趣味のメモ置き場です。皆様のお役に立てれば幸いです。

VirtualBox上のCentOSの容量拡張した

久しぶりにGNOME経由でログインしたら
f:id:ls-ltr:20150607095841p:plain
どうやら、試しにインストールしたソフトウェアがでかかったみたいで、
/領域を圧迫したらしい。テストサーバでよかった。

ということで、ゲストOSのディスク容量を変更してみました、
滅多にやらないことなので忘れないように書いておきます。

環境は以下の通りです。
[環境]
ゲストOS:CentOS release 6.6 (Final)←拡張するサーバ
ホストOS:CentOS Linux release 7.0.1406 (Core)
VirtualBox:4.3.22

前提確認

f:id:ls-ltr:20150608022241p:plain

  • ゲストOSの電源がOFFになっていること
  • VirtualBoxマネージャを確認し、ゲストOSに割り当てているvdiが可変サイズのストレージになっていること
(ゲストOS)# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root          8.8G  8.6G     0 100% /
tmpfs                 499M   76K  499M   1% /dev/shm
/dev/sda1             477M   29M  424M   7% /boot
  • ゲストOS上の拡張したい論理領域がLVMで構成されていること

仮想ディスク(.vid)サイズの変更

10GB→20GBに変更するため、ホストOSのコンソールでVBoxMageコマンドを実行します。

(ホストOS)# VBoxManage modifyhd [対象仮想ディスク].vdi --resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

!!一度拡張すると、縮小はできないので注意!!
以下の通り、仮想的なサイズが変わっていると思います。
実際のサイズの項目は変わりません。
f:id:ls-ltr:20150608024133p:plain

仮想ディスク拡張用パーティションの作成

Gnome Partition Editorという、Gnome公式パーティションエディタを使ってパーティションサイズを変更します。
GParted -- A free application for graphically managing disk device partitions
(ちなみに、gparted-live-0.18.0-2-i486.isoを使いました。)

  • 1.VirtualBoxマネージャGUIよりゲストOSを選択し、ダウンロードしたisoファイルをマウントする。

(ゲストOS名が違うのは気にしないでください。)
f:id:ls-ltr:20150608213823p:plain

  • 2.ゲストの電源を入れると下記の通り、GPartedの起動選択画面が表示されると思います。

f:id:ls-ltr:20150608214028p:plain
※ゲストOS(ここではCentOS)の起動画面が出てしまった場合、BIOS設定からブートシーケンスを確認してみてください。

  • 3.下記の通りオペレーションすると、GPartedのデスクトップ画面が表示されるはずです。

GParted Live (Default settings)を選択(選択後チェックがかかるため暗転します。)
Dont't touch keymapを選択
15: Japanを選択
キーボードのEnterのみ押す(デフォルトで0が入ります)
以上の通り実施すると、筆者の環境だとこんな画面が出てます。
f:id:ls-ltr:20150608215247p:plain

f:id:ls-ltr:20150608221211p:plain

  • 5.Applyを実施後、以下の通り未割り当て領域がなくなればOKです。一旦OSの電源を落とします。

/dev/sda3が割り当たっているのがわかると思います。
f:id:ls-ltr:20150608223515p:plain

ゲストOS上でのLVM拡張

isoを取り除いてゲストOSを起動してください。
fdiskで見ると割り当てた/dev/sda3がゲストOSからもちゃんと認識されていました。

(ゲストOS)# fdisk -l
~~~~~~~~~~~~~~省略~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sda3            1382        2611     9876480   83  Linux
~~~~~~~~~~~~~~省略~~~~~~~~~~~~~~~~~~~~~~~~~~~

作成したパーティションをゲストOSに認識させます。

(ゲストOS)# pvcreate /dev/sda3 
  Physical volume "/dev/sda3" successfully created

vgdisplayでボリュームグループ名を確認します。

(ゲストOS)# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
~~~~~~~~~~~~~~省略~~~~~~~~~~~~~~~~~~~~~~~~~~~

vgdisplayで確認したボリュームグループに対して、/dev/sda3を追加します。

(ゲストOS)# vgextend VolGroup /dev/sda3
  Volume group "VolGroup" successfully extended

VolGroupに追加した、領域を使えるようにします。

(ゲストOS)# lvextend -l +100%FREE /dev/VolGroup/lv_root
  Size of logical volume VolGroup/lv_root changed from 9.04 GiB (2313 extents) to 18.45 GiB (4724 extents).
  Logical volume lv_root successfully resized
(ゲストOS)# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/VolGroup/lv_root to 4837376 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 4837376 blocks long.

以上で拡張完了です。dfコマンドで確認してください。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       19G  8.6G  8.6G  50% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             477M   29M  424M   7% /boot