一.使用virt-manager创建和管理虚拟机
1.使用VNC Viewer连接进入虚拟化平台主机


2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面
#virt-manager

3.通过virt-manager安装CentOS 6.6的虚拟机
点击如图所示图标新建虚拟机:

选择PXE引导,我的网络内存在一个系统自动化部署服务器:

选择操作系统类型和版本:

设置内存和CPU个数:

设置硬盘大小,这里采用动态扩展磁盘空间方式:

忽略这个错误,由于是虚拟磁盘,不用担心空间,只需要保证系统空间不会超过物理磁盘实际空间:

勾选选项是可以查看配置在安装前:

我们可以在这个界面进行设置,我这里就不设置了,直接点击Begin Installation:

我们选择安装个基本的系统:

进入安装了:

可以观察安装时Virt-manager界面的情况:
可以知晓虚拟机正在运行,可以查看CPU的使用情况:

安装完成后如图;

关闭虚拟机,在虚拟机输入关机指令即可将虚拟机关闭;
基于virt-manager创建管理虚拟机就完成了,很简单的。
下面的实验我们还是使用cirros轻量级的linux系统。
二.KVM虚拟化平台的网络模型
1.网络模型介绍
一般虚拟机虚拟网络的设置主要包括三种方式。主要如下:
NAT模式
也有人称此种模式为host模式。在这种模式下虚拟机可以理解成没有自己的独立网卡。所有访问虚拟机的请求其实是直接发送给宿主机,然后通过访问宿主机转发到虚拟机上的。相应的虚拟机访问其他网络,也是先转发到宿主机然后在转发出去。对于宿主机之外的网络,是不知道该虚拟机存在的。
Bridge模式
桥接模式是使用比较多的模式,它是虚拟机拥有自己的独立网卡和IP,然后通过借用宿主机的网卡对外连接网络。它把宿主机的网卡当作了一种桥,通过这个桥连接外网的世界。在这种模式下,可以简单的理解成虚拟机和宿主机是两个不同的机器,有独立IP可以相互访问。对于虚拟机的IP获取,一般可以直接指定也可以通过DHCP获取得到。
Internal模式(host-only)
这个是把虚拟机之间的网络和主机的网络隔离开来。虚拟机是一片网络,主机也是一片网络,彼此之间不能相互访问。
桥接模型我们前面使用的很多例子,我这里就不做介绍了,我重点介绍一下host-only模型和NAT模型。
2.host-only模式实例
1).我们创建一个host-only的桥设备,将虚拟机之间的网络和KVM虚拟化平台宿主机隔离开来;
# brctl addbr isolationbr
查看桥设备:
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293e6326 yes eth0 isolationbr 8000.000000000000 no virbr0 8000.525400305441 yes virbr0-nic
但是这个桥设备是未激活的,我们需要使用ip命令激活桥设备:
# ip link set isolationbr up
激活后查看我们的桥设备:
# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000 link/ether 00:0c:29:3e:63:26 brd ff:ff:ff:ff:ff:ff 3: br0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 00:0c:29:3e:63:26 brd ff:ff:ff:ff:ff:ff 4: virbr0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 52:54:00:30:54:41 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: <BROADCAST,MULTICAST>mtu 1500 qdisc noop state DOWN qlen 500 link/ether 52:54:00:30:54:41 brd ff:ff:ff:ff:ff:ff 16: isolationbr:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 6e:5e:8d:39:56:b5 brd ff:ff:ff:ff:ff:ff 17: vnet1:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWNqlen 500 link/ether 3a:ce:49:1d:f4:a3 brd ff:ff:ff:ff:ff:ff 18: vnet2:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWNqlen 500 link/ether 62:fc:96:5c:1f:7d brd ff:ff:ff:ff:ff:ff
2).启动两个虚拟机:
第一台cirros虚拟机:
# qemu-kvm -m 128 -name cirros1 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk.img,media=disk,format=qcow2,if=ide -net nic -net tap,ifname=vnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -daemonize

启动后从vncviewer登录如图:

第二台cirros虚拟机,启动时需要指定mac地址;
# qemu-kvm -m 128 -name cirros2 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk2.img,media=disk,format=qcow2,if=ide -net nic,macaddr=52:54:00:65:43:21 -net tap,ifname=vnet2,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -daemonize

启动后从vncviewer登录如图:

查看两台虚拟机的ip地址:


使用ping测试两台虚拟机的连通性:

现在是连通的哦!
我们启动两台虚拟机后我们的vnet1和vnet2网卡是桥接在br0上的;
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c293e6326 yes eth0
vnet1
vnet2
isolationbr 8000.000000000000 no
virbr0 8000.525400305441 yes virbr0-nic
3).我们现在将vnet1和vnet2桥接到isolationbr上:
先将vnet1和vnet2从桥接设备br0上移除:
# brctl delif br0 v

