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服務 頁面內容):抱歉~網頁無法打開,請稍後訪問!!!