さくらのVPS(v3)でXenを使う(失敗)
さくらのVPSを契約してずっとflast.jpを走らせてたのですが、今回新プラン登場で優遇を受けられるらしいので乗り換えてみようと思っていろいろ試しました。
まず、旧VPSがCentOS5.6+Xen4.1で動いてたので出来ればそのままDomUを動かしたく思って新VPSでもXen4.1を使っていこうと思いました。
とりあえずめんどくさがりな私はデフォルトで入ってるCentOS6.2 x86_64に入れていこうと思いました。
参考文献:
Ayutaya.com » Blog Archive » Xen 4 で Scientific Linux 6 Dom0
Hacks オープンソース (OSS) ラボ » CentOS6に最新版のXen(現在は4.1.1)をYumでインストールする
ここら辺を参考にざっとXen4.1を入れていきます。
# cd /etc/yum.repo.d/ # wget http://www.gitco.de/linux/x86_64/centos/6/gitco-centos6-x86_64.repo # yum -y upgrade # yum -y install xen xen-hypervisor xen-libs xen-licenses xen-runtime virt-manager libvirt # wget http://xenbits.xen.org/people/mayoung/EL6.xen/EL6.xen.repo # yum -y upgrade
とりあえず何の苦もなく入った上にパッケージが/boot/grub/grub.confをよしなにしてくれるらしいのでそのままrebootするとxendom0が起動するらしいです。
ということでreboot。
※両repoを落としてからupgrade/installすると/boot/grub/grub.confがうまく書き換わらないようです。解ってる人はそいつを編集すればいいですが、わからない人は上の順でやらないと詰むと思います。
さすればxendom0が......???
(XEN) **************************************** (XEN) Panic on CPU 0: (XEN) IO-APIC + timer doesn't work! Boot with apic_verbosity=debug and sed a r eport. Then try booting wwith the 'noapic' option****************************** ******** (XEN) (XEN) Reboot in five seconds...
などと言われてしまう。
xenで無い方で起動して素直にgrub.confにnoapicを加える。
kernel /xen.gz noapic
そうすると先の箇所は通過するようになる。しかしそう簡単には行くわけもなく次の関門がある。
さくらのVPSは大元にKVMを使っていて、I/O周りにvirtioを使っている。
試しにlspciを行なってみると、
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) 00:02.0 VGA compatible controller: Technical Corp. Device 1111 00:03.0 Ethernetl controller: Intel Coporaton 82540EM Gigabit Ethernet Controller (rev 03) 00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device 00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon
00:04.0と00:05.0にvirtioの表記が見える。
旧VPSでは使っていなかったのかlspciをしてもvirtioの表記は見つからなかった。
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) 00:02.0 VGA compatible controller: Device 1234:1111 00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
そしてどうやらこのvirtioとの折り合いがうまく行かないらしく、PCIのIRQを設定する付近で止まってしまう。
xen_allocate_pirq: returning irq 11 for gsi 11 Failed to setup GSI :11, err_code:-22 virtio-pci 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, high) -> IRQ 11 ACPI: PCI Interrupt Link [LINKA] enabled at IRQ 10 Failed to setup GSI :10, err_code:-22 virtio-pci 0000:00:05.0: PCI INT A -> Link[LNKD] -> GSI 10 (level, high) -> IRQ 10 vda:
うーむ...
このまま無駄にするのも悲しいしXenは諦めようか...