1、什么是VRRP?keepalived又是什么?
VRRP全稱是Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。它的主要目的是在一個網(wǎng)絡(luò)中提供冗余的路由。當(dāng)一個三層網(wǎng)絡(luò)設(shè)備或服務(wù)器出現(xiàn)故障時,VRRP可以確保網(wǎng)絡(luò)仍能正常工作。VRRP通過在這些設(shè)備之間使用IP組播或單播通信來實現(xiàn)冗余。它可以確保在網(wǎng)絡(luò)中有多個物理節(jié)點時,且在某些節(jié)點發(fā)生故障時仍能保持服務(wù)。
Keepalived是一個維護IP網(wǎng)絡(luò)穩(wěn)定性的重要軟件。它是Linux內(nèi)核中的一個組件,用于實現(xiàn)虛擬路由冗余協(xié)議(VRRP)。Keepalived負責(zé)監(jiān)控和維護一個VRRP集群,以確保所有VRRP實例都在線并能相互通信。如果VRRP集群中的任何一個實例出現(xiàn)故障,Keepalived將自動從故障實例中選擇一個健康實例來接管故障實例的工作。
VRRP和Keepalived都是保證網(wǎng)絡(luò)穩(wěn)定性和可靠性的重要組件,它們在不同的方面發(fā)揮著重要作用。
2、網(wǎng)絡(luò)設(shè)備中VRRP協(xié)議和服務(wù)器中keepalived的兩個區(qū)別
2.1、網(wǎng)絡(luò)設(shè)備中VRRP協(xié)議的虛擬IP地址對應(yīng)一個虛擬的mac地址,而keepalived的虛擬IP地址對應(yīng)Master節(jié)點的物理IP地址
以下是通過一個實驗來驗證兩者在有關(guān)mac地址上的區(qū)別。
2.1.1、在網(wǎng)絡(luò)設(shè)備中配置VRRP協(xié)議
相關(guān)實驗拓撲如下:
(1)針對實驗中,銳捷路由和交換設(shè)備的配置腳本如下:
!Ruijie-Switch-1配置(設(shè)置VRRP優(yōu)先級為120,從而協(xié)商為Master節(jié)點)
!
vlan range 1,100
!
interface GigabitEthernet 0/0
switchport access vlan 100
!
interface VLAN 100
ip address 172.16.100.11 255.255.255.0
vrrp 1 ip 172.16.100.10
vrrp 1 priority 120
vrrp 1 timers advertise 3
!
end
!Ruijie-Switch-2配置(設(shè)置VRRP優(yōu)先級為100,從而協(xié)商為BACKUP節(jié)點)
!
vlan range 1,100
!
interface GigabitEthernet 0/0
switchport access vlan 100
!
interface VLAN 100
ip address 172.16.100.12 255.255.255.0
vrrp 1 ip 172.16.100.10
vrrp 1 priority 100
vrrp 1 timers advertise 3
!
End
!Ruijie-vRouter配置
!
interface GigabitEthernet 0/0
no switchport
ip address 172.16.100.5 255.255.255.0
!
(2)刷入腳本后,分別在兩臺運行VRRP的銳捷交換機上,通過“show vrrp
”命令查看VRRP的協(xié)商情況
(3)各個路由交換節(jié)點進行互ping后(包括ping真實IP地址和虛擬IP地址),在銳捷路由器上通過“show arp
”命令查看arp表,可發(fā)現(xiàn)虛擬IP地址對應(yīng)一個虛擬mac地址,和真實IP地址對應(yīng)的真實mac地址都不同,如下:
2.1.2、在Linux服務(wù)器中的keepalived
相關(guān)實驗拓撲如下:
(1)針對本實驗中,分別在debian系統(tǒng)和OpenEuler系統(tǒng)中執(zhí)行“apt install keepalived -y
”和“yum install keepalived -y
”安裝keepalived
(2)將debian系統(tǒng)/etc/keepalived
目錄下的keepalived.conf
文件修改為以下內(nèi)容(debian的VRRP優(yōu)先級為100,為Master):
global_defs {
notification_email {
11202@qq.com
}
notification_email_from keepalived@showjoy.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.26.100
}
}
(3)將OpenEuler系統(tǒng)/etc/keepalived
目錄下的keepalived.conf
文件修改為以下內(nèi)容(OpenEuler的VRRP優(yōu)先級為50,為BACKUP):
global_defs {
notification_email {
11202@qq.com
}
notification_email_from keepalived@showjoy.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 51
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.26.100
}
}
(4)分別在兩個系統(tǒng)中執(zhí)行命令“systemctl restart keepalived
”,使得keepalived的配置生效
(5)驗證keepalived冗余效果是否生效
(6)若確定keepalived配置無誤,將所有節(jié)點進行互ping后,在WinServer服務(wù)器上,通過命令“arp -a
”查看arp表,可發(fā)現(xiàn)keepalived的虛擬IP地址始終和Master保持一致(若Master出現(xiàn)宕機,Backup升級為Master,此時虛擬IP地址對應(yīng)的mac地址將變?yōu)樾碌腗aster)
2.2、keepalived可以通過自定義shell腳本實現(xiàn)應(yīng)用層進程級別等的冗余備份,而網(wǎng)絡(luò)設(shè)備的VRRP只能實現(xiàn)網(wǎng)絡(luò)層面冗余備份
如下圖所示,keepalived通過/etc/keepalived/keepalived.conf
配置文件中的vrrp_script
和track_script
字段,可以實現(xiàn)包括監(jiān)控端口號,系統(tǒng)進程等實現(xiàn)冗余備份,例如,通過keepalived監(jiān)控nginx進程,若nginx進程被殺死,即使服務(wù)器仍舊正常運行,相關(guān)服務(wù)仍舊可以通過自定義腳本切換到Backup節(jié)點上, 從而保障業(yè)務(wù)正常運行:文章來源:http://www.zghlxwxcb.cn/news/detail-432402.html
3、兩者因使用場景差異,造成以上兩個區(qū)別
首先針對與keepalived和網(wǎng)絡(luò)設(shè)備VRRP在mac地址機制上的差別,個人認為網(wǎng)絡(luò)設(shè)備之所以會針對虛擬IP地址去虛擬一個虛擬mac出來,主要是為了降低當(dāng)網(wǎng)絡(luò)中有mac地址綁定場景時的維護難度,當(dāng)網(wǎng)關(guān)需要配置mac地址綁定時,只需要將虛擬mac地址和網(wǎng)絡(luò)接口或IP地址綁定起來就可以了,此時無論真實的物理設(shè)備的mac如何改變,都不會因為mac地址綁定的原因而造成網(wǎng)絡(luò)中斷,這是網(wǎng)絡(luò)設(shè)備VRRP針對網(wǎng)絡(luò)層面上的優(yōu)化,在這一點上,keepalived就需要維護單獨維護真實的mac地址綁定。
而針對于keepalived,因為keepalived通常是部署在服務(wù)器上,所以會涉及到應(yīng)用層面上的冗余需求,因此keepalived可以通過自定義shell腳本實現(xiàn)應(yīng)用進程層面上的冗余,而不單單只是硬件和網(wǎng)絡(luò)層面上的冗余。文章來源地址http://www.zghlxwxcb.cn/news/detail-432402.html
到了這里,關(guān)于網(wǎng)絡(luò)設(shè)備中VRRP協(xié)議和Linux服務(wù)器中keepalived的兩個區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!