注意
ゲストOSがCentOS7ではエラーになるそうです。タグにもありますがこの投稿はCentOS6.6のお話です。
CentOS7の方はこちらの CentOS 7(XFS)でLVMディスク拡張でハマったこと で投稿されているようです。
ゲストOSのディスク拡張
年に1回やるかやらないかの作業(コマンド)なので備忘録的に記録。
作業場場所移動
まずはホストOS側でゲストOSの場所へ移動。もちろんこのときVMは停止しておきます。
コマンドプロンプトから以下のコマンド
C:\Users\[user]> cd C:\VirtualBox VMs\centos
バックアップ
まずはバックアップですね。これはそこそこ時間かかります。
ゲストOSに centos とつけたのでフォルダもvdiもそうなってます。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd centos.vdi centos_bak.vdi
C:\VirtualBox VMs\centos> "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" cl
onehd centos.vdi centos_bak.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ディスク拡張
元のサイズが16Gだったので32Gにしたい、コマンドの指定がM(メガ)なのでresizeに32768を指定
これでディスク自体は倍に拡張。このコマンドがディスクのタイプがすぐに領域を取るタイプでなかったのか、一瞬で終了。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd --resize 32768 centos.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
サイズ確認
ゲストOSを起動後、変わっていないのを確認。
OSは元の領域を使っているので変わらない。
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       14G   11G  2.6G  80% /
tmpfs                 940M     0  940M   0% /dev/shm
/dev/sda1             477M   64M  388M  15% /boot
パーティション作成
シリンダのところはデフォルトで改行。
# fdisk /dev/sda
コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 3
最初 シリンダ (2089-4177, 初期値 2089):
初期値 2089 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (2089-4177, 初期値 4177):
初期値 4177 を使います
パーティション確認
/dev/sda3 ができていることを確認。
コマンド (m でヘルプ): p
ディスク /dev/sda: 34.4 GB, 34359738368 バイト
ヘッド 255, セクタ 63, シリンダ 4177
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000eef80
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          64      512000   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        4177    16774536+  83  Linux
パーティションタイプを変更
Linux LVM に変更。
コマンド (m でヘルプ): t
パーティション番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): p
ディスク /dev/sda: 34.4 GB, 34359738368 バイト
ヘッド 255, セクタ 63, シリンダ 4177
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000eef80
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          64      512000   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        4177    16774536+  8e  Linux LVM
変更保存
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう
ディスクを同期しています。
#
ゲストOS再起動
# reboot
Physical Volume作成
# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created
Volume GroupへPhysical Volumeを追加
vgdisplay でグループ名が vg_centosであることを確認して以下のコマンド
# vgextend vg_centos /dev/sda3
Volume group "vg_centos" successfully extended
Logical Volumeを増やす。
df で表示されているマウントポイントへ以下のコマンド。
# lvextend -l +100%FREE /dev/mapper/vg_centos-lv_root
  Size of logical volume vg_centos/lv_root changed from 13.91 GiB (3561 extents) to 29.91 GiB (7656 extents).
  Logical volume lv_root successfully resized
ファイルシステムのリサイズ
ここでも dfで表示されたマウントポイントを指定してサイズが増えます。
# resize2fs /dev/mapper/vg_centos-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_centos-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg_centos-lv_root to 7839744 (4k) blocks.
The filesystem on /dev/mapper/vg_centos-lv_root is now 7839744 blocks long.
増えたことを確認
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       30G  9.5G   19G  35% /
tmpfs                 940M     0  940M   0% /dev/shm
/dev/sda1             477M   64M  388M  15% /boot