有了第一台客户机的安装经验,我们很容易安装更多的客户机在同一主机上,当然要在硬件资源足够的情况下。安装多台客户机时,需要注意以下几点:
使用不同的存储镜像。就是为 -hda 的设定不同的文件或分区。 使用不同的 MAC 地址。为了避免网络冲突,客户机的 MAC 地址要唯一。由于我们在安装第一台客户机时,使用了虚拟网桥,而且在客户机的网络配置脚本/etc/qemu-ifup具有可扩展性,所以安装第二台客户机时不用改动任何脚本,只需要配置不同的存储镜像和 MAC 地址。
清单 11. 安装 SLES11
使用硬盘分区作为客户机存储,从光盘启动,设置 TAP 网络,通过 VNC 远程安装: linux-gwsa:~ # qemu-kvm -m 4096 -smp 4 -hda /dev/sdc1 -net nic,model=virtio, \n macaddr=00:16:3e:55:83:c3 -net tap -cdrom /mnt/SLES11.iso -boot d -vnc 9.123.99.34:5 启动第二台客户机 linux-gwsa:~ # qemu-kvm -m 8192 -smp 4 -hda /dev/sdc1 -net nic,model=virtio, \n macaddr=00:16:3e:55:83:c3 -net tap -vnc 9.123.99.34:5
安装完成并启动第二台客户机,我们可以查看它的网络状况,如图 8 。
图 8. 安装了 virto 网络模块客户机
可以看出,客户机获得了 IP 地址 192.168.0.181,识别并加载了 qemu-kvm 虚拟的网卡模块 virtio 。为了测试网络速度,从外网的一台机器上用 scp 下载文件,下载速度平均为 11.1 MB/s 。速度几乎与物理网卡一样。细心的读者可能发现了两台客户机的网络性能有着巨大的差异,请参见下一节:调整客户机的网络性能。
这时主机上同时运行着两台虚拟机,他们的网络结构正如图 5 所示。在主机上的网络设备列表如清单 12 。
清单 12. 主机的网络设备列表 2
l inux-gwsa:~ # ifconfig -s Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg br0 1500 0 703127 0 0 0 346383 0 0 0 BMRU eth0 1500 012819806 0 0 0 7691669 0 0 0 BMPRU eth1 1500 0 5532987 0 0 0 5500852 0 0 0 BMRU lo 16436 0 187413 0 0 0 187413 0 0 0 LRU tap0 1500 0 2288413 0 0 0 1235382 0 0 11 BMRU tap1 1500 0 56615 0 0 0 125450 0 0 0 BMRU linux-gwsa:~ # brctl show bridge name bridge id STP enabled interfaces br0 8000.001a644887b6 no eth0 tap0 tap1
后面的 tapX 是不同的虚拟机的接口,这里可以看出,所有的虚拟接口和 eth0 加入到了网桥。这样客户机就能够通过桥接访问主机上的网络。