浮動IP
為什么要有浮動IP這個東西
用戶通過輸入IP地址就能訪問這個應(yīng)用了房午,但是天有不測風(fēng)云,有時候因為一些原因丹允,服務(wù)會掛掉郭厌。于是開發(fā)人員就 想了一個辦法,在另外一個Linux上雕蔽,部署同樣的一個應(yīng)用折柠,這樣這個服務(wù)掛了,另外一個頂上批狐。
浮動IP會隨著主機服務(wù)掛掉而轉(zhuǎn)移到另外一個能夠提供相同服務(wù)的主機上扇售,對于用戶而言,他們始終覺得服務(wù)是正常的嚣艇。
設(shè)置浮動IP
浮動IP可以是雙機承冰,也可以是多機。
服務(wù) | IP |
---|---|
主服務(wù)器 | 192.168.219.100 |
從服務(wù)器 | 192.168.219.101 |
浮動IP | 192.168.219.80 |
主服務(wù)器配置
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
# 復(fù)制配置文件
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1
# 修改網(wǎng)卡配置文件
[root@localhost network-scripts]# cat ifcfg-ens33:1
TYPE="Ethernet" #網(wǎng)絡(luò)類型
BOOTPROTO="none" #網(wǎng)卡引導(dǎo)協(xié)議
NM_CONTROLLED="no" #network mamager的參數(shù)髓废,實時生效巷懈,不需要重啟
NAME="ens33:1" #物理網(wǎng)卡名稱
DEVICE="ens33:1" #網(wǎng)卡設(shè)備名稱(必須和NAME一樣)
ONBOOT="yes" #是否開機啟動
IPADDR="192.168.219.80" #浮動IP
PREFIX="24" #子網(wǎng)掩碼
# 啟動網(wǎng)卡
[root@localhost network-scripts]# ifup ifcfg-ens33:1
[root@localhost network-scripts]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:d4:d7:6a brd ff:ff:ff:ff:ff:ff
inet 192.168.219.100/24 brd 192.168.219.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.219.80/24 brd 192.168.219.255 scope global secondary ens33:1
valid_lft forever preferred_lft forever
# 驗證IP是否生效
[root@localhost network-scripts]# ping 192.168.219.80
PING 192.168.219.80 (192.168.219.80) 56(84) bytes of data.
64 bytes from 192.168.219.80: icmp_seq=1 ttl=64 time=0.149 ms
64 bytes from 192.168.219.80: icmp_seq=2 ttl=64 time=0.051 ms
從服務(wù)器配置
與主服務(wù)器配置相同
crontab定時任務(wù)監(jiān)控與自動切換
腳本 | 說明 |
---|---|
從服務(wù)器腳本 | ping主服務(wù)器IP或浮動IP不通時,啟動從服務(wù)器的浮動IP慌洪;ping主服務(wù)器和浮動IP都通時顶燕,關(guān)閉從服務(wù)器的浮動IP |
主服務(wù)器腳本 | ping浮動IP不通時凑保,啟動主服務(wù)器的浮動IP |
從服務(wù)器腳本
# slaveIP.sh
# slaveIP.sh
MASTER_IP="192.168.219.100"
FLOAT_IP="192.168.219.80"
c1=$(/usr/bin/ping $MASTER_IP -c 1|grep Unreachable|wc -l)
c2=$(/usr/bin/ping $FLOAT_IP -c 1|grep Unreachable|wc -l)
c3=$(/usr/sbin/ip addr|grep "192.168.219.80")
if [ $c1 -gt 0 -o $c2 -gt 0 ]
then
/usr/sbin/ifup ifcfg-ens33:1
elif [ $c1 -eq 0 -a $c2 -eq 0 -a "$c3" ]
then
/usr/sbin/ifdown ifcfg-ens33:1
fi
主服務(wù)器腳本
# masterIP.sh
FLOAT_IP="192.168.219.80"
c=$(/usr/bin/ping $FLOAT_IP -c 1|grep Unreachable|wc -l)
if [ $c -gt 0 ]
then
/usr/sbin/ifup ifcfg-ens33:1
fi
crontab定時任務(wù)
# crontab -e
# FLOAT_IP
* * * * * /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 5; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 10; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 15; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 20; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 25; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 30; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 35; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 40; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 45; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 50; /usr/bin/sh /root/masterIP.sh
* * * * * /usr/bin/sleep 55; /usr/bin/sh /root/masterIP.sh
# crontab -e
# # FLOAT_IP
* * * * * /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 5; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 10; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 15; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 20; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 25; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 30; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 35; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 40; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 45; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 50; /usr/bin/sh /root/slaveIP.sh
* * * * * /usr/bin/sleep 55; /usr/bin/sh /root/slaveIP.sh
# 從服務(wù)器只需修改腳本名稱/root/slaveIP.sh
參考鏈接
浮動IP(FLOAT IP)獨學(xué)而無友,則孤陋而寡聞-CSDN博客浮動ip
使用crontab涌攻,讓linux定時執(zhí)行shell腳本Allen的技術(shù)天空-CSDN博客crontab執(zhí)行shell腳本
NM_CONTROLLED的含義以及網(wǎng)卡配置參數(shù) - 醉客劍軒 - 博客園 (cnblogs.com)
linux里的bootproto的none,static,dhcp有什么區(qū)別 - lclc - 博客園 (cnblogs.com)
Linux配置浮動IP_blade_1937的博客-CSDN博客_linux配置浮動ip
PS:微信公眾號"小明阿婆"回復(fù):"浮動IP"欧引,可獲取完整MarkDown文件