aa0660 发表于 2015-10-11 12:26:10

xen4.0制作基于Linux2.6.31.8内核的Guest OS

  xen4.0制作基于Linux2.6.31.8内核的Guest OS2010-07-12 16:28系统:rhel5.1  xen版本:xen4.0.1-rc4
  domain0内核:CentOS-x86_64系统,内核重新编译为打xen补丁之后的linux-2.6.31.8
  
  
  1.创建映像文件
  # dd if=/dev/zero of=vmdisk.img bs=1M seek=8192 count=1
  创建大小为8.1G ,名为 vmdisk.img的映像文件
  2.格式化映像为linux文件系统
  # /sbin/mkfs.ext3 vmdisk.img
  提示Proceed anyway? (y,n) 输入y回车就可以了
  3.挂载映像
  # mkdir /mnt/vmdisk
  # mount -o loop vmdisk.img /mnt/vmdisk
  这样我们就可以向vmdisk.img中存放文件了
  4.拷贝系统文件到虚拟磁盘中
  将物理机里面的文件拷贝到/mnt/vmdisk中。如下:
  # cp -ax /{root,dev,var,etc,usr,bin,sbin,lib,boot} /mnt/vmdisk/
# mkdir /mnt/vmdisk/{proc,sys,home,tmp}
如果是64位的系统,还有一个lib64的包要拷贝,如下:
# cp -rf /lib64    /mnt/vmdisk/
  5.修改/mnt/vmdisk/etc/fstab文件,命令如下:
  #echo "/dev/xvda1   /   ext3    defaults      1 1" > /mnt/vmdisk/etc/fstab
  xen4.0不支持hda,sda,要改成xvda
  否则会出现如下错误:
  mount : could not find filesystem '/dev/root'
setup other filesystem
setting up now root fs
set up root :moving /dev faild:No such file or directory
no fstab.sys,mounting inernal defaults
setuproot:error mounting /proc :No such file or directory
setuproot:error mounting /sys:No such file or directory
switching to new root and running init
umounting old /dev
umounting old /proc
umounting old /sys
switchroot : mount faild : No such file or directory
kernel panic:not syncing :attempted to kill init
  6.卸载/mnt/vmdisk:
  #umount /mnt/vmdisk
  到此半虚拟的镜像就制作好了
  7.修改配置文件
  #cp /etc/xen/xmexample1 ./pv-centos.cfg
  #vim pv-centos.cfg
  修改完成后内容如下,括号里面为注释:
  kernel = "/boot/vmlinuz-2.6.31.8"            (虚拟机内核)
ramdisk = "/boot/initrd-2.6.31.8.img"         (虚拟机的内存虚拟磁盘)
memory = 512                            (指定虚拟机的内存大小为256M)
name = ”pv1“                            (虚拟机的名字)
vcpus = 2                                 (指定虚拟机的cpu个数为2个)
vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]            (网卡参数)
disk = [ 'file:/root/img/vmdisk.img,xvda1,w' ]         (虚拟机磁盘,将文件vmdisk.img映射成xvda1,蓝色部分为vmdisk.img所在路径,需要根据用户自己定义的修改)
root = "/dev/xvda1 ro"                         (虚拟机从hda1启动,这里的root="/dev/xvda1ro"要和第5步中修改的fstab里面写的一模一样,否则就启动不起来)
  extra="4 console=hvc0"                   (此处若不加,系统启动后只能看到mount used greatest stack depth那行,后面真正启动的界面看不到)
  8.OK,启动虚拟机:
  # xm create pv-centos.cfg
  
  
  参考文章:http://liyuan462.javaeye.com/blog/679014
  文章中的比较实用,所以基本都是按照该文章中的写的,只是添加了一些自己在xen4.0中使用时碰到的问题
  
  修改时间:2011.3.1
页: [1]
查看完整版本: xen4.0制作基于Linux2.6.31.8内核的Guest OS