せっかくUbuntuでZFSが使える環境ができたので、実際に使ってみることにしました。とりあえずKVMのストレージとして使ってみます。
Linux KVMを構築して何個かVMを作っているとあっという間にストレージがなくなってしまいますよね。事前に大きなストレージを割り当てておけばいいのですが、ついうっかりするわけですよ。そこでZFSストレージをKVMで使ってみることにしました。
UbuntuでLinux KVMのインストールをするにはUbuntu公式のドキュメントのような手順で構築できますが、Linux KVMを構築する前にZFSで仮想マシン用のストレージを用意します。
ちなみに、UbuntuのLinux KVMのでフォルトパスは「/var/lib/libvirt/images/」なので、ここにストレージをマウントすればよさそうです。
構築手順
・まずマシンにディスクを追加(実装)します。
・Ubuntuを起動します。以下、ストレージが/dev/sdeとして認識された場合の例を示します。
・ラベルをつけます。
# parted /dev/sde
(parted) mklabel gpt
(parted) quit
・プールの作成とデバイスの割り当てを行います。vol0は既に使っているのを想定してvol1というプールに割り当ててみました。
# zpool create vol1 /dev/sde
・追加したストレージをマウントします。
これでストレージの準備は終わったので、あとはLinux KVMを構築するだけです。仮想マシンマネージャやvirt-installコマンドなどで仮想マシンを作って、OSをインストールすれば良い感じに動作します。
$ sudo qemu-img info /var/lib/libvirt/images/kvm01.img
image: /var/lib/libvirt/images/kvm01.img
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 1.3G
$ sudo zpool list vol1
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
vol1 7.94G 1.28G 6.66G - 22% 16% 1.00x ONLINE -
これで足りなくなったら後編の手順のようにディスクを増設してしてvol1プールに追加するみたいなことができるようになります。こいつは便利だなー。