Xen 初探

组里服务器需要调整,老大希望构建一个Xen虚拟机环境。

需求是这样的:
    服务器有两块网卡,一块连接校园网,需要iNode拨号,并且有多个账号时常切换。

    服务器需要提供ftp、samba、svn还有几个web服务,并由LDAP做统一认证。

系统用了Debian Wheezy , Xen4.1

1.  安装  Xen 

         aptitude search xen

         然后找到xen-hypervisor 和  xen-linux-image  (名字不一定正确),然后 apt-get install

2.   Xen会根据之前系统的内核版本,生成一个新的内核,并自动修改grub 加上启动这个内核的相关选项。

        GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2048M"   这是限制Dom0内存的方法。

        Dom0其实就是原来的系统换了一个内核。

3.   推荐的管理和配置工具:  virt-manager   xenwatch  .都可以直接apt-get 装上.

         virt-manager很棒,用起来像是VirtulBox那样。不过Xen对虚拟机的基本管理,都是基于VNC的。

         如果连接不上,提示什么localhost:7000错误之类的,修改配置文件:

         /etc/xen/xend-config.sxp   去掉注释,并修改 

                xend-unix-server no  -->      xend-unix-server yes

4.    贴上一份配置文件:

  winxp.cfg

         name='winxp'

         kernel='/usr/lib/xen-4.1/boot/hvmloader'

         device_model='/usr/lib/xen-4.1/bin/qemu-dm'

         builder='hvm'

         memory=1024

         pae=1

         disk=['file:/home/xen/winxp/winxp.img,ioemu:hda,w','file:/home/xen/iso/winxp.iso,hdc:cdrom,'r']

         //  可以指定物理分区 ,格式为  'phy:/dev/xm-2,sda,w'  其中 /dev/xm-2 是分区,可以直接写xm-2,会自动到/dev中找。

            在有多个分区的时候,sda 可以直接指定为  sda1 sda2,如果是这样,好处就是虚拟机也是吧这个分区当成分区看,而不是当成

            一块硬盘,比如sda来看。这样大家就都可以挂载了。

         vif=['type=ioemu,bridge=xenbredu']

         //  type = ioemu  只在windows虚拟机中加,Linux的虚拟机加上会不识别,应该是一个IO的中间层吧

         boot='d'  //启动顺序 

         on_poweroff='destroy'

         on_reboot='restart'

         vnc=1

         vnclisten='127.0.0.1'

         vncviewer=1

5    关于虚拟机的网桥  要在配置文件(/etc/xen/xend-config.sxp)中,将下面一行的注释去掉。
             #(network-script network-bridge) 

        作用就是系统会在启动的时候,运行/etc/xen/script/network-bridge这个脚本。主要进行一下的操作(配置文件的注释写得很详细,也很风趣)

               将  eth0  网卡 重命名为 peth0  ,新建一个网桥,叫做 eth0 ,并将peth0 加入eth0 网卡。

               ifconfig eth0 down
               ip link set dev eth0 name peth0
               brctl addbr eth0
               ifconfig eth0 up
               brctl addif eth0 peth0
               ifconfig peth0 up

                这样的好处就是,DomU中的虚拟网卡,只要指定网桥是eth0,就可以同eth0一样使用,互不影响,大家就像连接了一个交换机一样。

                在Dom0中,网桥eth0被当做网卡使用,peth0没有IP等任何信息。

                但是官方的建议是,自己修改/etc/network/interfaces ,并且官方还说,如果你自己修改了这个,他的network-bridge脚本就啥也不干。

                modprobe bridge  加载这个脚本的好处就在于,interfaces 可以直接指定网卡 ,比如:

           auto xenbredu
           iface xenbredu inet static
                  address 0.0.0.0
           bridge_ports eth0

                本来 xenbredu是一个不存在的设备,但是这样就可以自动添加这个网桥,注意,这里的eth0是物理网卡,区别上面网桥eth0.

 

几个 常用的xen命令 

    xm  list

    xm create **.cfg

    xm shutdown xenname

    ...

 

       

posted @ 2012-07-19 21:17  wpjsolo  阅读(1978)  评论(0编辑  收藏  举报