Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8455
  • 博文数量: 7
  • 博客积分: 18
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-24 14:05
文章分类
文章存档

2017年(1)

2016年(1)

2015年(5)

我的朋友
最近访客

分类: 虚拟化

2015-12-06 00:01:34

现在在NetBSD 6.1.5上装了XEN 4.2,补充一下以前不清楚的内容

1,虚拟网卡之bridge模式
   -  一般的文档里都是以bridge模式来介绍的。 /etc/ifconfig.bridge0就是在开机时创建了一个网桥 bridge0,还把物理网卡加入到这个网桥了。如不使用网桥,则无需创建bridge0
   - 当domU运行时,是成对创建虚拟网卡的,即一个domU会创建至少一对网卡:一个创建在dom0,另一个是domU里的网卡,它们之间是连在一起的。当运行hvm guest时,在dom0里创建的就是tap0,tap1..., 当运行pv guest时,在dom0里的就是xvifAiB。如果它们被配置成bridge模式,则它们都会被加入bridge0这个网桥。
   - 当运行hvm guest时,在dom0里创建了两个虚拟接口,一个是tap0,另一个是xvifAiB,默认使用的是tap0,但是如果在hvm guest里安装了 pv on hvm driver,则使用xvif,不再用tap0, pv on hvm 驱动的作用之一就是告诉hvm guest:"你现在是作为虚拟机来运行的,请使用我特别为你虚拟的设备"
   
2,虚拟网卡之NAT和路由模式
    - 由于hvm guest的配置文件中设置了 type=ioemu,所以强制使用了qemu-ifup 这个脚本,结果是被强制使用了bridge模式。xen 4.2 里无法配置hvm guest指定其它脚本来配置NAT或路由模式
   - PV guest 配置文件中通过 script=vif-ip, ip=A.B.C.D 来配置成NAT或路由模式,结果是dom0里生成的xvif 的IP是A.B.C.D

3,以NAT为例配置dom0的IPNAT (参考The NetBSD Network FAQ)
    - 配置/etc/ipf.conf
        pass in from any to any
        pass out from any to any
    - 配置/etc/ipnat.conf
        map eth0 10.0.0.0/24 -> 0/32
    - 配置/etc/rc.conf,启用ipfilter和ipnat
        ipfilter=YES
        ipnat=YES
    - 配置/etc/sysctl.conf, 启用ip转发
      net.inet.ip.forwarding=1
    - 重启后domU就可以使用NAT了

4, 因为使用XL,所以无需再启动XEND


附上hvm guest配置文件:
  1. #kernel = '/usr/pkg/lib/xen/boot/hvmloader'
  2. builder = 'hvm'
  3. memory = '4096'
  4. vcpus = 2

  5. disk = [ 'file:/data/xen/xenDomU/DomU1-Win7/win7_1.img,ioemu:hda,w',
  6.          'phy:/dev/cd0a,hdc:cdrom,r']
  7. name = "DomU1-Win7"
  8. vif = [ 'type=ioemu,bridge=bridge0' ]
  9. acpi = 1
  10. apic = 1
  11. boot = 'dc'
  12. vnc = 1
  13. serial = 'pty'
  14. usb = 1
  15. usbdevice = 'tablet'
复制代码
NetBSD PV guest的配置文件:
  1. #kernel = "/data/xen/xenDomU/DomU2-NetBSD/netbsd-INSTALL_XEN3_DOMU.gz"
  2. kernel = "/data/xen/xenDomU/DomU2-NetBSD/netbsd-XEN3_DOMU.gz"
  3. memory = 1024
  4. name = "DomU2-NetBSD"
  5. vcpus = 1

  6. #disk = ['file:/data/xen/xenDomU/DomU2-NetBSD/NetBSD_1.img,xvda,w','phy:/dev/sd0a,xvdb,r']
  7. disk = ['file:/data/xen/xenDomU/DomU2-NetBSD/NetBSD_1.img,xvda,w']
  8. vif = ['script=vif-ip,ip=10.0.0.1/24']
  9. boot = "xbd0"
复制代码
阅读(337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~