柚子快報邀請碼778899分享:運維 LVS 負(fù)載均衡集群
目錄
LVS負(fù)載均衡群集部署
1.DR模式
1.配置負(fù)載調(diào)度器
2.部署共享存儲nfs服務(wù)器
3.配置節(jié)點服務(wù)器
2.NAT模式
0.虛擬機(jī)預(yù)覽
1.部署共享存儲(NFS服務(wù)器)
2.web節(jié)點服務(wù)器
1.第一臺web節(jié)點服務(wù)器
2.第二臺web節(jié)點服務(wù)器
3.配置負(fù)載調(diào)度器 NAT
1.配置SNAT轉(zhuǎn)發(fā)規(guī)則
2.加載LVS內(nèi)核模塊
3.?安裝ipvsadm 管理工具
4.配置負(fù)載分配策略
LVS調(diào)度器用的調(diào)度方法基本分為兩類: 固定調(diào)度算法:rr,wrr,dh,sh rr:輪詢算法,將請求依次分配給不同的rs節(jié)點,即RS節(jié)點中均攤分配。適合于RS所有節(jié)點處理性能接近的情況。 wrr:加權(quán)輪訓(xùn)調(diào)度,依據(jù)不同RS的權(quán)值分配任務(wù)。權(quán)值較高的RS將優(yōu)先獲得任務(wù),并且分配到的連接數(shù)將比權(quán)值低的RS更多。相同權(quán)值的RS得到相同數(shù)目的連接數(shù)。 dh:目的地址哈希調(diào)度(destination hashing)以目的地址為關(guān)鍵字查找一個靜態(tài)hash表來獲得所需RS。 sh:源地址哈希調(diào)度(source hashing)以源地址為關(guān)鍵字查找一個靜態(tài)hash表來獲得需要的RS。
動態(tài)調(diào)度算法:wlc,lc,lblc wlc:加權(quán)最小連接數(shù)調(diào)度,假設(shè)各臺RS的權(quán)值依次為Wi,當(dāng)前tcp連接數(shù)依次為Ti,依次去Ti/Wi為最小的RS作為下一個分配的RS。 lc:最小連接數(shù)調(diào)度(least-connection),IPVS表存儲了所有活動的連接。LB會比較將連接請求發(fā)送到當(dāng)前連接最少的RS。 lblc:基于地址的最小連接數(shù)調(diào)度(locality-based least-connection):將來自同一個目的地址的請求分配給同一臺RS,此時這臺服務(wù)器是尚未滿負(fù)荷的。否則就將這個請求分配給連接數(shù)最小的RS,并以它作為下一次分配的首先考慮。
LVS負(fù)載均衡群集部署
1.DR模式
原理:首先負(fù)載均衡器接收到客戶的請求數(shù)據(jù)包時,根據(jù)調(diào)度算法決定將請求發(fā)送給哪個后端的真實服務(wù)器(RS)。然后負(fù)載均衡器就把客戶端發(fā)送的請求數(shù)據(jù)包的目標(biāo)MAC地址改成后端真實服務(wù)器的MAC地址(R-MAC)。真實服務(wù)器響應(yīng)完請求后,查看默認(rèn)路由,把響應(yīng)后的數(shù)據(jù)包直接發(fā)送給客戶端,不需要經(jīng)過負(fù)載均衡器。
優(yōu)點:負(fù)載均衡器只負(fù)責(zé)將請求包分發(fā)給后端節(jié)點服務(wù)器,而RS將應(yīng)答包直接發(fā)給用戶。所以,減少了負(fù)載均衡器的大量數(shù)據(jù)流動,負(fù)載均衡器不再是系統(tǒng)的瓶頸,也能處理很巨大的請求量。
缺點:需要負(fù)載均衡器與真實服務(wù)器RS都有一塊網(wǎng)卡連接到同一物理網(wǎng)段上,必須在同一個局域網(wǎng)環(huán)境。
1.配置負(fù)載調(diào)度器
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.64.100
NETMASK=255.255.255.255
# 配置虛擬 IP 地址
ifup ens33:0
ifconfig ens33:0
vim /etc/sysctl.conf
# 編輯內(nèi)核參數(shù)
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
# 刷新參數(shù)
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C
ipvsadm -A -t 192.168.64.100:80 -s rr
ipvsadm -a -t 192.168.64.100:80 -r 192.168.64.40:80 -g
ipvsadm -a -t 192.168.64.100:80 -r 192.168.64.50:80 -g
ipvsadm
ipvsadm -ln
# 查看節(jié)點狀態(tài)
2.部署共享存儲nfs服務(wù)器
yum -y install nfs-utils rpcbind
mkdir /opt/pc /opt/mo
chmod 777 /opt/pc /opt/mo
vim /etc/exports
/usr/share *(ro,sync)
/opt/pc 192.168.80.0/24(rw,sync)
/opt/mo 192.168.80.0/24(rw,sync)
# 配置nfs共享文件
systemctl start rpcbind.service
systemctl start nfs.service
3.配置節(jié)點服務(wù)器
給2個節(jié)點服務(wù)器配置虛擬網(wǎng)卡(兩個節(jié)點進(jìn)行以下操作)
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.64.100
NETMASK=255.255.255.255
systemctl restart network
ifconfig lo:0
route add -host 192.168.64.100 dev lo:0
vim /etc/rc.local
/sbin/route add -host 192.168.64.100 dev lo:0
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd
第一個節(jié)點服務(wù)器
mkdir /var/www/html -p
mount.nfs 192.168.64.20:/opt/pc /var/www/html
echo 'this is pc web!' > /var/www/html/index.html
第二個節(jié)點服務(wù)器?
mkdir /var/www/html -p
mount.nfs 192.168.64.20:/opt/mo /var/www/html
echo 'this is mo web!' > /var/www/html/index.html
2.NAT模式
原理:首先負(fù)載均衡器接收到客戶的請求數(shù)據(jù)包時,根據(jù)調(diào)度算法決定將請求發(fā)送給哪個后端的真實服務(wù)器(RS)。然后負(fù)載均衡器就把客戶端發(fā)送的請求數(shù)據(jù)包的目標(biāo)IP地址及端口改成后端真實服務(wù)器的IP地址(RIP)。真實服務(wù)器響應(yīng)完請求后,查看默認(rèn)路由,把響應(yīng)后的數(shù)據(jù)包發(fā)送給負(fù)載均衡器,負(fù)載均衡器在接收到響應(yīng)包后,把包的源地址改成虛擬地址(VIP)然后發(fā)送回給客戶端。
優(yōu)點:集群中的服務(wù)器可以使用任何支持TCP/IP的操作系統(tǒng),只要負(fù)載均衡器有一個合法的IP地址。
缺點:擴(kuò)展性有限,當(dāng)服務(wù)器節(jié)點增長過多時,由于所有的請求和應(yīng)答都需要經(jīng)過負(fù)載均衡器,因此負(fù)載均衡器將成為整個系統(tǒng)的瓶頸。 ?
0.虛擬機(jī)預(yù)覽
1.部署共享存儲(NFS服務(wù)器)
yum install nfs-utils rpcbind -y
# 安裝nfs
systemctl start rpcbind.service
systemctl start nfs.service
# 啟動
systemctl enable nfs.service
systemctl enable rpcbind.service
# 設(shè)為開機(jī)自啟
mkdir /opt/pc /opt/ben
chmod 777 /opt/pc /opt/ben
# 創(chuàng)建目錄并給予權(quán)限
echo 'this is pc web!' > /opt/pc/index.html
echo 'this is ben web!' > /opt/ben/index.html
# 設(shè)置網(wǎng)頁內(nèi)容
vim /etc/exports
# 輸入以下內(nèi)容
/usr/share *(ro,sync)
/opt/pc 192.168.64.0/24(rw,sync)
/opt/ben 192.168.64.0/24(rw,sync)
exportfs -rv
# 發(fā)布共享
2.web節(jié)點服務(wù)器
yum install httpd -y
# 安裝httpd
systemctl start httpd.service
systemctl enable httpd.service
# 啟動并設(shè)為開機(jī)自啟
yum install nfs-utils rpcbind -y
# 安裝nfs
showmount -e 192.168.64.50
# 查詢NFS服務(wù)器上已經(jīng)導(dǎo)出的所有文件系統(tǒng)
systemctl start rpcbind
systemctl enable rpcbind
# 啟動并開機(jī)自啟
1.第一臺web節(jié)點服務(wù)器
mount.nfs 192.168.64.50:/opt/pc /var/www/html
# 將nfs服務(wù)器的pc目錄掛載到/var/www/html
vim /etc/fstab
# 修改配置文件以永久掛載
192.168.64.50:/opt/pc /var/www/html nfs defaults,_netdev 0 0
# nfs服務(wù)器共享目錄 掛載到本地的位置 文件系統(tǒng)類型 掛載選項 轉(zhuǎn)儲頻率 自檢次序
2.第二臺web節(jié)點服務(wù)器
mount.nfs 192.168.64.50:/opt/ben /var/www/html
# 將nfs服務(wù)器的ben目錄掛載到/var/www/html
vim /etc/fstab
# 修改配置文件以永久掛載
192.168.64.50:/opt/ben /var/www/html nfs defaults,_netdev 0 0
# nfs服務(wù)器共享目錄 掛載到本地的位置 文件系統(tǒng)類型 掛載選項 轉(zhuǎn)儲頻率 自檢次序
3.配置負(fù)載調(diào)度器 NAT
1.配置SNAT轉(zhuǎn)發(fā)規(guī)則
vim /etc/sysctl.conf
# 修改配置文件
net.ipv4.ip_forward = 1
sysctl -p
# 讀取變量
iptables -t nat -F
# 清空nat表
iptables -F
# 刪除默認(rèn)鏈
iptables -t nat -A POSTROUTING -s 192.168.64.0/24 -o ens36 -j SNAT --to-source 12.0.0.1
# 設(shè)置snat鏈
2.加載LVS內(nèi)核模塊
modprobe ip_vs
# 加載 ip_vs模塊
cat /proc/net/ip_vs
# 查看 ip_vs版本信息
3.?安裝ipvsadm 管理工具
yum -y install ipvsadm
# 安裝ipvsadm 管理工具
ipvsadm-save > /etc/sysconfig/ipvsadm
# 啟動服務(wù)前須保存負(fù)載分配策略
systemctl start ipvsadm.service
4.配置負(fù)載分配策略
ipvsadm -C
# 清除原有策略
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.64.30:80 -m -w 1
ipvsadm -a -t 12.0.0.1:80 -r 192.168.64.40:80 -m -w 1
ipvsadm
# 啟用策略
ipvsadm -ln
# 查看節(jié)點狀態(tài),Masq代表 NAT模式
ipvsadm-save > /opt/ipvsadm
# 保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm
柚子快報邀請碼778899分享:運維 LVS 負(fù)載均衡集群
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。