然而问题来了,hvm类型的虚拟机无法安装 xenserver的 xen-tools等工具,可用性就大打折扣,所以必须把hvm的ubuntu转换成 pv类型的,这个过程本身不难,有网友给出了脚本,问题是,Cloudstack, Xencenter配合起来使用,问题就比较多了,Cloudstack 会删除Xencenter 创建的虚机,而对于那些停掉的虚机,Cloudstack也会自动删去,我们无法在xenserver上看到这些停到的虚机的信息,所以,在进行 hmv--->pv的转换过程中,要先把Cloudstack停掉,否则会很麻烦。
总结一下,其实在xenserver上 可以跑的虚机类型
1:hvm
2:pv
3:pv on hvm 这个类型我也作成功了,但想想其实没有太大用处,特别是在Cloudstack上使用管理,比较麻烦,
下面就是的具体操作内容,直接转过来。from:http://blog.sina.com.cn/s/blog_63b0782f0100ja2l.html
=====================================================================
在XenServer的标准处理中,Ubuntu安装xs-tools是不起作用的。为了有效的利用xs-tools带来的好处,我们需要对ubuntu进行修改。
在操作进行之前,要确保Ubuntu 10.04安装的分区是EXT3,因为目前的XenServer还不支持EXT4。如果使用EXT4,重启的时候会提示你pygrub错误的。
由于ubuntu默认没有安装SSH,因此需要先安装SSH:apt-get install openssh-server
SSH连接到虚拟机,创建一个新的tty:
sudo cp /etc/init/tty1.conf /etc/init/hvc0.conf sudo vi /etc/init/hvc0.conf
并把hvc0.conf中的tty1修改为hvc0。
sudo vi /boot/grub/grub.cfg
将文件内的这段(类似的,可能会有所不一样)保存到一个临时文件中(不要保存在该VM中),供后续使用。
menuentry 'Ubuntu, with Linux 2.6.32-21-server' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 02899ea9-1876-4e7b-8ef8-2b09b598cedb linux /boot/vmlinuz-2.6.32-21-server root=UUID=02899ea9-1876-4e7b-8ef8-2b09b598cedb ro quiet initrd /boot/initrd.img-2.6.32-21-server }
关闭虚拟机。
SSH连接到虚拟机所在的宿主机,下载这个文件( http://www.jansipke.nl/res/xenserver/makepv.sh )到当前目录并设置为可执行文件:
chmod +x makepv.sh
对虚拟机执行转换操作,my-vm-name为XenCenter中可以看到的虚拟机名字:
./makepv.sh my-vm-name
在遇到提示:
Specify path to Kernel (e.g. /boot/vmlinuz...):
输入刚才临时文件中的:
/boot/vmlinuz-2.6.32-21-generic
在遇到提示:
Specify Kernel arguments (root=UUID=... ro quiet):
输入刚才的:
root=UUID=c49e05d9-2994-46af-9a22-b909824b2964 ro quiet splash
在遇到提示:
Specify path to ramdisk (e.g. /boot/initrd...):
输入刚才的:
/boot/initrd.img-2.6.32-21-generic
执行成功后重启该虚拟机。
载入xs-tools.iso文件,执行:
sudo mount /dev/cdrom1 /mnt sudo dpkg -i /mnt/Linux/xe-guest-utilities_5.5.0-466_amd64.deb
弹出xs-tools.iso文件后再重启VM,一定要在重启之前弹出光盘,否则会提示你:too many bootable disks
重启之后对服务进行确认:
sudo update-rc.d -f xe-linux-distribution remove sudo update-rc.d xe-linux-distribution defaults