国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備

這篇具有很好參考價(jià)值的文章主要介紹了深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Keepalived+重啟腳本+雙機(jī)熱備搭建

①首先創(chuàng)建一個(gè)對(duì)應(yīng)的目錄并下載keepalived安裝包(提取碼:s6aq)到Linux中并解壓:

[root@localhost]# mkdir /soft/keepalived && cd /soft/keepalived
[root@localhost]# wget https://www.keepalived.org/software/keepalived-2.2.4.tar.gz
[root@localhost]# tar -zxvf keepalived-2.2.4.tar.gz

②進(jìn)入解壓后的keepalived目錄并構(gòu)建安裝環(huán)境,然后編譯并安裝:

[root@localhost]# cd keepalived-2.2.4
[root@localhost]# ./configure --prefix=/soft/keepalived/
[root@localhost]# make && make install

③進(jìn)入安裝目錄的/soft/keepalived/etc/keepalived/并編輯配置文件:

[root@localhost]# cd /soft/keepalived/etc/keepalived/
[root@localhost]# vi keepalived.conf

④編輯主機(jī)的keepalived.conf核心配置文件,如下:

global_defs {
    # 自帶的郵件提醒服務(wù),建議用獨(dú)立的監(jiān)控或第三方SMTP,也可選擇配置郵件發(fā)送。
    notification_email {
        root@localhost
    }
    notification_email_from root@localhost
    smtp_server localhost
    smtp_connect_timeout 30
    # 高可用集群主機(jī)身份標(biāo)識(shí)(集群中主機(jī)身份標(biāo)識(shí)名稱(chēng)不能重復(fù),建議配置成本機(jī)IP)
	router_id 192.168.12.129 
}

# 定時(shí)運(yùn)行的腳本文件配置
vrrp_script check_nginx_pid_restart {
    # 之前編寫(xiě)的nginx重啟腳本的所在位置
	script "/soft/scripts/keepalived/check_nginx_pid_restart.sh" 
    # 每間隔3秒執(zhí)行一次
	interval 3
    # 如果腳本中的條件成立,重啟一次則權(quán)重-20
	weight -20
}

# 定義虛擬路由,VI_1為虛擬路由的標(biāo)示符(可自定義名稱(chēng))
vrrp_instance VI_1 {
    # 當(dāng)前節(jié)點(diǎn)的身份標(biāo)識(shí):用來(lái)決定主從(MASTER為主機(jī),BACKUP為從機(jī))
	state MASTER
    # 綁定虛擬IP的網(wǎng)絡(luò)接口,根據(jù)自己的機(jī)器的網(wǎng)卡配置
	interface ens33 
    # 虛擬路由的ID號(hào),主從兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣
	virtual_router_id 121
    # 填寫(xiě)本機(jī)IP
	mcast_src_ip 192.168.12.129
    # 節(jié)點(diǎn)權(quán)重優(yōu)先級(jí),主節(jié)點(diǎn)要比從節(jié)點(diǎn)優(yōu)先級(jí)高
	priority 100
    # 優(yōu)先級(jí)高的設(shè)置nopreempt,解決異?;謴?fù)后再次搶占造成的腦裂問(wèn)題
	nopreempt
    # 組播信息發(fā)送間隔,兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣,默認(rèn)1s(類(lèi)似于心跳檢測(cè))
	advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 將track_script塊加入instance配置塊
    track_script {
        # 執(zhí)行Nginx監(jiān)控的腳本
		check_nginx_pid_restart
    }

    virtual_ipaddress {
        # 虛擬IP(VIP),也可擴(kuò)展,可配置多個(gè)。
		192.168.12.111
    }
}

⑤克隆一臺(tái)之前的虛擬機(jī)作為從(備)機(jī),編輯從機(jī)的keepalived.conf文件,如下:

global_defs {
    # 自帶的郵件提醒服務(wù),建議用獨(dú)立的監(jiān)控或第三方SMTP,也可選擇配置郵件發(fā)送。
    notification_email {
        root@localhost
    }
    notification_email_from root@localhost
    smtp_server localhost
    smtp_connect_timeout 30
    # 高可用集群主機(jī)身份標(biāo)識(shí)(集群中主機(jī)身份標(biāo)識(shí)名稱(chēng)不能重復(fù),建議配置成本機(jī)IP)
	router_id 192.168.12.130 
}

# 定時(shí)運(yùn)行的腳本文件配置
vrrp_script check_nginx_pid_restart {
    # 之前編寫(xiě)的nginx重啟腳本的所在位置
	script "/soft/scripts/keepalived/check_nginx_pid_restart.sh" 
    # 每間隔3秒執(zhí)行一次
	interval 3
    # 如果腳本中的條件成立,重啟一次則權(quán)重-20
	weight -20
}

# 定義虛擬路由,VI_1為虛擬路由的標(biāo)示符(可自定義名稱(chēng))
vrrp_instance VI_1 {
    # 當(dāng)前節(jié)點(diǎn)的身份標(biāo)識(shí):用來(lái)決定主從(MASTER為主機(jī),BACKUP為從機(jī))
	state BACKUP
    # 綁定虛擬IP的網(wǎng)絡(luò)接口,根據(jù)自己的機(jī)器的網(wǎng)卡配置
	interface ens33 
    # 虛擬路由的ID號(hào),主從兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣
	virtual_router_id 121
    # 填寫(xiě)本機(jī)IP
	mcast_src_ip 192.168.12.130
    # 節(jié)點(diǎn)權(quán)重優(yōu)先級(jí),主節(jié)點(diǎn)要比從節(jié)點(diǎn)優(yōu)先級(jí)高
	priority 90
    # 優(yōu)先級(jí)高的設(shè)置nopreempt,解決異常恢復(fù)后再次搶占造成的腦裂問(wèn)題
	nopreempt
    # 組播信息發(fā)送間隔,兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣,默認(rèn)1s(類(lèi)似于心跳檢測(cè))
	advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 將track_script塊加入instance配置塊
    track_script {
        # 執(zhí)行Nginx監(jiān)控的腳本
		check_nginx_pid_restart
    }

    virtual_ipaddress {
        # 虛擬IP(VIP),也可擴(kuò)展,可配置多個(gè)。
		192.168.12.111
    }
}

⑥新建scripts目錄并編寫(xiě)Nginx的重啟腳本,check_nginx_pid_restart.sh

[root@localhost]# mkdir /soft/scripts /soft/scripts/keepalived
[root@localhost]# touch /soft/scripts/keepalived/check_nginx_pid_restart.sh
[root@localhost]# vi /soft/scripts/keepalived/check_nginx_pid_restart.sh

#!/bin/sh
# 通過(guò)ps指令查詢(xún)后臺(tái)的nginx進(jìn)程數(shù),并將其保存在變量nginx_number中
nginx_number=`ps -C nginx --no-header | wc -l`
# 判斷后臺(tái)是否還有Nginx進(jìn)程在運(yùn)行
if [ $nginx_number -eq 0 ];then
    # 如果后臺(tái)查詢(xún)不到`Nginx`進(jìn)程存在,則執(zhí)行重啟指令
    /soft/nginx/sbin/nginx -c /soft/nginx/conf/nginx.conf
    # 重啟后等待1s后,再次查詢(xún)后臺(tái)進(jìn)程數(shù)
    sleep 1
    # 如果重啟后依舊無(wú)法查詢(xún)到nginx進(jìn)程
    if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
        # 將keepalived主機(jī)下線,將虛擬IP漂移給從機(jī),從機(jī)上線接管Nginx服務(wù)
        systemctl stop keepalived.service
    fi
fi

⑦編寫(xiě)的腳本文件需要更改編碼格式,并賦予執(zhí)行權(quán)限,否則可能執(zhí)行失?。?/p>

[root@localhost]# vi /soft/scripts/keepalived/check_nginx_pid_restart.sh

:set fileformat=unix # 在vi命令里面執(zhí)行,修改編碼格式
:set ff # 查看修改后的編碼格式

[root@localhost]# chmod +x /soft/scripts/keepalived/check_nginx_pid_restart.sh

⑧由于安裝keepalived時(shí),是自定義的安裝位置,因此需要拷貝一些文件到系統(tǒng)目錄中:

[root@localhost]# mkdir /etc/keepalived/
[root@localhost]# cp /soft/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost]# cp /soft/keepalived/keepalived-2.2.4/keepalived/etc/init.d/keepalived /etc/init.d/
[root@localhost]# cp /soft/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

⑨將keepalived加入系統(tǒng)服務(wù)并設(shè)置開(kāi)啟自啟動(dòng),然后測(cè)試啟動(dòng)是否正常:

[root@localhost]# chkconfig keepalived on
[root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl enable keepalived.service
[root@localhost]# systemctl start keepalived.service

其他命令:
systemctl disable keepalived.service # 禁止開(kāi)機(jī)自動(dòng)啟動(dòng)
systemctl restart keepalived.service # 重啟keepalived
systemctl stop keepalived.service # 停止keepalived
tail -f /var/log/messages # 查看keepalived運(yùn)行時(shí)日志

⑩最后測(cè)試一下VIP是否生效,通過(guò)查看本機(jī)是否成功掛載虛擬IP

[root@localhost]# ip addr

深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備,系統(tǒng)架構(gòu)

從上圖中可以明顯看見(jiàn)虛擬IP已經(jīng)成功掛載,但另外一臺(tái)機(jī)器192.168.12.130并不會(huì)掛載這個(gè)虛擬IP,只有當(dāng)主機(jī)下線后,作為從機(jī)的192.168.12.130才會(huì)上線,接替VIP。最后測(cè)試一下外網(wǎng)是否可以正常與VIP通信,即在Windows中直接ping VIP

深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備,系統(tǒng)架構(gòu)

外部通過(guò)VIP通信時(shí),也可以正常Ping通,代表虛擬IP配置成功。

?經(jīng)過(guò)上述步驟后,keepalivedVIP機(jī)制已經(jīng)搭建成功,在上個(gè)階段中主要做了幾件事:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-847182.html

  • 一、為部署Nginx的機(jī)器掛載了VIP。
  • 二、通過(guò)keepalived搭建了主從雙機(jī)熱備。
  • 三、通過(guò)keepalived實(shí)現(xiàn)了Nginx宕機(jī)重啟。

到了這里,關(guān)于深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx反向代理

    深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx反向代理

    一、Nginx反向代理-負(fù)載均衡 ?首先通過(guò) SpringBoot+Freemarker 快速搭建一個(gè) WEB 項(xiàng)目:springboot-web-nginx,然后在該項(xiàng)目中,創(chuàng)建一個(gè) IndexNginxController.java 文件,邏輯如下: 在該 Controller 類(lèi)中,存在一個(gè)成員變量: port ,它的值即是從 application.properties 配置文件中獲取 server.port 值。

    2024年04月12日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx跨域配置

    ? ?跨域問(wèn)題在之前的單體架構(gòu)開(kāi)發(fā)中,其實(shí)是比較少見(jiàn)的問(wèn)題,除非是需要接入第三方 SDK 時(shí),才需要處理此問(wèn)題。但隨著現(xiàn)在前后端分離、分布式架構(gòu)的流行,跨域問(wèn)題也成為了每個(gè)Java開(kāi)發(fā)必須要懂得解決的一個(gè)問(wèn)題。 跨域問(wèn)題產(chǎn)生的原因 ? ?產(chǎn)生跨域問(wèn)題的主要原因就

    2024年04月10日
    瀏覽(45)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx實(shí)現(xiàn)高可用

    深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx實(shí)現(xiàn)高可用

    ? ?線上如果采用單個(gè)節(jié)點(diǎn)的方式部署 Nginx ,難免會(huì)出現(xiàn)天災(zāi)人禍,比如系統(tǒng)異常、程序宕機(jī)、服務(wù)器斷電、機(jī)房爆炸、地球毀滅....哈哈哈,夸張了。但實(shí)際生產(chǎn)環(huán)境中確實(shí)存在隱患問(wèn)題,由于 Nginx 作為整個(gè)系統(tǒng)的網(wǎng)關(guān)層接入外部流量,所以一旦 Nginx 宕機(jī),最終就會(huì)導(dǎo)致整

    2024年04月15日
    瀏覽(29)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx的性能優(yōu)化

    ? ?到這里文章的篇幅較長(zhǎng)了,最后再來(lái)聊一下關(guān)于 Nginx 的性能優(yōu)化,主要就簡(jiǎn)單說(shuō)說(shuō)收益最高的幾個(gè)優(yōu)化項(xiàng),在這塊就不再展開(kāi)敘述了,畢竟影響性能都有多方面原因?qū)е碌模热缇W(wǎng)絡(luò)、服務(wù)器硬件、操作系統(tǒng)、后端服務(wù)、程序自身、數(shù)據(jù)庫(kù)服務(wù)等,對(duì)于性能調(diào)優(yōu)比較感興

    2024年04月14日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)中Nacos的部署

    深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)中Nacos的部署

    前面我們提到過(guò),在微服務(wù)架構(gòu)中,Nacos注冊(cè)中心屬于核心組件,通常我們會(huì)采用高性能獨(dú)立服務(wù)器進(jìn)行部署,下面我們一起來(lái)看看Nacos部署過(guò)程: 因?yàn)镹acos是支持windows和Linux系統(tǒng)的,且服務(wù)器操作系統(tǒng)一般都是Linux的,為了大家看完文章,可以按照步驟一步步把Nacos部署好,

    2024年04月10日
    瀏覽(26)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx大文件傳輸配置

    ? ?在某些業(yè)務(wù)場(chǎng)景中需要傳輸一些大文件,但大文件傳輸時(shí)往往都會(huì)會(huì)出現(xiàn)一些 Bug ,比如文件超出限制、文件傳輸過(guò)程中請(qǐng)求超時(shí)等,那么此時(shí)就可以在 Nginx 稍微做一些配置,先來(lái)了解一些關(guān)于大文件傳輸時(shí)可能會(huì)用的配置項(xiàng): 配置項(xiàng) 釋義 client_max_body_size 設(shè)置請(qǐng)求體允

    2024年04月12日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)標(biāo)準(zhǔn)組件及職責(zé)

    深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)標(biāo)準(zhǔn)組件及職責(zé)

    我們來(lái)認(rèn)識(shí)一下微服務(wù)架構(gòu)在Java體系中依托哪些組件實(shí)現(xiàn)的。 相對(duì)于單體架構(gòu)的簡(jiǎn)單粗暴,微服務(wù)的核心是將應(yīng)用打散,形成多個(gè)獨(dú)立提供的微服務(wù),雖然從管理與邏輯上更符合業(yè)務(wù)需要。但微服務(wù)架構(gòu)也帶來(lái)了很多急需解決的核心問(wèn)題: 1、如何發(fā)現(xiàn)新節(jié)點(diǎn)以及檢查各節(jié)點(diǎn)

    2024年04月12日
    瀏覽(20)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之分布式多形態(tài)的存儲(chǔ)型集群

    深入淺出 -- 系統(tǒng)架構(gòu)之分布式多形態(tài)的存儲(chǔ)型集群

    在上階段,我們簡(jiǎn)單聊了下集群的基本知識(shí),以及快速過(guò)了一下邏輯處理型集群的內(nèi)容,下面重點(diǎn)來(lái)看看存儲(chǔ)型集群,畢竟這塊才是重頭戲,集群的形態(tài)在其中有著多種多樣的變化。 邏輯處理型的應(yīng)用,部署集群架構(gòu)是為了解決單點(diǎn)故障、獲得更高的吞吐量,集群內(nèi)各節(jié)點(diǎn)之

    2024年04月10日
    瀏覽(103)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    科技進(jìn)步離不開(kāi)理論支撐,而當(dāng)下大行其道的分布式架構(gòu),透過(guò)繁榮昌盛表象,底層同樣離不開(kāi)諸多分布式理論撐持。當(dāng)然,相信諸位在學(xué)習(xí)分布式相關(guān)技術(shù)時(shí),必然學(xué)到過(guò)兩個(gè)分布式領(lǐng)域中的基礎(chǔ)理論,即: CAP與BASE理論 。 當(dāng)一個(gè)從邏輯上被視為整體的系統(tǒng),拆散到多個(gè)節(jié)

    2024年04月13日
    瀏覽(32)
  • 深入淺出MySQL - 架構(gòu)與執(zhí)行

    深入淺出MySQL - 架構(gòu)與執(zhí)行

    Photo by Merilin Kirsika Tedder from Pexels MySQL作為一個(gè)流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它可以運(yùn)行在多種平臺(tái)上,支持多種存儲(chǔ)引擎,提供了靈活的數(shù)據(jù)操作和管理功能。MySQL的邏輯架構(gòu)可以分為三層: 連接層 、 服務(wù)層 和 引擎層 ,下方是網(wǎng)上流傳度很廣的一張架構(gòu)圖。 需要注

    2024年02月09日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包