FreeBSDのbhyveで、FreeBSDの仮想ディスクイメージを拡張する方法を以下にメモします。手順は以下のサイトを参考にしました。
FreeBSD bhyve + vm-bhyve 仮想ディスクサイズを増やしてみる
https://blog.bixr.com/2016/06/1150/
手順を引用します。また、仮想環境で動作するFreeBSDのファイルシステムはzfsなので、一部、変更しています。
- 仮想ディスクのファイルの拡張
“truncate -s +(増加サイズ) <イメージファイル>” で拡張する。
次の例では200GBのdisk0.imgをさらに300GB増やして500GBにしている。
# truncate -s +300g disk0.img
- 起動時に「2. Boot [S]ingle User」を選択して、ゲストOSをシングルユーザモードで起動
- パーティション情報を修正して拡張
# gpart recover vtbd0
vtbd0 recovered
# gpart show vtbd0
=> 40 1048575920 vtbd0 GPT (500G)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 419426304 2 freebsd-zfs (200G)
419428352 629147608 - free - (300G)
# gpart resize -i 2 vtbd0
vtbd0p2 resized
# gpart show vtbd0
=> 40 1048575920 vtbd0 GPT (500G)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 1048573696 2 freebsd-zfs (500G)
1048575744 216 - free - (108K)
#
- zfsを拡張
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zduke00 199G 9.37G 190G - - 1% 4% 1.00x ONLINE -
zduke10 4.97T 1.70M 4.97T - - 0% 0% 1.00x ONLINE -
# zpool online -e zduke00 gpt/zfs0
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zduke00 499G 9.37G 490G - - 0% 1% 1.00x ONLINE -
zduke10 4.97T 1.70M 4.97T - - 0% 0% 1.00x ONLINE -
#
- 再起動