企業級負載均衡集羣--LVS--DR模式下的健康檢測

LVS健康檢測

對於一臺後端服務器來說,它不可能永遠是可以使用的,有自己的壽命或者會出現其它問題

當LVS集羣中的一臺後備服務器掛了之後,爲了不影響客戶的正常訪問,應該將它從集羣當中踢出去,讓客戶不再輪詢訪問

調度器只把客戶端的請求轉發給狀態好的那臺服務器,否則客戶端是一會可以訪問,一會不能訪問

實際的企業當中,一個集羣的服務器上面的資源一模一樣,訪問哪個客戶根本感覺不到

如果LVS集羣當中所有的後備服務器都掛了,爲了不影響客戶的正常訪問,在調度器上面也安裝一個http服務

當客戶端訪問調度器的時候,調度器直接通過自己的http服務告訴客戶服務器壞了

搭建DR模式環境

lVS主服務器(server1): 192.168.1.1/24 192.168.1.100/24
修改server1的ip地址,並且添加虛擬ip地址
server2: 192.168.1.2/24 192.168.1.100/32
修改server2的ip地址,並且添加虛擬ip地址
server3: 192.168.1.3/24 192.168.1.100/32
修改server3的ip地址,並且添加虛擬ip地址
lVS備服務器(server4): 192.168.1.4/24 192.168.1.100/24
修改server4的ip地址,並且添加虛擬ip地址
systemctl stop firewalld
關閉 firewall
setenforce 0
關閉 SELinux

server1

yum install -y ipvsadm

安裝 ipvsadm
vim /etc/sysconfig/ipvsadm-config
修改LVS服務的配置文件:no->yes
重啓服務的時候保存策略
systemctl start ipvsadm
首次開啓會報錯,無法開啓服務
cat /var/log/messages
在日誌裏面查看服務啓動錯誤的原因
touch /etc/sysconfig/ipvsadm
建立編寫策略的文件
systemctl start ipvsadm
再次開啓服務,正常
systemctl enable ipvsadm
開啓自啓

設置DR模式的訪問策略

ipvsadm -A -t 192.168.1.100:80 -s rr

添加vip

-A:添加虛擬服務器

-t :指定vip及tcp端口

-s:指定算法

rr:輪詢

ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g -w 1

ipvsadm -a -t 1192.168.1.100:80 -r 192.168.1.3:80 -g -w 1

-a :添加節點

-t :指定vip和端口

-r :指定節點ip及端口

-m:表示使用NAT模式

-w:設置權重

ipvsadm -ln

查看當前節點信息

systemctl restart ipvsadm

重啓服務

server2

yum install -y http
安裝 http
systemctl start httpd
開啓
systemctl enable httpd
開機自啓
vim /var/www/html/index.html
建立測試頁面
server2.example.com
測試頁面內容
yum install -y arptables
安裝 arptables
arptables -nL
查看策略

設置arptables的訪問策略

arptables -A INPUT -d 192.168.1.100 -j DROP
192.168.1.100來源輸入全部丟棄
arptables -A OUTPUT -s 192.168.1.100 -j mangle --mangle-ip-s 192.168.1.2
192.168.1.100輸出轉化爲192.168.1.2
cat /etc/sysconfig/arptables
查看規則
arptables-save > /etc/sysconfig/arptables
保存策略
cat /etc/sysconfig/arptables
再次查看,策略已保存
systemctl restart arptables
重啓服務

server3

yum install -y http
安裝 http
systemctl start httpd
開啓
systemctl enable httpd
開機自啓
vim /var/www/html/index.html
建立測試頁面
server3.example.com
測試頁面內容

yum install -y arptables
安裝 arptables
arptables -nL
查看策略

設置arptables的訪問策略

arptables -A INPUT -d 192.168.1.100 -j DROP
192.168.1.100來源輸入全部丟棄
arptables -A OUTPUT -s 192.168.1.100 -j mangle --mangle-ip-s 192.168.1.3
192.168.1.100輸出轉化爲192.168.1.3
cat /etc/sysconfig/arptables
查看規則
arptables-save > /etc/sysconfig/arptables
保存策略
cat /etc/sysconfig/arptables
再次查看,策略已保存
systemctl restart arptables
重啓服務

server1

安裝 ldirectord-*.rpm

該安裝包需要高可用 HighAvailability 安裝源

rhel7.X版本光盤鏡像中的 /addons/HighAvailability 下面

搭建 HighAvailability yum 源

yum ldirectord-*.rpm -y

安裝

rpm -qpl ld

查看

cp /usr/share/doc/ldirectord-*/ldirectord.cf /etc/ha.d/

複製 ldirectord 配置文件模板到 /etc/ha.d/ 下面

vim /etc/ha.d/ldirectord.cf

編輯配置文件

/etc/init.d/ldirectord start腳本方式啓動服務(企業6)

virtual=192.168.1.100:80
real=192.168.1.2:80 gate
real=192.168.1.3:80 gate
fallback=127.0.0.1 gate
service=http
scheduler=rr
protocol=tcp
checktype=negotiate
checkport=80
request="index.html"

yum install -y http
安裝 http
vim /var/www/html/index.html

抱歉~網頁無法打開,請稍後訪問!!!

systemctl start httpd
開啓
systemctl enable httpd
開機自啓
systemctl restart httpd
重啓

測試

server2

systemctl stop httpd

server3

systemcrl stop httpd

curl 192.168.1.100

訪問顯示結果(顯示server1中 http服務 頁面內容):抱歉~網頁無法打開,請稍後訪問!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章