HP ProLiant N40L MicroServerに入れる。
ホストOSは、CentOS 6.1。
筐体内部にあるUSBポートにUSBメモリを挿して、そこにインストールした。
ゲストOSは、LVMで管理する。
bridge-utilsインストール
[root@kvm ~]# yum install bridge-utils
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" BOOTPROTO="static" MACADDR="D6:2E:6F:8C:71:C4" NM_CONTROLLED="no" ONBOOT="yes" TYPE="Ethenet" BRIDGE=br0
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0" BOOTPROTO="static" IPADDR=192.168.135.10 NETMASK=255.255.255.0 GATEWAY=192.168.135.1 MACADDR="C2:E2:D5:DC:69:1E" NM_CONTROLLED="no" ONBOOT="yes" TYPE="Bridge"
ゲストOSイメージ格納用のLVMを作成
[root@kvm ~]# fdisk /dev/sda デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルをディスク識別子 0x436f87cb で作成します。 あなたが書き込みを決定するまで、変更はメモリ内だけに残します。 その後はもちろん以前の内容は修復不可能になります。 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (m でヘルプ): c DOS互換フラグは設定されていません コマンド (m でヘルプ): p ディスク /dev/sda: 250.1 GB, 250059350016 バイト ヘッド 255, セクタ 63, シリンダ 30401 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x436f87cb デバイス ブート 始点 終点 ブロック Id システム コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本パーティション (1-4) p パーティション番号 (1-4): 1 最初 シリンダ (1-30401, 初期値 1): 初期値 1 を使います Last シリンダ, +シリンダ数 or +size{K,M,G} (1-30401, 初期値 30401): 初期値 30401 を使います コマンド (m でヘルプ): t 選択した領域 1 16進数コード (L コマンドでコードリスト表示): 8e 領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました コマンド (m でヘルプ): p ディスク /dev/sda: 250.1 GB, 250059350016 バイト ヘッド 255, セクタ 63, シリンダ 30401 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x436f87cb デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 1 30401 244195008+ 8e Linux LVM コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。 [root@kvm ~]# [root@kvm ~]# [root@kvm ~]# pvcreate /dev/sda1 Physical volume "/dev/sda1" successfully created [root@kvm ~]# [root@kvm ~]# [root@kvm ~]# vgcreate vg_kvm_guest /dev/sda1 Volume group "vg_kvm_guest" successfully created
KVMの設定をブートディスクから切り離す
設定用パーティション作成
[root@kvm ~]# lvcreate -L 1G -n lv_config vg_kvm_guest Logical volume "lv_config" created [root@kvm ~]# [root@kvm ~]# [root@kvm ~]# mkfs.ext4 /dev/vg_kvm_guest/lv_config mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 23 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
設定移動
[root@kvm ~]# mount /dev/vg_kvm_guest/lv_config /mnt/ [root@kvm ~]# cp -rp /etc/libvirt/* /mnt/ [root@kvm ~]# rm -rf /etc/libvirt/* [root@kvm ~]# umount /mnt/ [root@kvm ~]# mount /dev/vg_kvm_guest/lv_config /etc/libvirt/ [root@kvm ~]# echo '/dev/vg_kvm_guest/lv_config /etc/libvirt ext4 defaults 1 2' >> /etc/fstab
Pool作成
[root@kvm ~]# virsh pool-define-as default logical - - /dev/sda vg_kvm_guest /dev/vg_kvm_guest プール default が定義されました [root@kvm ~]# virsh pool-start default プール default が起動されました [root@kvm ~]# virsh pool-autostart default プール default が自動起動としてマークされました
CentOS6インストール
virt-install \ --location http://ftp.riken.jp/Linux/centos/6/os/i386/ \ --extra-args console=ttyS0,115200n8 \ --accelerate \ --name centos6 \ --ram 512 \ --vcpus 1 \ --os-variant rhel6 \ --network bridge:br0 \ --disk pool=default,bus=virtio,size=8,cache=writethrough \ --noreboot \ --keymap=ja
DebianSqueezeインストール
virt-install \ --location http://ftp.jp.debian.org/debian/dists/squeeze/main/installer-i386/ \ --extra-args console=ttyS0,115200n8 \ --accelerate \ --name debian_squeeze \ --ram 512 \ --vcpus 1 \ --os-variant debianlenny \ --network bridge:br0 \ --disk pool=default,bus=virtio,size=8,cache=writethrough \ --noreboot \ --keymap=ja
XenServerインストール(VNC)
このコマンドでCDからブートは出来る。
でもMicroServerの場合、NICを認識しないからインストール出来ない。
PCIeとかでXenServerが認識出来るNICを追加すれば進めるらしい。
virt-install \ --cdrom /dev/cdrom \ --accelerate \ --name xenserver \ --ram 1024 \ --vcpus 1 \ --os-variant rhel6 \ --network bridge:br0 \ --disk pool=default,bus=virtio,size=8,cache=writethrough \ --noreboot \ --keymap=ja \ --vnc \ --vncport=5901 \ --noautoconsole
Citrix Forums : HP ProLiant N36L MicroServer ...
http://forums.citrix.com/thread.jspa?threadID=278765
WindowsXPインストール(VNC)
MacからF8を押す場合は、opt + cmd + F8。
virt-install \ --cdrom /dev/cdrom \ --accelerate \ --name WindowsXP \ --ram 512 \ --vcpus 1 \ --os-variant winxp \ --network bridge:br0 \ --disk pool=default,size=10,cache=writethrough \ --noreboot \ --keymap=ja \ --vnc \ --vncport=5901 \ --noautoconsole
仮想マシンをインポート
OSインストール済みのディスクをテンプレートとして、ddとかで新しいディスク作ってそれを起動ディスクにする。
virt-install \ --import \ --name Vpn \ --ram 512 \ --vcpus 1 \ --os-variant rhel6 \ --network bridge:br0 \ --disk path=/dev/vg_kvm_guest/Vpn.img,bus=virtio \ --noreboot \ --keymap=ja
CentOS6.2にアップデート
CentOSを6.2にアップデートすると、libvirtはlibvirt-0.9.4-23.el6_2.1.x86_64になる。
バージョンが上がって依存が増える。
libvirtがハイパーバイザーに接続出来ない
[root@kvm ~]# virsh list エラー: Failed to reconnect to the hypervisor エラー: 有効な接続ではありません エラー: Failed to connect socket to '/var/run/libvirt/libvirt-sock': そのようなファイルやディレクトリはありません [root@kvm ~]# virsh connect qemu:///system エラー: ハイパーバイザーへの接続に失敗しました エラー: Failed to connect socket to '/var/run/libvirt/libvirt-sock': そのようなファイルやディレクトリはありません
avahi-daemonを起動させれば接続出来る。
# messagebus起動(avahi-daemonが依存している) service messagebus start chkconfig messagebus on # avahi-daemon起動 yum -y install avahi-daemon service avahi-daemon start chkconfig avahi-daemon on # libvirt起動 service libvirtd start
VMの起動に失敗する
[root@kvm ~]# virsh start NAS エラー: ドメイン NAS の起動に失敗しました エラー: 内部エラー unable to reserve PCI address 0:0:2.0
virsh editで、
KVM guests failed to start after 6.2 upgrade - Linux Archive
http://www.linux-archive.org/centos/612609-kvm-guests-failed-start-after-6-2-upgrade.html
virsh shutdown出来ない / VMを停止させてもvirsh listで起動中のままになる
VMにacpidが入っていない
VMにインストールする。
入れれば起動はしなくていいっぽい。
yum install acpid
VM定義でacpiが有効になっていない
virsh edit VMNameをして
<features>
の中に
<acpi/>
を追加。