学科サーバ 上の KVM に自分の仮想マシンのイメージを上げて稼働させる

Menu

Virtual Box で作成した仮想マシン image を KVM の qcow2 に変換する

 qemu-img convert -O qcow2 ~/tmp/Fedora33.vdi /mnt/ie-virsh/e19/e195767/01.qcow2

ie-virsh を使うと、以下の作業を自動的にやってくれるので、そちらを使っても良い。

ie-virsh KVM を動かすシステム上での os の種類を調べる

   osinfo-query os |grep Fedora

最新のものはないのて、いくつか前に合わせる。それを見て以下のように shell script を作る

    #!/bin/sh
    sudo virt-install \
     --check path_in_use=off \
     --import \
     -n kono-fedora-32 \
     --description "Fedora 32" \
     --os-type=Linux \
     --os-variant=fedora31 \
     --ram=2048 \
     --vcpus=2 \
     --disk path=/mnt/ie-virsh/teacher/kono/01.qcow2,bus=virtio \
     --graphics vnc,listen=0.0.0.0 --noautoconsole \
     --network bridge:br62

この62は vlan 62 の意味で、システムに依存する。

   export LIBVIRT_DEFAULT_URI="qemu:///system"

を自分の .zshenv に入れて、環境変数を設定する。

前の shell script実行する。

   sudo virsh list

で実行されていることを確認する。

   sudo virsh destory
   sudo virsh undefine

で仮想マシンの削除を行う。

作成したVMに ie-virsh console or ssh で login する。( key を使って password 抜きで入れるようにする)


VM への access

VNC の port を

    sudo virsh dumpxml ??

仮想マシンの console へ login。

    sudo virsh console ??

console へ login するためには設定が必要。

Fedora 側の /etc/default/grub に以下を付け加える。(あるいは /boot/grub2/grub.conf の先頭に)

    GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

これからbootのgrub.cfgを生成する。

    grub2-mkconfig --output=/boot/grub2/grub.cfg


ssh tunnel

os.cr に ssh tunneling で接続します。xxx は自分で選択した番号に置き換えます。ssh tunnel の方法は man ssh で。

    ssh -L 10024:localhost:5912 -N  daru.ie.u-ryukyu.ac.jp

これで、localhost:10024 に Cot VNC などで接続してください。Password が付いているので、注意。

VNC の mac address を xml から確認して、学科のDNSに登録し、ssh を有効にすれば、ssh からでも接続できます。ただし、password 認証は使わないこと。public key を使って接続する。


Level 1

VNC または ssh で仮想マシンへの login を行うように xmlfile を編集する

   sudo virsh edit


Level 2

外部から curl でアクセスできることを確認する。

 curl -v ie.u-ryukyu.ac.jp  |& more

などを使う。


Shinji KONO / Tue Nov 10 13:08:59 2020