kimchi Projectの紹介
プロジェクトページ
ブラウザでkvmを管理するツール
結構簡単にインストールできて、直感的に管理できる
2016/01/18確認情報
このプロジェクトはガンガン更新されているので
常に最新情報はサイトで確認するのがよい
2017/12/19
だいぶ更新されている事を確認
kimchi project site
この下で記載している手順はCentOS7では既に適用しない様子…
要調査!(笑)
2017/12/28確認手順です
kimchiのプロジェクトページからrpm形式でインストール
https://github.com/kimchi-project/kimchi/releases/latest
rpmパッケージのrelease日 | ||
---|---|---|
2017/08/16 | 2.5.0 | wok、kimchi |
2017/03/29 | 2.4.0 | ginger |
2017/03/29 | 2.3.0 | gingerbase |
gingerとgingerbaseの2つとwok、kimchiの2つとの間でWEBサイトの構成に差が発生している感じ
#まずSIGのrepoを追加 yum install centos-release-qemu-ev --enablerepo=extras # qemu-kvmをインストールするがパッケージ名が変更されている yum install qemu-kvm-ev # kimchi関連ダウンロード wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm wget http://kimchi-project.github.io/gingerbase/downloads/latest/ginger-base.el7.centos.noarch.rpm wget http://kimchi-project.github.io/ginger/downloads/latest/ginger.el7.centos.noarch.rpm yum localinstall *.rpm # 依存関係でもこれはインストールされない yum install numpy firewall-cmd --permanent --add-service=wokd firewall-cmd --reload systemctl enable wokd systemctl enable libvirtd systemctl start libvirtd systemctl start wokd
で。
最終的に動作するけど、gingerとgingerbaseのロゴが表示されない…
調査中。
残念なお話し(下部参照)から少し日が経ち、強力な協力者の下、CentOS7で構築できるようになった!!
ポイントは最初にCentOSのVirtualization SIG(Sprecial Interest Group)のリポジトリを追加しておくこと!!
これによって、qemu-kvmのバージョンが2.1系に更新されるのでKimchiをササっと使える環境にできる
#まずSIGのrepoを追加 yum install centos-release-qemu-ev --enablerepo=extras #定番epel yum install epel-release #Kimchiに必要なパッケージ関連 yum install gcc make autoconf automake gettext-devel git \ python-cherrypy python-cheetah python-imaging \ PyPAM m2crypto python-jsonschema rpm-build \ python-psutil python-ldap python-lxml \ libxslt nginx openssl gcc-c++ open-sans-fonts \ fontawesome-fonts yum install python-unittest2 python-ordereddict yum install pyflakes python-pep8 python-requests yum install libvirt-python libvirt gettext-devel \ libvirt-daemon-config-network python-imaging \ qemu-kvm python-ethtool sos python-ipaddr \ nfs-utils iscsi-initiator-utils pyparted \ python-libguestfs libguestfs-tools \ python-websockify novnc spice-html5 \ python-configobj python-magic python-paramiko yum install rpm-python sos pyparted python-configobj yum install libvirt-python libvirt hddtemp \ libuser-python python-augeas python-netaddr \ python-ethtool python-ipaddr python-magic \ tuned lm_sensors yum install numpy #kimchi本体 git clone --recursive https://github.com/kimchi-project/wok.git cd wok git submodule update --remote ./build-all.sh make install cd src/wok/plugins/kimchi make install cd ../ginger make install cd ../gingerbase make install #リモートisoイメージ対策 cd /etc/wok/plugins.d ln -s /etc/kimchi/distros.d distros.d #selinuxをdisabledにしとく vi /etc/selinux/config #とりあえず動作確認するにはselinuxをpermissiveにしておく setenforce 0 #wok設定 vi /etc/wok/wok.conf host = xxx.xxx.xxx.xxx デフォルトだと127.0.0.1となりローカルホスト接続しか許可されないので 許可したいホストIPを記述しておく #firewalldの定義ファイルがインストール済みなので利用して設定 firewall-cmd --add-service=wokd --permanent firewall-cmd --reload firewall-cmd --list-all #自動起動設定 systemctl enable wokd systemctl enable libvirtd #起動 systemctl start libvirtd systemctl start wokd
以上!でKimchiが動作
ブラウザでhttpの8000ポートに接続すればhttpsの8001にリダイレクトされて
ログイン画面が表示されるはず
このままだと、ゲスト作成後VNC接続するとキーマップが日本語対応していないので下の方に記載している方法でキーマップを直すのがよい。
SL7.1ベースのOSにインストールしてみた
OSは最小セットアップ+互換ライブラリ程度
後述するが残念版なので、動作しません
まずは準備
epelとsl-rollingリポジトリが必要な事がポイント
yum install epel-release yum install libvirt #wok用 yum install gcc make autoconf automake gettext-devel git \ python-cherrypy python-cheetah python-imaging \ PyPAM m2crypto python-jsonschema rpm-build \ python-psutil python-ldap python-lxml \ libxslt nginx openssl gcc-c++ open-sans-fonts \ numpy fontawesome-fonts --enablerepo=sl-rolling #テストと開発用 yum install python-unittest2 python-ordereddict --enablerepo=sl-rolling yum install pyflakes python-pep8 python-requests --enablerepo=sl-rolling #kimchi用 yum install libvirt-python libvirt gettext-devel \ libvirt-daemon-config-network python-imaging \ qemu-kvm python-ethtool sos python-ipaddr \ nfs-utils iscsi-initiator-utils pyparted \ python-libguestfs libguestfs-tools \ python-websockify novnc spice-html5 \ python-configobj python-magic python-paramiko --enablerepo=sl-rolling #gingerbase用 yum install rpm-python sos pyparted python-configobj --enablerepo=sl-rolling #ginger用 yum install libvirt-python libvirt hddtemp \ libuser-python python-augeas python-netaddr \ python-ethtool python-ipaddr python-magic \ tuned lm_sensors --enablerepo=sl-rolling
そしてkimchi本体
cd /usr/local/src git clone --recursive https://github.com/kimchi-project/wok.git cd wok git submodule update --remote ./build-all.sh make install cd src/wok/plugin/kimchi make install cd ../ginger make install cd ../gingerbase make install
これで、関連一式がインストールされる
これREADMEに書いてあるのだが、最初は1個づつダウンロードしてはコンパイルしてたし…
OS側の調整
vi /etc/selinux/config SELINUX=disabled vi /etc/wok/wok.conf host = xxx.xxx.xxx.xxx firewall-cmd --add-port=8000/tcp --permanent firewall-cmd --add-port=8001/tcp --permanent firewall-cmd --add-port=64667/tcp --permanent firewall-cmd --reload
selinuxの設定変更を有効にするために再起動
wokサービスを起動してブラウザで https://[ipアドレス]:8001/に接続してみる
以下の「残念なお話し」に続く…
SL7.1で前述の通りインストールはできた
kimchi自体も稼働する
しかし。ISOディレクトリにisoを保存して ゲスト作成にすすむと
サポートされない設定: memory hotplug isn't supported by this QEMU binaryとして作成できない
どうも、libvirtのバージョンが古いらしい
CentOS7.2ではlibvirt-1.2.17-13.el7_2.2があっていける感じ。
SL7.1にはそれがない。
2016/01/25 追記
memory hotplugのサポートはqemuバージョンが2.1以上だそうだ
という訳でqemuをソースからコンパイルインストールすれば動くみたい
kimchiでisosプールにファイルを保存した場合の認識リスト追加方法
kimchiはisoファイルの情報を確認してる
Volume IDを利用して振り分けてる
Volume IDの確認
isoinfo -d -i <filename.iso>
vi /usr/lib/python2.7/site-packages/wok/plugins/kimchi/isoinfo.py #CentOS 7系とScientific Linux 6系と7系を追加 ('centos', lambda m: m.group(1), ('CentOS (\d+) (x86_64|i686)')), ('scientific', lambda m: m.group(1), ('Scientific-(\d+\.\d+)-(x86_64|i686)')), ('scientific', lambda m: m.group(1), ('Scientific (\d+\.\d+) (x86_64|i686) DVD')),
こんな具合にすることで認識リストが追加される
尚、追加しなくてもOSインストールイメージとしては利用OK
Kimchiからゲストを作成して、VNC接続するとキーマップが日本語以外になっててコロンとかが入力できないww
次のようにkimchiのソースを修正するか、仮想ゲストを作成してから
コンソールでvirsh edit <Guest Name>してgraphics設定部分を追記するとOK
cd /usr/lib/python2.7/site-packages/wok/plugins/kimchi/xmlutils vi graphics.py 変更前 graphics = E.graphics(type=params['type'], autoport='yes', 変更後 graphics = E.graphics(type=params['type'], autoport='yes', keymap='ja', python -c "import graphics" python -O -c "import graphics" systemctl stop wokd systemctl start wokd
kimchiではWeb管理画面から、仮想化用インターフェースとしてmacvtapが選択できる
ホストのインターフェースを利用してブリッジとして動作するネットワーク
WebGUIから簡単に設定できるので重宝するのだが、問題点が1つ
ホストとゲスト間はこのインターフェースでは通信ができないという事
macvtapはkernelの機能でこの制限がある
これが嫌なら、macvlanを使ってホスト側の設定を変更するか
旧来のBridgeインターフェースをホスト側に設定しておく必要がある