宿主機: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