VMware Fusion上のFreeBSD仮想マシンのディスク容量を増やす
開発用の仮想マシンのディスク容量が不足してきたので増やしたときの覚書。
環境: FreeBSD 14.1, ファイルシステム: ZFS
1. ZFSとは
物理ディスクの上に仮想の論理ボリュームを作成して、物理ディスクの制約を受けずに柔軟なストレージ構成を実現する仕組み。
LVM(Logical Volume Manager)の実装の一つ。
ファイルシステムとボリューム管理機能を統合しているのが特徴。
ディスクの読み取り書き込みを高速化するためにメモリを使用する。
頻繁にアクセスするデータは優先してメモリを使うため高速化が期待できる。
- ZFS - Wikipedia(英語版を日本語訳した方が分かりやすい)
- 論理ボリュームマネージャ - Wikipedia
- ZFSを使ってみよう (基本編)
Redisなどを使って明示的にキャッシュする構成にするより、ZFSを導入するだけで全てを横断的にキャッシュし高速化できるのは便利だと思う。
FreeBSDではtopコマンドでARC(Adaptive Replacement Cache)を表示できるので、ファイルシステムが使っているメモリ容量を確認できる。
2.ディスク容量を増やす
VMWare Fusionの設定でディスク容量を増やして起動する。
パーティション確認。
# gpart show
=> 40 167772087 da0 GPT (80G)40 1024 1 freebsd-boot (512K)1064 984 - free - (492K)2048 4194304 2 freebsd-swap (2.0G)4196352 37744640 3 freebsd-zfs (18G)41940992 125831135 - free - (60G)
60Gのフリースペースが出来ている。
パーティション拡張。
デバイス名:da0、3番目パーティションを拡張する。
# gpart resize -i 3 da0
パーティション確認。
# gpart show
=> 40 167772087 da0 GPT (80G)40 1024 1 freebsd-boot (512K)1064 984 - free - (492K)2048 4194304 2 freebsd-swap (2.0G)4196352 163575775 3 freebsd-zfs (78G)
ストレージプールを確認。
# zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOTzroot 17.5G 16.2G 1.29G - - 68% 92% 1.00x ONLINE -da0p3 18.0G 16.2G 1.29G - - 68% 92.6% - ONLINE
デバイスをオンラインにして、ストレージプールを拡張。
# zpool online -e zroot da0p3
ディスク容量確認。
# df -h