千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 詳解keepalived vip

詳解keepalived vip

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-24 19:08:09 1700824089

keepalived是一個(gè)高可用性的軟件,它實(shí)現(xiàn)了IP的虛擬化和服務(wù)的冗余,保證系統(tǒng)或者服務(wù)的高可用性。其中,VIP是keepalived的核心概念之一。VIP,即Virtual IP,即私有IP,是keepalived提供的虛擬IP地址,它不是系統(tǒng)接口的IP地址,而是自己內(nèi)部定義的。在這篇文章中,我們將從多個(gè)方面闡述keepalived VIP。

一、VIP的概念和作用

VIP,全稱為Virtual IP,即虛擬IP。它是一種虛擬的IP地址,不是真實(shí)存在于網(wǎng)絡(luò)中的,是keepalived程序提供的地址,目的是為了提高服務(wù)的可用性和負(fù)載均衡能力。

由于真實(shí)的服務(wù)器的地址是固定的,如果一臺(tái)服務(wù)器出現(xiàn)問題而停止工作,那么這臺(tái)服務(wù)器上負(fù)責(zé)的服務(wù)就會(huì)中斷,因此就需要將這個(gè)服務(wù)遷移到其他的服務(wù)器上。而VIP就是解決這個(gè)問題的重要方法,它可以將一個(gè)服務(wù)綁定在一個(gè)虛擬IP上,當(dāng)某個(gè)節(jié)點(diǎn)宕機(jī)或者某個(gè)服務(wù)出現(xiàn)故障時(shí),VIP可以快速地在其他綁定節(jié)點(diǎn)上實(shí)現(xiàn)服務(wù)的切換,從而保證了服務(wù)的高可用。

總之,VIP的作用是為了提供一個(gè)快速可靠的服務(wù)切換方案,用來保證業(yè)務(wù)的高可用性。

二、VIP的配置

下面是一個(gè)簡(jiǎn)單示例,演示如何在兩個(gè)主機(jī)上配置keepalived,使其提供一個(gè)綁定在VIP上的Web服務(wù)。

在兩個(gè)主機(jī)上都安裝keepalived:


# 安裝keepalived
yum install keepalived -y

在兩個(gè)主機(jī)上都開啟ip_forwarding


# 開啟ip_forwarding (service/restart方式啟動(dòng)系統(tǒng)不會(huì)自動(dòng)生效,可直接修改系統(tǒng)配置文件)
echo 1 > /proc/sys/net/ipv4/ip_forward

在節(jié)點(diǎn)1上的配置:(192.168.1.101)


# 創(chuàng)建一個(gè)虛擬網(wǎng)卡
ip addr add 192.168.100.1/24 dev eth0:0

# 配置keepalived
cat > /etc/keepalived/keepalived.conf << EOF
! Configuration File for keepalived

vrrp_script chk_http_port {
    script "nc -z 127.0.0.1 80"
    interval 2
    weight -5
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
        192.168.1.199/24 dev eth0:0 label eth0:0
    }

    track_script {
        chk_http_port
    }
}
EOF

# 啟動(dòng)keepalived
systemctl enable keepalived
systemctl start keepalived

在節(jié)點(diǎn)2上的配置:(192.168.1.102)


# 創(chuàng)建一個(gè)虛擬網(wǎng)卡
ip addr add 192.168.100.1/24 dev eth0:0

# 配置keepalived
cat > /etc/keepalived/keepalived.conf << EOF
! Configuration File for keepalived

vrrp_script chk_http_port {
    script "nc -z 127.0.0.1 80"
    interval 2
    weight -5
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
        192.168.1.199/24 dev eth0:0 label eth0:0
    }

    track_script {
        chk_http_port
    }
}
EOF

# 啟動(dòng)keepalived
systemctl enable keepalived
systemctl start keepalived

在兩個(gè)節(jié)點(diǎn)上都可以正常訪問 VIP(192.168.1.199),如果節(jié)點(diǎn)1宕機(jī),節(jié)點(diǎn)2會(huì)立即接管VIP(192.168.1.199),確保Web服務(wù)不會(huì)停止服務(wù)。

三、VIP的實(shí)現(xiàn)原理

在上面的實(shí)例中,我們正確配置了keepalived,并成功地實(shí)現(xiàn)了Web服務(wù)的高可用。那么,keepalived是如何實(shí)現(xiàn)VIP這一核心概念的呢?

實(shí)際上,在keepalived中,VIP的工作原理是基于VRRP協(xié)議 (Virtual Router Redundancy Protocol,虛擬路由器冗余協(xié)議)的。通過此協(xié)議,主機(jī)上的keepalived進(jìn)程將自己標(biāo)識(shí)為特殊的VRRP實(shí)例,實(shí)例擁有一個(gè)特定的ID,同時(shí)參與ARP解析。

本質(zhì)上,VRRP協(xié)議是一種基于多機(jī)路由協(xié)議(RIP、OSPF、BGP)的虛擬路由器冗余協(xié)議。通過該協(xié)議,多臺(tái)主機(jī)可以共享一個(gè)虛擬IP,同時(shí)也可以進(jìn)行教對(duì)等的負(fù)荷均衡。

當(dāng)其中一臺(tái)主機(jī)在一個(gè)VRRP實(shí)例中間失效之后,參與的其他的主機(jī)便可以自動(dòng)認(rèn)為虛擬路由器已經(jīng)失效,并且開始互相選舉新的Master,從而使得服務(wù)繼續(xù)不間斷的提供。而keepalived則是VRRP協(xié)議的實(shí)現(xiàn)之一,它可以提供良好的高可用性方案。

四、VIP的使用場(chǎng)景

通過上面的介紹,我們可以知道VIP可以用在許多場(chǎng)景中來提高服務(wù)的可用性。下面列舉一些常見的VIP使用場(chǎng)景:

Web服務(wù)高可用

在多臺(tái)Web服務(wù)器中,將Web服務(wù)的VIP綁定在其中一臺(tái)服務(wù)器上,當(dāng)這臺(tái)服務(wù)器出現(xiàn)故障的時(shí)候,可以快速切換到其他服務(wù)器,保證Web服務(wù)不被中斷。

負(fù)載均衡

將VIP分配給幾個(gè)服務(wù)器,然后通過負(fù)載均衡的方式來進(jìn)行服務(wù)的分發(fā)。這種方式可以大大提高服務(wù)的負(fù)載均衡能力和可用性。

數(shù)據(jù)同步

在多個(gè)服務(wù)器上部署服務(wù)時(shí),需要保證數(shù)據(jù)實(shí)時(shí)同步??梢允褂肰IP將不同服務(wù)器間的數(shù)據(jù)進(jìn)行同步,從而保證數(shù)據(jù)的一致性。

五、VIP的優(yōu)缺點(diǎn)

最后,我們來分析VIP的優(yōu)缺點(diǎn)。

六、總結(jié)

在這篇文章中,我們?cè)敿?xì)介紹了keepalived VIP這一概念,從概念、配置、實(shí)現(xiàn)原理、使用場(chǎng)景以及優(yōu)缺點(diǎn)等多個(gè)方面進(jìn)行了闡述。keepalived VIP是一種非常實(shí)用的技術(shù),可以在多種場(chǎng)景下提高服務(wù)的可用性和負(fù)載均衡能力,但是也需要在實(shí)踐中進(jìn)行不斷的優(yōu)化和調(diào)整,從而發(fā)揮出更好的效果。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT