Xen是由剑桥大学开发的一个开放源代码的虚拟机管理器,是目前世界上最流行的虚拟机管理器之一,在《Virtualization:Xen and xVM Server》一文中有关于Xen和xVM Server的介绍。Sun公司也推出了自己基于Xen的虚拟化项目xVM,其最根本的区别就是Xen以Linux作为Dom0,而xVM以Solaris或OpenSolaris作为Dom0.本文将介绍如何将Solaris或OpenSolaris配置成xVM的Dom0。
在Solaris 10里已经集成了xVM项目,当你完整安装Solaris 10后,在grub启动时会发现有一个xVM的启动项,这时选择该启动项后Solaris 10就以Dom0的形式运行了。
在OpenSolaris下则需要安装相应的软件包并进行配置,具体过程如下:
如果你的OpenSolaris是build 126或者更新的版本,激活xVM只需要以下几条命令即可:
$ pfexec pkg install xvm-gui
$ pfexec svcadm enable milestone/xvm
$ pfexec reboot
如果是老版本的OpenSolaris,整个安装及配置过程就相对复杂一些。
首先使用命令beadm create -a -d xvm xvm创建一个独立的环境;
接着安装一些相应的软件包,命令如下:
$ pfexec beadm mount xvm /tmp/xvm-be
$ pfexec pkg -R /tmp/xvm-be install SUNWvirt-manager SUNWxvm SUNWvdisk SUNWvncviewer
$ pfexec beadm umount xvm
然后就是对menu.lst文件的修改了,步骤如下:
1.对menu.lst文件运行如下的AWK脚本
$ awk '
/^title/ { xvm=0; }
/^title.xvm$/ { xvm=1; }
/^(splashimage|foreground|background)/ {
if (xvm == 1) next
}
/^kernel\$/ {
if (xvm == 1) {
print("kernel\$ /boot/\$ISADIR/xen.gz")
sub("^kernel\\$", "module$")
gsub("console=graphics", "console=text")
gsub("i86pc", "i86xpv")
$2=$2 " " $2
}
}
{ print }' /rpool/boot/grub/menu.lst >/var/tmp/menu.lst.xvm
2.检查该AWK脚本是否运行正常
$ tail /var/tmp/menu.lst.xvm
#============ End of LIBBE entry =============
title xvm
findroot (pool_rpool,0,a)
bootfs rpool/ROOT/xvm
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=text
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
3.替换menu.lst文件并重启
$ pfexec cp /rpool/boot/grub/menu.lst /rpool/boot/grub/menu.lst.saved
$ pfexec mv /var/tmp/menu.lst.xvm /rpool/boot/grub/menu.lst
$ pfexec reboot
最后使用命令svcadm enable -r xvm/virtd ; svcadm enable -r xvm/domains启动服务后就能在OpenSolaris上安装并启动新的虚拟机了。