VirtualBoxで仮想マシンのディスク容量を増やす方法(Oracle Linux 6 編)
概要
本記事では、VirtualBoxで仮想マシンのディスク容量を増やす方法について説明します。なおここでは、Oracle Linux 6 の環境にて検証を行っています。
作業手順
-
- 仮想マシンは停止させておく。
- 管理者ではなく一般ユーザーでコマンドプロンプトを起動
- VBoxManageコマンドへPATHを通す。
C:\Users\testuser>set PATH=C:\Program Files\Oracle\VirtualBox;%PATH%
- 拡張するディスク形式が vdi ではなく vmdk形式の場合は、下記の文書に従い、vdi形式に変換を行ってください。
No.0249:vmdk形式ディスクはサイズ変更がサポートされていません
- VBoxManageコマンドの実行する。ホストOS上で以下のコマンドを実行。
サイズは、拡張分ではなく拡張後のサイズを指定します。
例えば、現在25GBで、30GBへ拡張すると以下となります。単位はMB。(30720 / 1024 = 30)
C:\Users\testuser>VBoxManage modifyhd C:\VBox\node1\node1.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% C:\Users\testuser>
- vmdk形式からvdi形式へのクローンを実施していた場合は、vmdk形式ディスクをデタッチし、vdiディスクをアタッチしてください。
- 仮想マシンを起動しrootでログイン
- ディスク・ユーティリティで新規パーティションを作成
・「アプリケーション」⇒「システムツール」⇒「ディスク・ユーティリティ」として GUI 画面を開く。
・左の一覧より、「SATAホストアダプタ」配下の増やしたディスクを選択
(今の場合 32GBのハードディスク となっている)
・帯の絵の中で、「未使用領域」となっているところをクリック
・「パーティションの作成」というボタンをクリック
・タイプを Ext4、名前は空欄にして「作成」ボタン
・デバイス名が今の場合、/dev/sda3 となっていること確認
- 端末を開き、pvcreateコマンドで新規パーティションを物理ボリュームとして認識させる。
[root@node1 ~]# pvcreate /dev/sda3
Writing physical volume data to disk "/dev/sda3"
Physical volume "/dev/sda3" successfully created
[root@node1 ~]# - vgdisplayコマンドで、現在使用されてるボリュームグループを確認
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_node1-lv_root
22G 20G 1.3G 94% / ★
tmpfs 4.0G 232M 3.8G 6% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
shared 421G 405G 16G 97% /media/sf_shared
shmfs 4.0G 232M 3.8G 6% /dev/shm
shared 421G 405G 16G 97% /opt/image
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# vgdisplay
--- Volume group ---
VG Name vg_node1 ★ボリュームグループ名
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 24.51 GiB ★
PE Size 4.00 MiB
Total PE 6274
Alloc PE / Size 6274 / 24.51 GiB
Free PE / Size 0 / 0
VG UUID FwGdAN-0S0w-D45E-nqZK-m9jK-cp0E-zG7rQs
[root@node1 ~]# - 新規パーティションを今確認したボリュームグループに追加
[root@node1 ~]# vgextend vg_node1 /dev/sda3
Volume group "vg_node1" successfully extended
[root@node1 ~]#
[root@node1 ~]# vgdisplay
--- Volume group ---
VG Name vg_node1
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 29.50 GiB ★物理ボリュームは増加した
PE Size 4.00 MiB
Total PE 7552
Alloc PE / Size 6274 / 24.51 GiB
Free PE / Size 1278 / 4.99 GiB
VG UUID FwGdAN-0S0w-D45E-nqZK-m9jK-cp0E-zG7rQs
[root@node1 ~]# - lvdisplay、dfコマンドで論理ボリュームとそのマウント先を確認する。
[root@node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_node1/lv_root
LV Name lv_root
VG Name vg_node1
LV UUID MNatX0-Bkf0-wHf5-WieT-pX1H-2BfO-qUrOgQ
LV Write Access read/write
LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:46 +0900
LV Status available
# open 1
LV Size 21.99 GiB ★さっき物理は増えたが論理はまだ少ない状態
Current LE 5630
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/vg_node1/lv_swap
LV Name lv_swap
VG Name vg_node1
LV UUID CoN1mL-dJB0-h1dJ-5OcS-uJy2-rXea-Fb5v67
LV Write Access read/write
LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:50 +0900
LV Status available
# open 2
LV Size 2.52 GiB
Current LE 644
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_node1-lv_root
22G 20G 1.3G 94% / ★これを増やしたい
tmpfs 4.0G 232M 3.8G 6% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
shared 421G 405G 16G 97% /media/sf_shared
shmfs 4.0G 232M 3.8G 6% /dev/shm
shared 421G 405G 16G 97% /opt/image
[root@node1 ~]# - lvextendコマンドで論理ボリュームの容量を増やす。
-l +100%FREEオプションでFreePEが0%になるまですべて割り当ててくれる。
[root@node1 ~]# lvextend -l +100%FREE /dev/vg_node1/lv_root
Extending logical volume lv_root to 26.98 GiB
Logical volume lv_root successfully resized
[root@node1 ~]#
[root@node1 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_node1/lv_root
LV Name lv_root
VG Name vg_node1
LV UUID MNatX0-Bkf0-wHf5-WieT-pX1H-2BfO-qUrOgQ
LV Write Access read/write
LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:46 +0900
LV Status available
# open 1
LV Size 26.98 GiB ★論理ボリュームも増えた(+5GB)
Current LE 6908
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/vg_node1/lv_swap
LV Name lv_swap
VG Name vg_node1
LV UUID CoN1mL-dJB0-h1dJ-5OcS-uJy2-rXea-Fb5v67
LV Write Access read/write
LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:50 +0900
LV Status available
# open 2
LV Size 2.52 GiB
Current LE 644
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_node1-lv_root
22G 20G 1.3G 94% / ★ここはまだ
tmpfs 4.0G 232M 3.8G 6% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
shared 421G 405G 16G 97% /media/sf_shared
shmfs 4.0G 232M 3.8G 6% /dev/shm
shared 421G 405G 16G 97% /opt/image
[root@node1 ~]# - resize2fsコマンドでファイルシステムサイズを拡張させる
[root@node1 ~]# resize2fs /dev/vg_node1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_node1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_node1/lv_root to 7073792 (4k) blocks.
The filesystem on /dev/vg_node1/lv_root is now 7073792 blocks long.
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_node1-lv_root
27G 20G 6.0G 77% / ★増えた!
tmpfs 4.0G 232M 3.8G 6% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
shared 421G 405G 16G 97% /media/sf_shared
shmfs 4.0G 232M 3.8G 6% /dev/shm
shared 421G 405G 16G 97% /opt/image
[root@node1 ~]#
- 仮想マシンは停止させておく。
参考サイト
更新履歴
※筆者用内部メモ
No.0072