web上でKVMを管理するツールはいくつかありますが、以前色々試したとき設定が簡単そう且つインストールに成功したのがこれだったので愛用しています。
自分が初めて設定した当時はkimchidとして単体で動作していたのですが、wokdのプラグインとして動作するようになりそれに伴いインストールの方法も変更されたので、インストール方法をメモ用として残しておきます。
余談ですが、kimchiと名前が付いているものの製作者はブラジル人の女性だそうです。なぜkimchiなのか。
注意点
セキュリティ的にかなり雑なので、開発用として割り切って使用してください。
本番環境で使用する場合はoVirtなど別のものを検討されたほうが良いかと思われます。
まあそんな人はこんなの見ないと思いますが。
kimchiのできること
kimchiはのできることはそう多くありません。
- ネットワーク管理(ブリッジの作成とか)
- ストレージ管理(ISOアップロードとか)
- テンプレート管理(作成含む)
- ゲスト管理(起動、終了、削除)
上記のように最低限の機能は備わっていますが、例えばゲストのxmlの内容を変更したいとかなった場合kimchiからできません。コンソールでvirsh editする必要があります。
環境/前提
- CentOS7(CentOS-7-x86_64-Minimal-1611.iso)インストール
- sudo yum update済み
- SELinuxはpermissiveかdisabledにしておく
サイト
インストール
sudoは適当につけてください。
# yum -y install epel-release
# yum -y install http://kimchi-project.github.io/wok/downloads/latest/wok.el7.centos.noarch.rpm
# yum -y install http://kimchi-project.github.io/gingerbase/downloads/latest/ginger-base.el7.centos.noarch.rpm
# yum -y install http://kimchi-project.github.io/kimchi/downloads/latest/kimchi.el7.centos.noarch.rpm
これでlibvirtなどKVMの環境がすべてインストールされます。
latestとあるので、バージョンが更新されても恐らくそのままコピペが出来るはずです。
エラーなど起こるのであれば
https://kimchi-project.github.io/wok/downloads/
https://kimchi-project.github.io/gingerbase/downloads/
https://kimchi-project.github.io/kimchi/downloads/
の右側にrpmのリンクがあるので、そこからコピペしてください。
インストールの順番はwok、gingerbase、kimchiじゃないといけません。
# firewall-cmd --add-port=8000/tcp
# firewall-cmd --add-port=8000/tcp --permanent
# firewall-cmd --add-port=8001/tcp
# firewall-cmd --add-port=8001/tcp --permanent
# firewall-cmd --add-port=64667/tcp
# firewall-cmd --add-port=64667/tcp --permanent
# systemctl start wokd
# systemctl enable wokd
ポート8001はwebアクセス用、64667はnoVNC用、8000はなんだったっけ?
とりあえずこれで
https://[IPアドレス]:8001/
にアクセスすると管理画面が現れます。
トラブルシューティング
管理画面上で[IPアドレス]、Wok、Hostのタブしか出てこない。
# lsmod | grep kvm
を実行したとき、
kvm_intel 170181 0
kvm 554609 1 kvm_intel
など出力されることを確認してください。
実機で何も表示されなければBIOS(UEFI)画面を立ち上げ、Intel VTもしくはAMD-Vの設定を行ってください。
VMwarePlayer上の仮想マシンで何も出力されなければ、仮想マシンの設定内にあるプロセッサの仮想化エンジン項目にある、
Intel VT-x/EPTまたは AMD-V/RVTを仮想化(V)
にチェックを入れて起動してください。
このチェック入れ忘れのために一日潰しました。
ネットワークタブからネットワークの作成でネットワークタイプをBridgedを選択したけどエラーになる。
NetworkManager止めてください。
# systemctl stop NetworkManager
# systemctl disable NetworkManager
ISOをストレージからアップロードしたけどテンプレート作成で選択できない
root所有のパーミッションが600になっているので、コンソールで644にでも変更してください。
ちなみにISOの削除はできるので不具合のような気がします。
noVNC上のキーボード入力がおかしい
コンソール上で
# virsh edit [ゲスト名]
して、
graphics
上記文字を検索し、出てきたところの項目に
keymap='ja'
を追加してください。
余談
Debian sidでは管理画面が出ることを確認しました。
Ubuntu16.10ではインストール時にエラーが出ることを確認しています。
たしかlibvirt-binのパッケージが違うパッケージに統合されたとかが原因だったような。