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コンテナ沢山使える。