KVMメモ(2回目)
はじめに
rpmbuildでカーネルアップデートごっこするためにCentOSを入れたくなったので、 KVMに入れたときのメモ。
その昔にもKVMを単に使うということをしていたけれど、 結構かわっていたので再度メモ。
環境
- Linux Mint 17.1
- Kernel 3.13.0-37-generic
まずはこれを入れる
kvm本体とVNCクライアントのnovnc。 novncはブラウザから使える
$ sudo apt install kvm libvirt virtinst virt-viewer --install-recommends $ sudo apt install novnc --install-recommends
VMディスク作成
直接/dev/sdXとかを使ってもよいけども、 ディスク1個しかないし、ディスクプールもないので、 標準っぽいqcow2を使う。
$ qemu-img create -f qcow2 centos.img 10G
bridgeの作成
VMにも物理マシンと同じセグメントのIPを割り当てたいので、bridge接続できるようにしておく。
/etc/network% diff -ur interfaces.bk interfaces --- interfaces.bk 2015-12-23 09:47:39.259176355 +0900 +++ interfaces 2015-12-23 09:54:19.371194634 +0900 @@ -1,3 +1,11 @@ # interfaces(5) file used by ifup(8) and ifdown(8) -auto lo +auto lo br0 eth0 iface lo inet loopback +iface eth0 inet manual + +allow-hotplug eth0 +iface br0 inet dhcp +bridge_ports eth0 +bridge_maxwait 0 +bridge_fd 0 +bridge_stp off
VMインストールサマリ
以下のシェルスクリプトを適宜変えて使う。
必要に応じて変えるのはこれ。
- name:VMの名前
- ram:VMに渡すメモリサイズ(MB)
- vcpus:VMに渡すCPUの数
- os-variant:特に指定しなくてもよかったかもしれないけど、CentOSなのでrhelにした。
- disk:VM用ディスク。formatをきちんと指定しないと、VM上のOSがディスクサイズを認識できない。
- cdrom:インストールにつかうISOファイル
#!/bin/bash sudo virt-install \ --connect qemu:///system \ --name centos-kvm \ --ram 2048 \ --disk path=/path/to/centos.img,format=qcow2 \ --graphics vnc,port=5900,keymap=ja,listen=0.0.0.0 \ --network bridge=br0 \ --cdrom /path/to/CentOS-7-x86_64-DVD-1511.iso \ --vcpus 2 \ --os-type linux \ --os-variant rhel7 \ --virt-type kvm \ --boot cdrom \ --hvm
インストール後にしなきゃいけないこと
そのまま再起動すると、CDドライブに何も入っていないよ!みたいな感じでブートしないので、
VMのCDドライブ部分の設定をコメントアウトする
(もしかすると、
$ sudo virsh virsh# edit centos-kvm (diffを取り忘れてしまったけど、cdromっぽいことが書いてある部分を根こそぎ消せばよい)
novncで画面を覗く
websockifyコマンドを叩いたあとで、FirefoxなどのブラウザでアクセスすればVNC画面が現れる。 ブラウザでできるなんていい時代になったものですね。
# 以下のコマンドをたたいたあと、localhost:9000/vnc.htmlにアクセスすると、VNC画面が現れる。 $ websocify -D --web=/usr/share/novnc/ 9000 localhost:5900