Vagrantで立てたゲストの容量が8GBしかなかったので容量を20GBに増やしたときの作業ログ。
■環境
ホストOS:CentOS6.5
Vagrant:1.7.2
VirtualBox:4.3.28
ゲストOS:CentOS7
■ホスト側の作業場所
$ pwd /home/user/VirtualBox VMs/cent7_default_1434608680280_85072 $ ll 合計 2961448 drwx------ 3 user user 4096 6月 18 15:42 2015 ./ drwx------ 11 user user 4096 6月 18 15:24 2015 ../ drwx------ 2 user user 4096 6月 18 15:24 2015 Logs/ -rw------- 1 user user 3033137152 6月 18 15:42 2015 box-disk1.vmdk -rw------- 1 user user 8514 6月 18 15:42 2015 cent7_default_1434608680280_85072.vbox -rw------- 1 user user 8514 6月 18 15:24 2015 cent7_default_1434608680280_85072.vbox-prev
■元々のvmdkファイルの確認
$ pwd /home/user/VirtualBox VMs/tuat_163_cent7_default_1434608680280_85072 $ VBoxManage showhdinfo box-disk1.vmdk UUID: cd97ec61-426b-4d6b-9ae3-d79d07300179 Parent UUID: base State: created Type: normal (base) Location: /home/user/VirtualBox VMs/tuat_163_cent7_default_1434608680280_85072/box-disk1.vmdk Storage format: VMDK Format variant: dynamic default Capacity: 8192 MBytes Size on disk: 2892 MBytes In use by VMs: cent7_default_1434608680280_85072 (UUID: 39b0d85e-cff7-40c3-b497-bc6b110fc49a) ■vmdkをvdiとしてクローン $ VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format VDI 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone hard disk created in format 'VDI'. UUID: 3630f1b4-3090-4009-88eb-4d634da2e42f $ ll 合計 5948496 drwx------ 3 user user 4096 6月 18 17:37 2015 ./ drwx------ 11 user user 4096 6月 18 15:24 2015 ../ drwx------ 2 user user 4096 6月 18 15:24 2015 Logs/ -rw------- 1 user user 3060793344 6月 18 17:37 2015 box-disk1.vdi -rw------- 1 user user 3033137152 6月 18 15:42 2015 box-disk1.vmdk -rw------- 1 user user 8514 6月 18 17:37 2015 cent7_default_1434608680280_85072.vbox -rw------- 1 user user 8514 6月 18 15:42 2015 cent7_default_1434608680280_85072.vbox-prev
■vdiのサイズ変更
$ VBoxManage modifyhd box-disk1.vdi --resize 20480 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
20(GB) * 1024(MB) = 20480
■できたvdiの確認
$ VBoxManage showhdinfo box-disk1.vdi UUID: 3630f1b4-3090-4009-88eb-4d634da2e42f Parent UUID: base State: created Type: normal (base) Location: /home/user/VirtualBox VMs/cent7_default_1434608680280_85072/box-disk1.vdi Storage format: VDI Format variant: dynamic default Capacity: 20480 MBytes Size on disk: 2919 MBytes
■ここからGUIのVirtualBoxの管理画面でHDDをVDIに差し替える
ここのCUIでのやり方がわからない・・・。
※あとで判明。。以下を参考に。
Vagrant on Mac上のCeontOS7のディスク容量を後から増やす
■HDDをVDIに差し替えたらゲストを起動
ここからゲストでの操作
fdiskで/dev/sdaの容量が増えている事を確認する。
# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000ac089 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 16777215 7875584 8e Linux LVM Disk /dev/mapper/centos-swap: 859 MB, 859832320 bytes, 1679360 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk /dev/mapper/centos-root: 7201 MB, 7201619968 bytes, 14065664 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
増加したところに新しくパーティション、論理ボリュームを作成し容量を増やす。
■パーティションを追加
# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. コマンド (m でヘルプ): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): Using default response p パーティション番号 (3,4, default 3): 3 最初 sector (16777216-41943039, 初期値 16777216): 初期値 16777216 を使います Last sector, +sectors or +size{K,M,G} (16777216-41943039, 初期値 41943039): 初期値 41943039 を使います Partition 3 of type Linux and of size 12 GiB is set コマンド (m でヘルプ): p Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000ac089 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 16777215 7875584 8e Linux LVM /dev/sda3 16777216 41943039 12582912 83 Linux
「/dev/sda3」が追加された
■/dev/sda3のシステムをLinux LVMにする
コマンド (m でヘルプ): t パーティション番号 (1-3, default 3): 3 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' コマンド (m でヘルプ): p Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000ac089 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 16777215 7875584 8e Linux LVM /dev/sda3 16777216 41943039 12582912 8e Linux LVM
■反映して終了する
コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) ディスクを同期しています。
■ゲストの再起動
# shutdown -r now
■Physical Volumeの状態を確認
# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 7.51 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 1922 Free PE 0 Allocated PE 1922 PV UUID zR6Hya-5HZV-3dT5-NQZA-b3gF-gGif-SA3K4d
■pvcreateコマンドでPhysical Volumeを作成する。
# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created
■作成内容を確認。
# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 7.51 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 1922 Free PE 0 Allocated PE 1922 PV UUID zR6Hya-5HZV-3dT5-NQZA-b3gF-gGif-SA3K4d "/dev/sda3" is a new physical volume of "12.00 GiB" --- NEW Physical volume --- PV Name /dev/sda3 VG Name PV Size 12.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID dJEJG3-j8DO-JWwn-cHyc-xeHR-cs5J-3jhgfT
■Volume GroupにPhysical Volumeを追加する
# vgextend centos /dev/sda3 Volume group "centos" successfully extended
■Volume Groupの確認
# vgdisplay --- Volume group --- VG Name centos 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 19.50 GiB PE Size 4.00 MiB Total PE 4993 Alloc PE / Size 1922 / 7.51 GiB Free PE / Size 3071 / 12.00 GiB VG UUID mtWHXb-DYzV-cxFV-psLD-XvDR-sKjQ-lUZygi
増えてる。
■Logical Volumeの容量を増やす
増やしたいマウントポイントのLogical Volumeをdfコマンドで確認。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 6.7G 2.5G 4.3G 37% / devtmpfs 236M 0 236M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 4.3M 241M 2% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup /dev/sda1 497M 166M 332M 34% /boot
今回の対象は「/dev/mapper/centos-root」
■lvdisplayコマンドでLogical Volumeの詳細を確認。
# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID IuMeqQ-dd1j-73Wo-tZLt-7wYA-KCaB-FZlS2B LV Write Access read/write LV Creation host, time localhost, 2014-08-01 21:31:57 +0900 LV Status available # open 2 LV Size 820.00 MiB Current LE 205 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID V2bGxj-hmyn-PP1V-RNdJ-hSY1-PVwu-L3ekOr LV Write Access read/write LV Creation host, time localhost, 2014-08-01 21:31:58 +0900 LV Status available # open 1 LV Size 6.71 GiB Current LE 1717 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1
■Logical Volumeのサイズを拡張。
# lvextend -L +12284 /dev/centos/root Size of logical volume centos/root changed from 6.71 GiB (1717 extents) to 18.70 GiB (4788 extents). Logical volume root successfully resized
ここの「12284」はvgdisplayで表示されたFree PE / SizeとPE Sizeをかけた値になる
3071 * 4.00 = 12284
■Logical Volumeの確認。
# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID IuMeqQ-dd1j-73Wo-tZLt-7wYA-KCaB-FZlS2B LV Write Access read/write LV Creation host, time localhost, 2014-08-01 21:31:57 +0900 LV Status available # open 2 LV Size 820.00 MiB Current LE 205 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID V2bGxj-hmyn-PP1V-RNdJ-hSY1-PVwu-L3ekOr LV Write Access read/write LV Creation host, time localhost, 2014-08-01 21:31:58 +0900 LV Status available # open 1 LV Size 18.70 GiB Current LE 4788 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1
【ここからファイルシステムのリサイズ】
■CentOS7でファイルシステムがxfsだったのでresize2fsの代わりにxfs_growfsを使用
# xfs_growfs /dev/centos/root meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=439552 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=1758208, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 1758208 to 4902912
■出来た!
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 19G 2.5G 17G 14% / devtmpfs 236M 0 236M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 4.3M 241M 2% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup /dev/sda1 497M 166M 332M 34% /boot
■参考ページ
VirtualBoxのゲストOSのディスク容量を増やす
http://te2u.hatenablog.jp/entry/2015/04/20/012914
Vagrant VMのディスクサイズを後から拡張する方法
http://blog.dakatsuka.jp/2014/04/24/vagrant-hdd-resize.html
CentOS 7(XFS)でLVMディスク拡張でハマったこと
http://qiita.com/fetaro/items/d7dc74262633ba474bc8