宿主机:host1 192.168.10.116 host2 192.168.10.111 客户虚拟机:guest-host1 23.23.23.101 httpd #充当后端服务器 guest-host2 23.23.23.102 httpd #充当后端服务器 guest-host3 23.23.23.107 192.168.10.200 haproxy+keepalived #前端调度及高可用 guest-host4 23.23.23.108 192.168.10.201 haproxy+keepalived #前端调度及高可用 宿主机host1网桥:br0 23.23.23.200 #内网 br1 192.168.10.116 #外网 宿主机host2网桥:br0 23.23.23.201 #内网 br1 192.168.10.111 #外网
[root@centos7 network-scripts]#vim ifcfg-bond0 OOTPROTO=static NAME=bond0 DEVICE=bond0 ONBOOT=yes BONDING_MASTER=yes BONDING_OPTS="mode=1 miimon=100" #每间隔100毫秒心跳检测 BRIDGE=br0 #绑定的内网网桥br0上
root@centos7 network-scripts]#vim ifcfg-bond1 OOTPROTO=static NAME=bond1 DEVICE=bond1 ONBOOT=yes BONDING_MASTER=yes BONDING_OPTS="mode=1 miimon=100" #每间隔100毫秒心跳检测 BRIDGE=br1 #绑定的内网网桥br1上
[root@centos7 network-scripts]#vim ifcfg-eth0 OOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 USERCTL=no SLAVE=yes [root@centos7 network-scripts]#vim ifcfg-eth1 OOTPROTO=static NAME=eth1 DEVICE=eth1 ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 USERCTL=no SLAVE=yes
[root@centos7 network-scripts]#vim ifcfg-eth2 OOTPROTO=static NAME=eth2 DEVICE=eth2 ONBOOT=yes NM_CONTROLLED=no MASTER=bond1 USERCTL=no SLAVE=yes [root@centos7 network-scripts]#vim ifcfg-eth3 OOTPROTO=static NAME=eth3 DEVICE=eth3 ONBOOT=yes NM_CONTROLLED=no MASTER=bond1 USERCTL=no SLAVE=yes
[root@centos7 network-scripts]#vim ifcfg-br0 TYPE=Bridge #指明桥接网卡 BOOTPROTO=static NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=23.23.23.200 #桥接网卡地址 NETMASK=255.255.0.0 [root@centos7 network-scripts]#vim ifcfg-br1 TYPE=Bridge BOOTPROTO=none NAME=br1 DEVICE=br1 ONBOOT=yes IPADDR=192.168.10.116 NETMASK=255.255.255.0 GATEWAY=192.168.10.1
[root@centos7 network-scripts]#systemctl restart network [root@centos7 network-scripts]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 00:0c:29:16:56:39 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 00:0c:29:16:56:39 brd ff:ff:ff:ff:ff:ff 4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000 link/ether 00:0c:29:16:56:4d brd ff:ff:ff:ff:ff:ff 5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP group default qlen 1000 link/ether 00:0c:29:16:56:4d brd ff:ff:ff:ff:ff:ff 6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000 link/ether 00:0c:29:16:56:39 brd ff:ff:ff:ff:ff:ff inet6 fe80::20c:29ff:fe16:5639/64 scope link valid_lft forever preferred_lft forever 7: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br1 state UP group default qlen 1000 link/ether 00:0c:29:16:56:4d brd ff:ff:ff:ff:ff:ff inet6 fe80::20c:29ff:fe16:564d/64 scope link 8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:16:56:39 brd ff:ff:ff:ff:ff:ff inet 23.23.23.200/16 brd 23.23.255.255 scope global br0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe16:5639/64 scope link valid_lft forever preferred_lft forever 9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:16:56:4d brd ff:ff:ff:ff:ff:ff inet 192.168.10.116/24 brd 192.168.10.255 scope global br1 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe16:564d/64 scope link valid_lft forever preferred_lft forever
[root@centos7 network-scripts]#cat /proc/cpuinfo …… …… flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi ept vpid tsc_adjust arat …… ……
[root@centos7 ~]# yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install -y qemu-kvm qemu-kvm-tools #模拟轻量级IO设备,如鼠标、键盘等 libvirt #启动虚拟机的管理主程序 virt-manager #web界面的管理程序,创建远程链接 virt-install #一组命令,利用virt-install安装虚拟机
[root@centos7 ~]# systemctl start libvirtd [root@centos7 ~]# systemctl enable libvirtd
[root@centos7 ~]# ifconfig virbr0 flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:89:c5:75 txqueuelen 1000 …… #virbr0:当启动libvirted会生成的内置虚拟网卡,至关于一个内置路由器.
[root@centos7 ~]# qemu-img create -f raw /var/lib/libvirt/images/centos-only.raw 5G #磁盘格式为raw,存放的路径为默认路径,磁盘名称为centos-only.raw 大小为5G的磁盘
[root@centos7 ~]# virt-install --virt-type kvm --name centos7-only --memory 600 --vcpus 2 --cdrom=/data/centos-iso/CentOS-7-x86_64-Minimal-1511.iso --disk path=/var/lib/libvirt/images/centos.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 选项说明: --virt-type #指定虚拟化类型 --name # 命名虚拟机的名称 --memory #虚拟机运行内存大小 --vcpus #虚拟机cpu个数 -cdrom #指定镜像文件路径 --disk path 指定磁盘文件路径 --network network=default #指定网络类型为默认模式,默认是NAT模式 --graphics vnc,listen=0.0.0.0 开启图形化,支持远程链接VNC,以及监听全部端口 --noautoconsole 开机不自动链接控制台
方法一:使用VNC远程链接进行控制
方法二:使用命令virt-manager进入控制模拟图形窗口进行安装
[root@centos7 ~]# virt-manager
设置内核参数net.ifnames=0 biosdevname=0 来统一网卡命名eth*
安装成功重启
点击虚拟机详情
查看已安装的虚拟机即运行状态html
选择建立新的虚拟机
选择本地安装
选择镜像文件路径
配置虚拟机的运行内存和CPU数量
点击选择定制存储磁盘,也能够选择建立一个新的镜像磁盘
选择事先用命令qemu-install新建立的磁盘镜像文件centos7-bak.raw
配置好网卡,点击确认安装完成虚拟机的安装
12)还能够选择克隆一个虚拟机
鼠标右键选择clone
点击clone进行克隆安装
查看克隆后的虚拟机前端
4.分别在宿主机host1和宿主host2上配置后端虚拟机httpd服务和前端虚拟机调度服务的网络IP,以host1为例
启动虚拟机两种方式:
方式一:安装电源管理包实现命令行启动或关闭虚拟机
yum install acip -y #安装电源管理包
virsh list --all #显示全部已建立的虚拟机并显示运行的状态
virsh start cento7-only #开启指定的虚拟机
virsh shutdown cento7-only #关闭指定的虚拟机
方式二:直接使用virt-manager在图形模拟界面操做虚拟机linux
1)centos7-only虚拟机做为geust-host1后端httpd服务并配置网络IP
选择Detail查看更改此虚拟机的硬件配置
选择链接到本地内网桥接网卡br0,网卡设备模式为virtio半虚拟化模式
在配置网卡eth0绑定静态Ip
网卡配置好后重启网络,查看geust-host1的ip地址是否生效
定义后端服务httpd的页面访问 ios
[root@centos7 ~]# echo 23.23.23.101 > /var/www/html/index.html
将其中一个网卡链接到内网网桥br0
另外一个网卡链接到外网网桥br1 web
配置好haproxy和keepcalived等配置文件实现高可用调度 绑定一个虚拟VIP 192.168.10.230
第一次访问
第二次访问shell