構建LVS-NAT負載均衡群集
阿新 • • 發佈:2018-06-21
構建 其他 客戶機 網關服務器 iptable 防火墻 LV tar 瀏覽器 在典型的負載均衡群集中,包括三個層次的組件:
第一層,負載調度器:這是訪問整個群集系統的唯一入口,對外使用所有服務器共有的VIP(Virtual\p,虛擬IP)地址,也稱為群集1P地址.通常會配置主,備兩臺調度器實現熱備份,當主調度器失效以後平滑替換至備用調度器,確保高可用性。
第二層,服務器池:群集所提供的應用服務(如HTTP、FTp)由服務器池承擔,其中的每個節點具有獨立的RIP(Real\P,真實\p)地址,只處理調度器分發過來的客戶機請求。當某個節點暫時失效時,負載調度器的容錯機制會將其隔離,等待錯誤排除以後再重新納入服務器池。
第三層,共享存儲;為服務器池中的所有節點提供穩定,一致的文件存取服務,確保整個群集的統二性,在Linux/UNIX環境中,共享存儲可以使用NAS設備,或者提供NFS(NetworkFileSystem,網絡文件系統)共享服務的專用服務器。
第一層,負載調度器:這是訪問整個群集系統的唯一入口,對外使用所有服務器共有的VIP(Virtual\p,虛擬IP)地址,也稱為群集1P地址.通常會配置主,備兩臺調度器實現熱備份,當主調度器失效以後平滑替換至備用調度器,確保高可用性。
第二層,服務器池:群集所提供的應用服務(如HTTP、FTp)由服務器池承擔,其中的每個節點具有獨立的RIP(Real\P,真實\p)地址,只處理調度器分發過來的客戶機請求。當某個節點暫時失效時,負載調度器的容錯機制會將其隔離,等待錯誤排除以後再重新納入服務器池。
第三層,共享存儲;為服務器池中的所有節點提供穩定,一致的文件存取服務,確保整個群集的統二性,在Linux/UNIX環境中,共享存儲可以使用NAS設備,或者提供NFS(NetworkFileSystem,網絡文件系統)共享服務的專用服務器。
- 地址轉換(Netwo出AddressTranslat舊n):簡稱NAT模式,類似於防火墻的私有網絡結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是各節點回應客戶機的訪問出口。服務器節點使用私有IP地址,與負載調度器位於同一個物理網絡,安全性要優於其他兩種方式。
- IP隧道(IPTunnel):簡稱TUN模式,采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器。服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
- 直接路由(DirectRout舊g);簡稱DR模式,采用半開放式的網絡結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與調度器位於同一個物理網絡。負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道。
在NAT模式的群集中,LVS負載調度器是所有節點訪問Internet的網關服務器,LVS調度器具有兩塊網卡,分別連接內外網。
- 實驗需求
- 服務器系統為CentOS 7
服務器 | IP | 需要安裝配置 |
---|---|---|
LSV負載調度器 | 內:192.168.200.1 外:12.0.0.1 | 雙網卡 、ipvsadm |
節點服務器1 | 192.168.200.101 | NFS 、 httpd |
節點服務器2 | 192.168.200.102 | NFS 、 httpd |
共享儲存服務器 | 192.168.200.104 | NFS共享 |
外網windows7 | 12.0.0.12 | 用於測試 |
-
配置NFS共享服務器
# systemctl stop firewalld.service //關防火墻 # setenforce 0 # yum install nfs-utils rpcbind -y //安裝NFS服務 # systemctl start rpcbind.service # systemctl start nfs.service # cd /opt | mkdir benet accp //創建共享目錄 (在實際工作中 還是要共享掛載磁盤陣列raid的目錄) # vi /etc/exports /usr/share *(ro,sync) /opt/benet 192.168.200.0/24(rw,sync) /opt/accp 192.168.200.0/24(rw,sync) # exportfs -rv //發布共享
-
配置節點服務器1
# yum install nfs-utils rpcbind -y //安裝NFS服務 # systemctl start rpcbind.service # systemctl start nfs.service # systemctl stop firewalld.service //關防火墻 # setenforce 0 # systemctl start httpd.service //開啟httpd # showmount -e 192.168.200.104 # mount.nfs 192.168.200.104:/opt/benet /var/www/html # echo "this 7.1" > /var/www/html/index.html //添加測試頁面
-
配置節點服務器2
# yum install nfs-utils rpcbind -y //安裝NFS服務 # systemctl start rpcbind.service # systemctl start nfs.service # systemctl stop firewalld.service //關防火墻 # setenforce 0 # systemctl start httpd.service //開啟httpd # showmount -e 192.168.200.104 # mount.nfs 192.168.200.104:/opt/accp /var/www/html # echo "this 7.2" > /var/www/html/index.html //添加測試頁面
-
配置LVS負載調度器
配置雙網卡:內網為192.168.200.1 外網12.0.0.1 # vim /etc/sysctl.conf net.ipv4.ip_forward=1 //添加路由轉發 # sysctl -p //立即生效 # iptables -t nat -F //清空規則 # iptables -F # iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1 //設置DNAT策略 # yum install ipvsadm -y //安裝ipvsadm # ipvsadm --save > /etc/sysconfig/ipvsadm //保存 # systemctl start ipvsadm.service //開啟ipvsadm 配置調度腳本 # cd /opt # vim nat.sh #!/bin/bash ipvsadm -C (//清除內核虛擬服務器表中的所有記錄//) ipvsadm -A -t 12.0.0.1:80 -s rr ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.101:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.102:80 -m ipvsadm (//啟用//) # source nat.sh //啟用腳本
-
外網測試
配置外面IP 12.0.0.12/24 在瀏覽器輸入 12.0.0.1 刷新多次(可以看到2個節點服務器的測試頁面為成功)
構建LVS-NAT負載均衡群集