环境:Win 7 中安装WMWare 8.0; WMWare 中安装Debian 6.0;Debian中安装qemu-kvm; qemu-kvm中安装Gentoo (如下图所示)
桥接:桥接可以让Guest OS (KVM中的OS)和Host OS(此处是Debian)位于同一局域网内,并且可以和局域网内其他PC相互通信。
1.加载kvm模块
- # modprobe kvm
- # modprobe kvm_amd #intel CPU 是 kvm_intel
由于实验环境是WMWare,硬件(CPU)是虚拟化出来的,所以下面这条命令会出错:
不管了,无视此错误,直接跳过 !
2.安装qemu工具
- # apt-get install qemu-kvm #如下图所示
安装过程结束时报错了,继续无视跳过!(qemu 是 KVM 在用户空间到管理工具,不安装qemu-kvm则无法使用相关命令)
3.安装桥接网络的工具
- # apt-get install bridge-utils
- # apt-get install uml-utilities (命令#tunctl要使用)
4.配置网络
- # vi /etc/network/interfaces
- #编辑文件内容如下
- auto lo
- iface lo inet loopback
-
- auto br0
- iface br0 inet static #dhcp
- bridge_ports eth0
- address 192.168.1.39
- netmask 255.255.255.0
- gateway 192.168.1.6
- #bridge_stp off
- #bridge_maxwait 0
- #bridge_fd 0 (不知道这三行有何用,直接注释掉了)
5.restart the network(重启网络看看OK不?)
- # /etc/init.d/networking restart
如果和下图差不多,那就OK了
6.加载TUN/TAP模块并设置桥接口
- # modprobe tun
- # tunctl #创建虚拟网卡tapX (X代表数字0,1,2…本文使用的是tap0)
-
- # brctl addif br0 tap0 #将上一步创建的 tapX 加入网桥 br0
- # ifconfig tap0 promisc up #启用tapX 并设置为promisc 模式
7.创建虚拟硬盘,安装系统
- #kvm-img create disk.img 4G #真实系统(非虚拟机中)可能是qemu-img命令
-
- #kvm -cdrom xp.iso -hda disk.img -boot d #无网络“开机”并从xp.iso启动,安装系统
- 或者使用下条命令联网安装系统,非dhcp需配置网络:IP,DNS,Gateway…
- #kvm -cdrom xp.iso -hda disk.img -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no -boot d
接下来就进入安装界面了,这里不再赘述,需要自己配置网络:IP,DNS,Gateway… (下图是我的kvm启动界面)
进入kvm虚拟机(这里是Gentoo ),配置网络后可以联网(见下图,192.168.1.6是我Win 7 系统IP,整个宿舍其它PC的网关)
OK,在KVM虚拟机Gentoo中已经可以ping通baidu.com, 大功告成 !
8.用以安装了系统的disk.img启动虚拟机,并启用桥接网络
- #kvm -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no disk.img
注:tapX对应于第6步创建的tapX, 如需创建多台guest OS,重复步骤6,7,8 即可。qemu-kvm 参数较多,如后台运行虚拟机,用vnc远程连接等方法请参考响应文档,例如man
总结:以前听人说过虚拟机中不可以继续虚拟机,后来google了下说是可以,今天证明了确实可以!只不过是在WMWare中KVM罢了