2017年5月5日金曜日

/var/lib/libvirt を共有FS(gfs2)化

というわけで前回の続き。

とりあえず gemini 上で動く仮想マシン(leo)とゲストOS(leo)の作成が完了したところで、とりあえずはその leo の仮想ディスクが入っている /var/lib/libvirt を gemini / cancer で共有しているディスク領域に移すことにする。

ココで既に、/dev/mapper/gfs2-001 という共有領域を作成しているはずなので、これを利用しよう。

ザザッと書いていく。(前回記載した通り、leoは停止しておくこと。)
(gemini) $ sudo pvdisplay /dev/mapper/gfs2-001
(gemini) $ sudo vgdisplay -v vg-gfs2
(gemini) $ sudo lvcreate -L 20G -n var-lib-libvirt vg-gfs2
(gemini) $ sudo vgdisplay -v vg-gfs2

(gemini) $ sudo mkfs.gfs2 -t mycluster:virt-disk \
-p lock_dlm \
-j 2 \
/dev/vg-gfs2/var-lib-libvirt
(gemini) $ sudo tunegfs2 -l /dev/vg-gfs2/var-lib-libvirt

(gemini) $ sudo mkdir /mnt/libvirt
(gemini) $ sudo mount /dev/vg-gfs2/var-lib-libvirt /mnt/libvirt
(gemini) $ df /mnt/libvirt
(gemini) $ ls -a /mnt/libvirt
(lost+found は存在しないことに注意)

(gemini) $ sudo -i
(gemini) # cd /var/lib
(gemini) # tar cSf - libvirt | (cd /mnt ; tar xSf -)
(gemini) # rmdir /mnt/libvirt/lost+found
(gemini) # exit
(gemini) $ sudo ls -alR /var/lib/libvirt
(gemini) $ sudo ls -alR /mnt/libvirt
(gemini) $ ls -ld /var/lib/libvirt /mnt/libvirt

(gemini) $ sudo systemctl stop /var/lib/libvirt
(gemini) $ sudo umount /mnt/libvirt
(gemini) $ sudo mount /dev/vg-gfs2/var-lib-libvirt /var/lib/libvirt
(gemini) $ sudo df /mnt/libvirt

この状態で、leo が起動、操作、停止出来ることを確認しておこう。
leo の動作確認がざっと完了したら、leo は停止しておくこと。

続いて、通常マウントを変更する。
(gemini) $ sudo vi /etc/fstab
--ココから
/var/lib/libvirt のマウントを変更しよう。
/dev/mapper/vg--kvm-lv--var--lib--libvirt /var/lib/libvirt ext4 _netdev 0 0

/dev/mapper/vg--gfs2-var--lib--libvirt /var/lib/libvirt gfs2 _netdev,x-systemd.requires=dlm.service 0 0
--ココまで
(gemini) $ sudo systemctl daemon-reload
(gemini) $ sudo systemctl stop /var/lib/libvirt
(gemini) $ df /var/lib/libvirt
(gemini) $ sudo systemctl start /var/lib/libvirt
(gemini) $ df /var/lib/libvirt

あと、vg-gfs2 は OS 起動時に自動アクティベートする設定になっていないので、自動アクティベートするように設定を施す。
(gemini) $ sudo vi /etc/lvm/lvm.conf
--ココから
1156行目付近
        auto_activation_volume_list = [ "gemini-vg", "vg-kvm" ]

        auto_activation_volume_list = [ "gemini-vg", "vg-kvm", "vg-gfs2" ]
--ココまで

マウント出来ることが確認できたら、gemini を再起動してみる。
(gemini) $ sudo systemctl reboot

再起動後、/var/lib/libvirt がマウントされているようなら、もう一度 leo の起動、動作確認をしてみよう。

問題無さそうなら、そのまま継続だ。(leo は今回停止させない。)

0 件のコメント:

コメントを投稿