LVS-DR集群
原理:
1. 當(dāng)用戶向負(fù)載均衡調(diào)度器(Director Server)發(fā)起請(qǐng)求,調(diào)度器將請(qǐng)求發(fā)往至內(nèi)核空間
2. PREROUTING鏈?zhǔn)紫葧?huì)接收到用戶請(qǐng)求,判斷目標(biāo)IP確定是本機(jī)IP,將數(shù)據(jù)包發(fā)往INPUT鏈
3. IPVS是工作在INPUT鏈上的,當(dāng)用戶請(qǐng)求到達(dá)INPUT時(shí),IPVS會(huì)將用戶請(qǐng)求和自己已定義好的集群
服務(wù)進(jìn)行比對(duì),如果用戶請(qǐng)求的就是定義的集群服務(wù),那么此時(shí)IPVS會(huì)強(qiáng)行修改數(shù)據(jù)包里的目標(biāo)IP
地址及端口,并將新的數(shù)據(jù)包發(fā)往POSTROUTING鏈
4. POSTROUTING鏈接收數(shù)據(jù)包后發(fā)現(xiàn)目標(biāo)IP地址剛好是自己的后端服務(wù)器,那么此時(shí)通過(guò)選路,將
數(shù)據(jù)包最終發(fā)送給后端的服務(wù)器
組成:
LVS架設(shè)的服務(wù)器集群系統(tǒng)有三個(gè)部分組成:最前端的負(fù)載均衡層,用Load Balancer表示,中間的服務(wù)器群組層,用Server Array表示,最底端的數(shù)據(jù)共享存儲(chǔ)層,用Shared Storage表示。
搭建
192.168.190.200 作為調(diào)度器director
192.168.190.201 為web服務(wù)器1
192.168.190.202 為web服務(wù)器2
1、安裝ipvsadm工具
yum install ipvsadm -y
?2、配置虛擬ip
ifconfig ens33:200 192.168.190.150 netmask 255.255.255.0 up
3、手動(dòng)添加兩臺(tái)RS
ipvsadm -C
ipvsadm --set 30 5 60
ipvsadm -A -t 192.168.190.200:80 -s rr -p 20
ipvsadm -a -t 192.168.190.200:80 -r 192.168.190.201:80 -g
ipvsadm -a -t 192.168.190.200:80 -r 192.168.190.202:80 -g
ipvsadm-save > /etc/sysconfig/ipvsadm
查看配置信息
[root@node1 ~]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http wrr persistent 20
-> 192.168.190.201:http Route 1 0 0
-> 192.168.190.202:http Route 1 0 0
?4、給兩臺(tái)RS修改配置文件
RS1上執(zhí)行
ifconfig lo:200 192.168.190.200 netmask 255.255.255.255 up
route add -host 192.168.190.200 dev lo
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
RS2上執(zhí)行
ifconfig lo:200 192.168.190.200 netmask 255.255.255.255 up
route add -host 192.168.190.200 dev lo
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
NGINX負(fù)載均衡
1、準(zhǔn)備1臺(tái)服務(wù)主機(jī),兩臺(tái)web服務(wù)器
?服務(wù)主機(jī)
192.168.121.135
web服務(wù)器
192.168.121.140
192.168.121.150
在服務(wù)主機(jī)上修改配置文件
vim /etc/nginx/nginx.conf
upstream pool1 {
# 負(fù)載均衡池,里面記錄的是要轉(zhuǎn)發(fā)到的服務(wù)器
server 192.168.121.140:80 weight=1; # 主機(jī)及權(quán)重值
server 192.168.121.150:80 weight=1;
}
server {
listen 80; # 監(jiān)聽端口
server_name www.web.com;
location / {
proxy_pass http://pool1; # 當(dāng)訪問(wèn)到www.web.com 時(shí)將會(huì)轉(zhuǎn)發(fā)到 負(fù)載均衡池
}
}
?在兩臺(tái)web服務(wù)器上,添加一下內(nèi)容:
在192.168.121.140上
vim /etc/nginx/nginx.conf
在http 區(qū)塊里面新增以下內(nèi)容:
server {
listen 80;
server_name 192.168.121.140;
location / {
root /usr/share/nginx/html1; # 訪問(wèn)的目錄
index index.html; # 需要尋找的類型
}
然后創(chuàng)建目錄寫入數(shù)據(jù)
mkdir /usr/share/nginx/html1
echo web1 > /usr/share/nginx/html1/index.html
在192.168.121.150上
vim /etc/nginx/nginx.conf
在http 區(qū)塊里面新增以下內(nèi)容:
server {
listen 80;
server_name 192.168.121.150;
location / {
root /usr/share/nginx/html1; # 訪問(wèn)的目錄
index index.html; # 需要尋找的類型
}
然后創(chuàng)建目錄寫入數(shù)據(jù)
mkdir /usr/share/nginx/html1
echo web2 > /usr/share/nginx/html1/index.html
在服務(wù)主機(jī)上添加域名解析文件文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-646206.html
echo "192.1668.121.135 www.web.com" >> /etc/hosts
測(cè)試:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-646206.html
[root@node1 ~]# for((i=0;i<6;i++)); do curl www.web.com; done
web1
web2
web1
web2
web1
web2
到了這里,關(guān)于LVS-DR集群及NGINX負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!