LVS-NAT負載均衡群集
阿新 • • 發佈:2018-08-23
nas type 關閉防火墻 添加 0.12 失效 util exp conf 群集的類型
- 負載均衡群集:以提高應用系統的相應能力、盡可能處理更多的訪問請求、減少延遲為目標,獲得高並發、高負載的整體性能。
- 高可用群集:以提高應用系統的可靠性。盡可能的減少中斷時間為目標,確保服務的連續性,達到高可用的容錯效果。
- 高性能運算群集:以提高應用系統的CPU運算速度、擴展硬件資源和分析能力為目標,獲得相當於大型、超級計算機的高性能運算能力。
負載均衡的分層結構
- 第一層,負載調度器:這是訪問整個群集系統的唯一入口,對外使用所有服務器共有的VIP(虛擬IP)地址,也稱為群集IP地址。通常會配置主、備兩臺調度器實現熱備份,當朱調度器失效以後平滑替換至備用調度器,確保高可用性。
- 第二層,服務器池:群集所提供的應用服務(如HTTP/FTP)由服務器池承擔,其中的每個節點具有獨立的RIP(Real IP,真實IP)地址,只處理調度器分發過來的客戶機請求。當某個節點暫時失效時,負載調度器的容錯機制會將其隔離,等待錯誤排除以後再重新納入服務器池。
- 第三層,共享存儲:為服務器池中的所有節點提供穩定、一致的文件存取服務,確保整個群集的統一性。在Linux/UNIX環境中,共享存儲可以使用NAS設備或者提供NFS(網絡文件系統)共享服務的專用服務器。
負載均衡的三種工作模式
- 地址轉換:簡稱NAT模式,類似於防火墻的私有網絡結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是個節點回應客戶機的訪問出口。服務器節點使用私有IP地址與負載調度器位於同一個物理網絡,安全性要優於其他兩種方式。
- IP隧道:簡稱TUN模式,采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的Internet連接直接會用客戶機,而不再經過負載調度器。服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
- 直接路由:簡稱DR模式,采用半開放式的網絡結構,與TUN模式的機構類似,但各節點並不是分散在各地,而是與調度器位於同一個物理網絡。負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道。
實驗環境
- centos7系統
- 調度服務器(網關):內網192.168.100.1 外網12.0.0.1
- web服務器節點1:192.168.100.101
- web服務器節點2:192.168.100.102
- NFS共享存儲服務器:192.168.100.103
- win客戶機(測試):12.0.0.12
環境部署
一、NFS服務器
1.查詢有沒有安裝軟件包,默認是安裝的.
rpm -q nfs-utils rpcbind
如果沒有安裝用yum安裝即可
yum install -y nfs-utils rpcbind
2.啟動服務
systemctl start rpcbind.service
systemctl restart nfs.service
3.創建共享目錄並修改用戶權限
mkdir -p /data/web1 /data/web2
chmod 777 /data/web1 /data/web2
4.編輯配置文件
vim /etc/exports
/data/web1 192.168.100.0/24(rw,sync) #192.168.100.0/24網段可以讀寫、自動同步
/data/web2 192.168.100.0/24(rw,sync) #192.168.100.0/24網段可以讀寫、自動同步
5.發布共享
exportfs -rv
6.關閉防火墻
setenforce 0
systemctl stop firewalld.service
web1服務器
1.安裝apache
yum install -y httpd
2.客戶端查看共享儲存,並掛載到/var/www/html/
showmount -e 192.168.100.103
mount.nfs 192.168.100.103:/data/web1 /var/www/html
3.創建默認首頁文件
echo "<h1>this is web1 server</h1>" > /var/www/html/index.html
4.啟動服務
systemctl enable httpd.service
systemctl start httpd.service
5.關閉防火墻
systemctl stop firewalld.service
setenforce 0
web2服務器
1.安裝apache
yum install -y httpd
2.客戶端查看共享儲存,並掛載到/var/www/html/
showmount -e 192.168.100.103
mount.nfs 192.168.100.103:/data/web2 /var/www/html
3.創建默認首頁文件
echo "<h1>this is web2 server</h1>" > /var/www/html/index.html
4.啟動服務
systemctl enable httpd.service
systemctl start httpd.service
5.關閉防火墻
systemctl stop firewalld.service
setenforce 0
負載調度器(網關)
1.開啟路由轉發功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
2.使轉發功能生效
sysctl -p
3.清空防火墻及設置snat地址轉換
iptables -t nat -F
iptable -F
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-source 12.0.0.1
4.加載LVS內核模塊,並查看ip_vs模塊版本
modprobe ip_vs
cat /proc/net/ip_vs
5.安裝管理軟件
rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm
6.啟動服務,服務的啟動和以往的版本有所不同,在服務啟動前需將管理規則進行保存,然後再啟動服務,否則會報錯
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
- 創建虛擬服務器
ipvsadm -C #清除緩存
ipvsadm -A -t 12.0.0.1:80 -s rr #添加虛擬服務器采用rr(輪詢)的負載均衡算法
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.101:80 -m #添加真實服務器節點,為web1服務器
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.102:80 -m #添加真實服務器節點,為web2服務器
ipvsadm #啟用
8.關閉selinux防火墻,由於是在防火墻內添加規則,所以防火墻不需要關閉。
setenforce 0
win7客戶機測試
客戶機對調度服務器進行訪問,已實現了輪詢訪問
LVS-NAT負載均衡群集