Category:
Linux
Solaris 10 9/10 (x86) を CentOS 5.5 (x86_64) の KVM で動作させるメモ。
普通な方法で仮想マシンを作ろうとすると、ブート時に
解決策として、CPU を別のものに切り替えます。CentOS 5.5 の RPM に入っている KVM が対応している CPU の一覧を表示させると、
しかし libvirt で仮想マシンを管理している場合、ドメイン定義ファイル (XML) に CPU を指定することができません(virt-install でも指定はできません)。仕方が無いので、一度仮想マシンを作成した後 emulator をすげ替えることにします。
virt-install で仮想マシンを作成したら一度 virsh destroy <domain_name> し、続いて virsh edit <domain_name> します。emulator 行を
*
なお、Panic してしまう場合はメモリ不足が原因かも知れません。512 MB でも動作するはずですが 1 GB 程度あったほうが良いでしょう。
また CentOS では上記手順で OK ですが、RHEL ではどうなのか分かりません(この方法を使用するとサポートは受けられないと思います)。
普通な方法で仮想マシンを作ろうとすると、ブート時に
SunOS Release 5.10 Version Generic_141445-09 64-bitと表示された後に再起動されてしまいます。QEMU のエミュレーションしている CPU との相性が悪いようです(GRUB で -v を付けてみた)。
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
W
解決策として、CPU を別のものに切り替えます。CentOS 5.5 の RPM に入っている KVM が対応している CPU の一覧を表示させると、
# /usr/libexec/qemu-kvm -cpu "?"ということなので、pentium3 を指定してみることにします。
x86 qemu64
x86 qemu32
x86 pentium3
しかし libvirt で仮想マシンを管理している場合、ドメイン定義ファイル (XML) に CPU を指定することができません(virt-install でも指定はできません)。仕方が無いので、一度仮想マシンを作成した後 emulator をすげ替えることにします。
virt-install で仮想マシンを作成したら一度 virsh destroy <domain_name> し、続いて virsh edit <domain_name> します。emulator 行を
<emulator>/usr/libexec/qemu-kvm</emulator>から
<emulator>/root/bin/qemu-kvm/qemu-kvm-pentium3</emulator>に変更して終了します。さらに、/root/bin/qemu-kvm/qemu-kvm-pentium3 というファイルを以下の内容で作成し、実行権限を与えます。
#!/bin/shこれで virsh start <domain_name> すれば、クラッシュせずにインストールまで進むことができます。
exec /usr/libexec/qemu-kvm -cpu pentium3 "$@"
*
なお、Panic してしまう場合はメモリ不足が原因かも知れません。512 MB でも動作するはずですが 1 GB 程度あったほうが良いでしょう。
また CentOS では上記手順で OK ですが、RHEL ではどうなのか分かりません(この方法を使用するとサポートは受けられないと思います)。
Comments