Cluster基礎(二):ipvsadm命令用法、部署LVS-NAT集羣、部署LVS-DR集羣

1、ipvsadm命令用法html

目標:web

準備一臺Linux服務器,安裝ipvsadm軟件包,練習使用ipvsadm命令,實現以下功能:算法

  •     使用命令添加基於TCP一些的集羣服務
  •     在集羣中添加若干臺後端真實服務器
  •     實現同一客戶端訪問,調度器分配固定服務器
  •     會使用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服務:

  •     集羣對外公網IP地址爲202.114.106.20
  •     調度器內網IP地址爲192.168.0.254
  •     真實Web服務器地址分別爲192.168.0.一、192.168.0.二、192.168.0.3
  •     使用加權輪詢調度算法,真實服務器權重與其IP地址末尾數一致

方案:

使用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服務:

  •     路由器對外公網IP地址爲202.114.106.20
  •     路由器內網IP地址爲192.168.0.254
  •     路由是須要設置SNAT及DNAT功能
  •     LVS調度器真實IP地址爲192.168.0.10
  •     LVS調度器VIP地址設置爲192.168.0.253
  •     真實Web服務器地址分別爲192.168.0.一、192.168.0.2
  •     使用加權輪詢調度算法,真實服務器權重與其IP地址末尾數一致

方案:

使用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,查看訪問的頁面是否會輪詢到不一樣的後端真實服務器。

相關文章
相關標籤/搜索