1、ipvsadm命令用法html
目標:web
準備一臺Linux服務器,安裝ipvsadm軟件包,練習使用ipvsadm命令,實現以下功能:算法
方案:vim
安裝ipvsadm軟件包,關於ipvsadm的用法能夠參考man ipvsadm資料。經常使用ipvsadm命令語法格式以下表所示。後端
步驟:服務器
步驟一:使用命令增、刪、改LVS集羣規則網絡
1)建立LVS虛擬集羣服務器curl
[root@svr5 ~]# ipvsadm -A -t 192.168.0.254 -s wrr -p 30tcp
2)爲集羣添加若干real server測試
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m -w 1
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.2 -m -w 2
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.3 -m -w 3
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.4 -m -w 4
3)修改集羣服務器設置
[root@svr5 ~]# ipvsadm -E -t 192.168.0.254 -s sh -p 30
4)修改read server
[root@svr5 ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m
5)查看LVS狀態
[root@svr5 ~]# ipvsadm –Ln
6)保存全部規則
[root@svr5 ~]# service ipvsadm save
7)清空全部規則
[root@svr5 ~]# ipvsadm –C
2、部署LVS-NAT集羣
目標:
使用LVS實現NAT模式的集羣調度服務器,爲用戶提供Web服務:
方案:
使用4臺虛擬機,1臺做爲Director調度器、3臺做爲Real Server、物理機做爲客戶端,拓撲結構以下圖所示。
步驟:
步驟一:配置網絡環境
1)設置Web服務器網絡參數
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web1 ~]# systemctl restart NetworkManager
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web2 ~]# systemctl restart NetworkManager
[root@web3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web3 ~]# systemctl restart NetworkManager
2)自定義Web頁面
[root@web1 ~]# echo 「192.168.0.1」 > /var/www/html/index.html
[root@web2 ~]# echo 「192.168.0.2」 > /var/www/html/index.html
[root@web3 ~]# echo 「192.168.0.3」 > /var/www/html/index.html
3)啓動Web服務器軟件
[root@web1 ~]# service httpd start
[root@web2 ~]# service httpd start
[root@web3 ~]# service httpd start
4)設置LVS調度器網絡參數
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=202.114.106.20
DNS1=202.106.0.20
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
DNS1=202.106.0.20
[root@lvs ~]# systemctl restart NetworkManager
[root@lvs ~]# sed -i '/ip_forward/s/0/1/' sysctl.conf //開啓路由轉發
[root@lvs ~]# sysctl -p
步驟二:調度器安裝軟件並啓動服務
1)安裝軟件
[root@lvs Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm
2)啓動服務
[root@lvs Packages]# service ipvsadm start
[root@lvs Packages]# chkconfig ipvsadm on
步驟三:部署LVS-NAT模式調度器
1)建立集羣服務器
[root@lvs ~]# ipvsadm -A -t 202.114.106.20:80 -s wrr
2)添加真實服務器
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.1 -w 1
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.2 -w 2
[root@lvs ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.3 -w 3
3)查看規則列表,並保存規則
[root@lvs ~]# ipvsadm –Ln
[root@lvs ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm
步驟四:客戶端測試
客戶端使用curl命令反覆鏈接http://202.114.106.20,查看訪問的頁面是否會輪詢到不一樣的後端真實服務器。
3、部署LVS-DR集羣
目標:
使用LVS實現DR模式的集羣調度服務器,爲用戶提供Web服務:
方案:
使用4臺虛擬機,1臺做爲Linux路由器、1臺做爲Director調度器、2臺做爲Real Server、物理機做爲客戶端,拓撲結構以下圖所示。
步驟:
步驟一:配置網絡環境
1)設置Web服務器網絡參數
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.255
[root@web1 ~]# vim /etc/sysctl.conf
.. ..
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
[root@web1 ~]# sysctl -p
[root@web1 ~]# systemctl restart NetworkManager
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.255
[root@web2 ~]# vim /etc/sysctl.conf
.. ..
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
[root@web2 ~]# sysctl -p
[root@web2 ~]# systemctl restart NetworkManager
2)自定義Web頁面
[root@web1 ~]# echo 「192.168.0.1」 > /var/www/html/index.html
[root@web2 ~]# echo 「192.168.0.2」 > /var/www/html/index.html
3)啓動Web服務器軟件
[root@web1 ~]# systemctl start httpd; systemctl enable httpd
[root@web2 ~]# systemctl start httpd; systemctl enable httpd
4)設置LVS調度器網絡參數
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.253
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=202.106.0.20
[root@lvs ~]# systemctl restart NetworkManager
5)設置Linux路由器網絡參數
[root@router ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=202.114.106.20
DNS1=202.106.0.20
[root@router ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
DNS1=202.106.0.20
[root@router ~]# systemctl restart NetworkManager
6)設置Linux路由器的SNAT、DNAT功能
[root@router ~]# sed -i '/ip_forward/s/0/1/' sysctl.conf //開啓路由轉發
[root@router ~]# sysctl -p
[root@router ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p tcp –j SNAT --to-source 202.114.106.20
[root@router ~]# iptables -t nat -A PREROUTING -d 202.114.106.20 -p tcp --dport 80 –j DNAT --to-destination 192.168.0.253:80
[root@router ~]# service iptables save
步驟二:調度器安裝軟件並啓動服務
1)安裝軟件
[root@lvs Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm
2)啓動服務
[root@lvs Packages]# systemctl start ipvsadm
[root@lvs Packages]# systemctl enable ipvsadm
步驟三:部署LVS-DR模式調度器
1)建立集羣服務器
[root@lvs ~]# ipvsadm -A -t 192.168.0.253:80 -s wrr
2)添加真實服務器
[root@lvs ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.1 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.2 -g -w 2
3)查看規則列表,並保存規則
[root@lvs ~]# ipvsadm –Ln
[root@lvs ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm
步驟四:客戶端測試
客戶端使用curl命令反覆鏈接http://202.114.106.20,查看訪問的頁面是否會輪詢到不一樣的後端真實服務器。