全部博文(15)
分类:
2011-03-28 10:51:46
原文地址:kvm桥接方案 作者:liujunwei1234
下面介绍配置KVM桥接网络的方法: \\特别注意,大部分不能桥接无线网卡。。。只能桥接PCI网卡。。。。
安装桥接工具:
代码:
sudo apt-get install bridge-utils
安装创建TAP界面的工具:
代码:
sudo apt-get install uml-utilities
编辑网络界面配置文件(
代码:
sudo vi /etc/network/interfaces
),根据你的情况加入以下内容:
代码:
auto eth0
iface eth0 inet static \\这里可以为DHCP
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down
ifconfig $IFACE down
tunctl_user lm \\lm是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports
eth0 tap0
address 192.168.1.3
netmask 255.255.255.0
network
192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1
激活tap0和br0: //有些时候会不奏效,但重启后就行了
代码:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0
好了以后ifconfig看一下,多了一个tap0和br0, br0上的IP地址就是你本机的IP地址。
KVM的使用方法:
KVM的使用方法具体可以参考
代码:
/usr/local/kvm/bin/qemu-system-x86_64 --help
下面具体举几个例子:
创建虚拟磁盘(用qemu-img命令):
代码:
mkdir kvm
cd kvm
/usr/local/kvm/bin/qemu-img create -f qcow2 winxp.img 10G
创建虚拟机:
代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -clock rtc -soundhw es1370
这里对各个参数说明一下:
代码:
-m 512
分配512MB的内存给GUEST OS
代码:
-hda /home/lm/kvm/winxp.img
使用虚拟磁盘的文件和路径
代码:
-localtime
使用本地时间(一定要加这个参数,不然虚拟机时间会有问题)
代码:
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no
使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲 突了
代码:
-boot d
从光盘启动 (从硬盘启动则为 -boot c )
代码:
-cdrom /home/lm/iso/winxp.iso
使用的光盘镜像,如果要使用物理光驱的话就是 -cdrom /dev/cdrom
代码:
-smp 2
smp处理器个数为2个,如果你是4核处理器,后面的数字就为4(如果不开启此选项,则只能以单核模式运行)
代码:
-clock rtc
使用rtc时钟(如果不开启此选项,WINXP可能会很慢)
开始启动装系统了吧?是不是非常的快?如果你机器可以的话大概在15分钟左右就把XP装好了。
启动装好的虚拟机(很简单,上面的命
令改两个参数就行):
代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370
然后在客户端里设置好IP地址就可以使用了,但是KVM的显卡能力不行,可以通过rdesktop远程连接解决
代码:
rdesktop 192.168.1.4:3389 -u administrator -p ****** -g 1280x750 -D -r sound:local \\分辨率可以自行设定,是不是比VirtualBox的无缝连接模式要爽??
补充:
如果同时运行多个GUEST OS ,则网络设置要改一下,在/etc/network/interfaces
里加几个tap界面就行了,每个GUEST OS单独使用一个TAP,比如说现在要同时运行3个GUEST OS ,则配置文件如下:
代码:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm \\lm是我的用户名,在这里换为你的用户名
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down
ifconfig $IFACE down
tunctl_user lm \\lm是我的用户名,在这里换为你的用户名
auto tap2
iface tap2 inet manual
up ifconfig $IFACE 0.0.0.0
up
down ifconfig $IFACE down
tunctl_user lm \\lm是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports
eth0 tap0 tap1 tap2
address 192.168.1.3
netmask 255.255.255.0
network
192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1
启动GUEST OS
代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370
把ifname=tap0换为你要tap1或者tap2就行了,MAC也要改噢。。
要注意,系统重启后要重新加载kvm内核模块:
代码:
sudo modprobe kvm
sudo modprobe kvm-amd //如果使用AMD处理器
sudo modprobe kvm-intel //如果是用INTEL处理器
当然,你也可以修改系统相关设置在启动时自动加载该模块。
同理,可以用此方法安装LINUX。装完了可以对比一下,是不是比VB和VM要爽
得多呢?
其他比如像USB连接问题可以参考论坛里的帖子
但是现在KVM还有很多的缺点,我还没有成功在KVM上安装SOLARIS系统(可能时钟不同步导致),还有有些时候WINDOWS在 KVM里会有系统时钟不同步的问题(会导致WINDOWS GUEST运行很慢)。
我已经在我的系统里同时运行了4个CentOS 4.6 1个winxp sp3 1个win2003 sp2 5个FreeBSD
7.0
速度太快了,难以置信。
系统配置为:Athlon X2 5000+ 4G RAM 跑的Ubuntu 8.04.1 64bit