Chinaunix首页 | 论坛 | 博客
  • 博客访问: 175107
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-26 12:56
文章分类

全部博文(84)

文章存档

2015年(83)

2014年(1)

我的朋友

分类: 虚拟化

2015-01-30 11:46:13

         Xenserver上本来支持的虚机类型大部分都是pv的,比如centos系列的操作系统,按照正常的安装流程,生成的虚机都是pv类型,唯独ubuntu,支持的比较烂,如果按照正常的操作类型选,比如,选择---》ubuntu 10.04 64 bit,这样是告诉xenserver,我要创建一个pv的虚拟机,但如果你这样是无法成功安装 ubuntu的,所以你必须选择 other linux,这就告诉xenserver我是要创建一个hvm的虚拟机。这样可以正常创建成功。
        然而问题来了,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连接到虚拟机所在的宿主机,下载这个文件(  )到当前目录并设置为可执行文件:

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
阅读(909) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~