Linuxのvagrantに対してはやったことあったけどWindowsでやったことなかったのでメモ。
ちなみにCドライブが足りなくなりそうになったので事前に以下の記事を頼りにVirtualBoxとVagrantをDドライブに引っ越し。
WindowsでVagrant環境を作ろう!容量足りない場合は作業フォルダ変更で対応
※引っ越しはいろいろトラブルがでるので素直に入れなおしたほうがいいかもしれない。
以下ストレージの拡張手順(Linuxでやった時とほぼ同じだけどPowerShellが辛かった)
【Windows側の作業】
■作業フォルダ確認(拡張対象ゲストのストレージファイルvmdkの確認)
PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618> dir ディレクトリ: D:\work\VirtualBox VMs\Docker_default_1507875958159_4618 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2017/10/13 15:31 Logs -a---- 2017/10/13 15:39 2050097152 box-disk1.vmdk -a---- 2017/10/13 15:39 4543 Docker_default_1507875958159_4618.vbox -a---- 2017/10/13 15:31 4543 Docker_default_1507875958159_4618.vbox-prev
■vmdkをvdiに変換
PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618> & 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' clonehd box-disk1.vmdk box-disk1.vdi --format VDI 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone medium created in format 'VDI'. UUID: dc5bade4-95e3-41b6-ba02-f42ead82b5b8 PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618> dir ディレクトリ: D:\work\VirtualBox VMs\Docker_default_1507875958159_4618 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2017/10/13 15:31 Logs -a---- 2017/10/13 15:51 2065694720 box-disk1.vdi -a---- 2017/10/13 15:39 2050097152 box-disk1.vmdk -a---- 2017/10/13 15:51 4543 Docker_default_1507875958159_4618.vbox -a---- 2017/10/13 15:39 4543 Docker_default_1507875958159_4618.vbox-prev
■100GBにvdiのサイズ変更(100 * 1024MB = 102400)
PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618> & 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' modifyhd box-disk1.vdi --resize 102400 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618>
■できたvdiの確認
PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618> & 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' showhdinfo box-disk1.vdi UUID: dc5bade4-95e3-41b6-ba02-f42ead82b5b8 Parent UUID: base State: created Type: normal (base) Location: D:\work\VirtualBox VMs\Docker_default_1507875958159_4618\box-disk1.vdi Storage format: VDI Format variant: dynamic default Capacity: 102400 MBytes Size on disk: 1970 MBytes Encryption: disabled PS D:\work\VirtualBox VMs\Docker_default_1507875958159_4618>
■GUIでvdiの追加とvmdkの削除
■HDDをVDIに差し替えたらゲストを起動
【ゲスト側の作業】
■fdiskで/dev/sdaの容量が増えている事を確認する。
[root@localhost ~]# fdisk -l Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000944b9 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 20766719 9870336 8e Linux LVM Disk /dev/mapper/centos-root: 8996 MB, 8996782080 bytes, 17571840 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-swap: 1065 MB, 1065353216 bytes, 2080768 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
■パーティションを追加
[root@localhost ~]# 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. Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): Using default response p Partition number (3,4, default 3): 3 First sector (20766720-209715199, default 20766720): Using default value 20766720 Last sector, +sectors or +size{K,M,G} (20766720-209715199, default 209715199): Using default value 209715199 Partition 3 of type Linux and of size 90.1 GiB is set Command (m for help): p Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000944b9 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 20766719 9870336 8e Linux LVM /dev/sda3 20766720 209715199 94474240 83 Linux 「/dev/sda3」が追加された
■/dev/sda3のシステムをLinux LVMにする
Command (m for help): t Partition number (1-3, default 3): 3 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000944b9 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 20766719 9870336 8e Linux LVM /dev/sda3 20766720 209715199 94474240 8e Linux LVM
■反映して終了する
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. 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) Syncing disks.
■ゲストの再起動
# shutdown -r now
■Physical Volumeの状態を確認
[root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 9.41 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 2409 Free PE 10 Allocated PE 2399 PV UUID P0ooC6-nfdy-vZkK-cniC-MG1G-2dIn-t1115F
■pvcreateコマンドでPhysical Volumeを作成する。
[root@localhost ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created.
■作成内容を確認。
[root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 9.41 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 2409 Free PE 10 Allocated PE 2399 PV UUID P0ooC6-nfdy-vZkK-cniC-MG1G-2dIn-t1115F "/dev/sda3" is a new physical volume of "<90.10 GiB" --- NEW Physical volume --- PV Name /dev/sda3 VG Name PV Size <90.10 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 54AaA1-O1Wt-IR5v-dq03-8ahU-et00-tIgoZI
■Volume GroupにPhysical Volumeを追加する
[root@localhost ~]# vgextend centos /dev/sda3 Volume group "centos" successfully extended
■Volume Groupの確認
[root@localhost ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 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 99.50 GiB PE Size 4.00 MiB Total PE 25473 Alloc PE / Size 2399 / 9.37 GiB Free PE / Size 23074 / 90.13 GiB VG UUID WvQvjv-xDJK-VV4R-tIf0-tXwC-GXMB-H9V2pw
■Logical Volumeの容量を増やす
増やしたいマウントポイントのLogical Volumeをdfコマンドで確認。
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.4G 1.4G 7.0G 17% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.4M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 497M 109M 389M 22% /boot tmpfs 380M 0 380M 0% /run/user/1001
今回の対象は「/dev/mapper/centos-root」
■lvdisplayコマンドでLogical Volumeの詳細を確認。
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID CpIsLo-dOUb-SSCf-Xql9-l6Kv-3jfu-W0Lxs8 LV Write Access read/write LV Creation host, time localhost, 2015-07-14 05:07:53 +0000 LV Status available # open 2 LV Size 1016.00 MiB Current LE 254 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID 5g6VL9-tahk-ioUm-sPyh-F7Ws-RQF8-SOw6Th LV Write Access read/write LV Creation host, time localhost, 2015-07-14 05:07:54 +0000 LV Status available # open 1 LV Size <8.38 GiB Current LE 2145 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
■Logical Volumeのサイズを拡張。(計算しなくてもいいバージョン)
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root Size of logical volume centos/root changed from <8.38 GiB (2145 extents) to 98.51 GiB (25219 extents). Logical volume centos/root successfully resized.
■Logical Volumeの確認。
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID CpIsLo-dOUb-SSCf-Xql9-l6Kv-3jfu-W0Lxs8 LV Write Access read/write LV Creation host, time localhost, 2015-07-14 05:07:53 +0000 LV Status available # open 2 LV Size 1016.00 MiB Current LE 254 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID 5g6VL9-tahk-ioUm-sPyh-F7Ws-RQF8-SOw6Th LV Write Access read/write LV Creation host, time localhost, 2015-07-14 05:07:54 +0000 LV Status available # open 1 LV Size 98.51 GiB Current LE 25219 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
【ここからファイルシステムのリサイズ】
■CentOS7でファイルシステムがxfsだったのでresize2fsの代わりにxfs_growfsを使用
[root@localhost ~]# xfs_growfs /dev/centos/root meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=549120 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 spinodes=0 data = bsize=4096 blocks=2196480, 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 2196480 to 25824256
ストレージの拡張完了
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 99G 1.4G 98G 2% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.4M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 497M 109M 389M 22% /boot tmpfs 380M 0 380M 0% /run/user/1001
これでDockerコンテナ沢山使える。