在Xen平台上面安装ubuntu pv虚拟机

前些天用virt-manager安装了CentOS虚拟机,以为ubuntu安装应该是一样,只需把网络安装地址改为ubuntu的地址。安装时出现黑屏,后来试用virt-install安装,也是同样的问题。在网上搜索了一下,libvirt用的是xend工具集,我用的是xl;xl尽管是Xen 4.2版的默认工具集,现在libvirt的支持尚不完善。把Xen工具集改回xend,重启后仍未解决。那就用Xen的xend工具集(xm)来安装试试。

安装参考ubuntu的Xen文档:创建逻辑卷后,先从网上下载内核和ramdisk文件,放在/var/lib/xen/images/ubuntu-netboot目录下。编写虚拟机配置文件:

$ cat /etc/xen/ubuntu-image.cfg 
name = "ubuntu-image"
memory = 1024
disk = ['phy:mapper/vg0-lv_ubuntu,xvda,w']
vif = ['mac=00:16:3e:00:11:22, bridge=virbr0']
kernel = "/var/lib/xen/images/ubuntu-netboot/vmlinuz"
ramdisk = "/var/lib/xen/images/ubuntu-netboot/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- console=hvc0"

创建虚拟机:sudo xm create /etc/xen/ubuntu-image.cfg -c #开始ubuntu的安装过程。安装完毕后,编辑ubuntu-image.cfg文件,把kernel开始的3行(安装系统时用的内核和initrd及配置)注释掉,然后加入下面一行,使用pygrub启动:

bootloader = "pygrub" #先运行sudo ln -s /usr/lib/xen-4.1/bin/pygrub /usr/bin/pygrub

Ubuntu PV虚拟机至此安装完毕。sudo xm create /etc/xen/ubuntu.cfg -c 就可以进入系统。如果是希望深入学习Xen平台的操作、管理及应用,这样就可以了。

一般的虚拟机使用,还是用virt-manager方便些,特别是网络部分的配置、管理等。

用virt-manager管理ubuntu虚拟机

1. 用dd创建一个新的vm镜像
lvcreate -n lv_ubuntu-image -L 1G #创建新的逻辑卷,大小和原镜像相同
dd if=/dev/mapper/vg0-lv_ubuntu of=/dev/mapper/vg0-lv_ubuntu-image #clone lv上的数据

2. 把新镜像导入virt-manager管理
在virt-manager中创建一个新的虚拟机,选择”导入已有存储”;网络需选择libvirtd的default networking;在vm配置中,添加vnc选项。

3. 启动后配置
vm正常启动后,运行apt-get purge grub2 grub-pc grub2-common && apt-get install grub。改用grub1,避免启动出现问题。

如果启动vm时出现”Boot loader didn’t return any data!”的提示,很可能是因为grub的问题(没有进行上述第3步的操作)。那样就需要参考这篇文章,通过chroot在虚拟机映像上进行必要的操作。

更新(2013-05-04):最新网络安装Ubuntu 12.04.2版本,没遇到第3步中的问题;可能是bug已经修复了。也有另外一种可能:这次安装时克隆的是整个逻辑卷,如果只克隆分区,就有可能遇到上述问题;因为grub安装在磁盘的主分区表上,只克隆分区启动时就会找不到grub。需要重新安装grub解决。

在网上搜索的过程中,发现ubuntu.com提供了各种格式的系统映像(包括亚马逊的EC2, KVM等),这儿有篇ubuntu映像的文档。估计EC2镜像可作为Xen虚拟机安装,只有200多兆;若有需要的话可以试试,估计会更简单些。

更新(2013-05-18): KVM技术:从网上下载ubuntu的cloud image,参考这篇文章用virt-manager在kvm下成功安装;不过启动很慢。还是用以前用过、网络安装的方法安装成功,运行正常。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>