还记得上一篇的debootstrap安装过程吗,过程是顺利的,结果是惨败的,至今还没找到原因,但确定是系统哪里设置的有问题,还请大牛给解释一下。
在上上一篇中我把安装好的全虚拟化的系统打了一个包,就是为了在现在使用,在直接使用前需要对打的包进行一下简单的修改,删除/etc/ssh目录中的ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub文件,因为在安装过程中xen-tool会自动生成相关配置,这是由于已经存在相关文件,需要手动俺两次回车(y)跳过,所以先删除在全虚拟化包中的文件,还是用xen-tools安装,配置文件如下:
lvm = lvm-xen
install-method = tar:
tar-cmd = /bin/tar -zxvf /opt/debian6.tgz
size = 30Gb
memory = 3072Mb
swap = 4096Mb
fs = ext4
dist = `xt-guess-suite-and-mirror --suite`
gateway = 10.1.6.254
netmask = 255.255.255.0
broadcast = 10.1.6.255
dhcp = 1
cache = yes
genpass = 1
genpass_len = 8
hash_method = sha256
kernel='/boot/vmlinuz-2.6.32-5-amd64'
initrd='/boot/initrd.img-2.6.32-5-amd64'
arch = amd64
mirror = http://mirrors.163.com/debian
ext3_options = noatime,nodiratime,errors=remount-ro
ext2_options = noatime,nodiratime,errors=remount-ro
xfs_options = defaults
reiserfs_options = defaults
btrfs_options = defaults
boot = 1
serial_device = hvc0
disk_device = xvda
vcpus = 2
因为在默认安装时要执行一系列hook脚本,而hook脚本中会利用一些列脚本进行虚拟机的定制,其中就有两项是安装内核和内核模块,hook脚本是根据宿主机的情况安装相同的内核及模块,而在全虚拟化的包中使用的是默认的debian6内核,并非xen内核,在查看日志时发现会报出一些xen内核模块不存在的错误,而且也不想在虚拟机中使用xen内核,所以需要修改hook脚本,在/usr/lib/xen-tools/debian.d目录下,该目录下的hook脚本都可以根据自我需求进行修改,影响安装过程的主要有两个脚本80-install-kernel和80-install-modules。
修改80-install-kernel文件
KERNEL_XEN_PKG="linux-image-$XEN_ARCH"
DOMU_KERNEL=$(basename $(ls -1 ${prefix}/boot/vmlinuz* | head -n 1))
修改80-install-modules文件
linux_modules_package="linux-modules-2.6.32-5-amd64"
开始安装
xen-create-image --hostname=xen-para-tar --install-method=tar --install-source=/opt/debian6.tgz
安装过程和上一篇的一样,只不过是本地解压包安装,安装完成后获取ip则可以登录。
可以看到在宿主机上同时运行了一个全虚拟化和一个半虚拟化的虚拟机,在经过性能测试后,两者性能差距不大,但是还是hvm的好于pv,看来还需要查找问题。
来源:oschina
链接:https://my.oschina.net/u/123777/blog/79022