Q: 请问KVM如何使用VDE?搞不定啊.
发表于 : 2012-01-08 14:48
在网上搜了半天,wiki.archlinux.org里的qemu章节也试了一圈,还是没解决。论坛里没找到关于使用vde方法的,所以只好发贴问了。
使用如下命令来启动并安装系统:
当虚拟系统安装完后,是可以正常上谷歌的。用ipconfig,得到输出如下:
顺带说一下,在本机系统(也就是Archlinux)中用命令ifconfig输出的结果为:
由于一些原因,需要虚拟的系统能方便的连通本地系统所在的局域网的所有电脑,或者说就是让虚拟系统的IP也在192.168.1.x的IP段中吧。比如想要在用虚拟机做源码管理器或者是做其它服务器来让局域网中的其它电脑来访问等等。(不想用virtio或bridge-util什么的,貌似只剩vde可选了)
在虚拟系统中用ping本地系统的IP(ping 192.168.1.51),结果是"请求超时"。
尝试启动kvm,使用vde:
进入虚拟系统win7后,上不了外网了(如之前可以上的谷歌),再用ipconfig,输出如下:
另外还试过wiki.archlinux.org中qemu里描述的使用vde的方法,步骤如下:
不过还是失败了,依然没法ping 192.168.1.1和192.168.1.51(本机局域网ip),然后重启了下系统,才试了第一个方法。
要提一下的是,我的网卡直接连的adsl modern,该modern支持4个接口,有dhcp功能。如果换成virtualbox的虚拟系统并采用bridge网格模式,可以自动分配到ip (192.168.1.x段)的。
请问大家有什么建议么?

代码: 全选
本机环境:
CPU : Intel Dual Core E6550 (支持VT-x虚拟化什么的)
内存: 3.2GB
网卡: Realtek板载有线网卡 (系统自动识别驱动的)
系统: ArchLinux i686 (前几天刚升级系统)
KVM: pacman -S qemu-kvm
VDE : pacman -S vde2
虚拟系统:
名称: Windows7 32bit 中文版 (30天试用版)
虚拟磁盘: .raw文件(通过qemu-img create -f raw win7.raw 26G 生成的)
安装方式: 通过.iso文件。
假定:
系统使用了1个多月,也没怎么做过特别的设置(怕不心搞出问题了又得重装),算是比较干净的。
代码: 全选
exec qemu-kvm -drive file=~/win7.raw,cache=writeback -cdrom win7_cn_x86.iso -boot d -m 1536
代码: 全选
ipv4地址: 10.0.2.15
子网掩码: 255.255.255.0
默认网关: 10.0.2.2
代码: 全选
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
inet 192.168.1.51 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::219:dbff:fef5:9394 prefixlen 64 scopeid 0x20<link>
ether 00:19:db:f5:93:94 txqueuelen 1000 (Ethernet)
RX packets 47069 bytes 53650868 (51.1 MiB)
RX errors 0 dropped 9 overruns 0 frame 0
TX packets 37647 bytes 4757110 (4.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 44 base 0xe000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436 metric 1
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 2395 bytes 250670 (244.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2395 bytes 250670 (244.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1492 metric 1
inet 110.184.203.161 netmask 255.255.255.255 destination 118.114.236.10
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 46416 bytes 52589873 (50.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37190 bytes 3924597 (3.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在虚拟系统中用ping本地系统的IP(ping 192.168.1.51),结果是"请求超时"。
尝试启动kvm,使用vde:
代码: 全选
vde_switch -sock /home/box/my_vde_switch
// 发现执行了上面的这行命令后,终端挂起了,然后我又开了个终端(gnome-terminal)
// 另外用ps -e | grep vde,输出"3888 pts/4 00:00:00 vde_switc"
// 在新的终端中输入:
exec qemu-kvm -drive file=~/win7.raw,cache=writeback -cdrom win7_cn_x86.iso -boot d -m 1536 -net nic -net vde,sock=/home/box/my_vde_switch
代码: 全选
ipv4地址: 169.254.224.28
子网掩码: 255.255.0.0
默认网关: (空)
代码: 全选
sudo vde_switch -daemon -mod 660 -group kvm
slirpvde --dhcp --daemon
exec qemu-kvm -drive file=win7.raw,cache=writeback -cdrom win7_cn_x86.iso -boot d -m 1536 -net nic,macaddr=52:54:01:01:EE:03 -net vde
要提一下的是,我的网卡直接连的adsl modern,该modern支持4个接口,有dhcp功能。如果换成virtualbox的虚拟系统并采用bridge网格模式,可以自动分配到ip (192.168.1.x段)的。
请问大家有什么建议么?
