通過heartbeat搭建lvs高可用性集群

2021-09-20 20:39:43 字數 3510 閱讀 5208

首先,在主、備節點上配置lvs資訊,一般通過ldirectord配置

在搭建director server的雙機熱備系統之前,首先需要在兩台主機上安裝heartbeat軟體,安裝軟體後在/etc/ha.d/ha.cf產生主配置檔案

1.配置heartbeat的主配置檔案/etc/ha.d/ha.cf

#debugfile /var/log/ha-debug

logfile /var/log/ha-log   #指定heartbeat的日誌存放位置

#crm yes     #是否開啟clusterresourcemanager(集群資源管理)功能

bcast eth1   #指定心跳使用乙太網廣播方式,並且在eth1介面上進行廣播

logfacility local0

keepalive 2   #指定心跳間隔時間為2s(即每2s在eth1上傳送一次廣播)

deadtime 30   #如果指定備用節點在30s內沒有收到主節點的心跳訊號,則立即接管

#主節點的資源

warntime 10  #指定心跳延遲的時間為10s。當10s內備機不能接受到主節點的心跳信

#號時,就會在日誌中寫入乙個警告資訊,但此時不會切換服務

initdead 120  #在某些系統上,系統啟動或重啟之後需要經過一段時間網路才能正常

#工作,該選項用於設定這種情況產生的時間間隔,取值至少為deadtime的2倍

u***ort 694  #設定廣播通訊的埠,694為預設使用的埠號

baud  19200  #設定序列通訊的位元率

serial /dev/ttys0   #選擇序列通訊裝置,用於雙機使用串列埠線連線情況,如果雙機通

#過乙太網連線,則應該關閉該選項

#ucast eth0 192.168.1.1  #採用網絡卡eth0的udp單播來組織心跳,後面跟的ip位址應為

#雙機中對方的ip位址

#mcast eth0 225.0.0.1 694 1 0   #採用網絡卡eth0的udp多播來組織心跳,一般在備機不

#止一台時使用。bcast、ucast和mcast分別代表廣播、單播和多播,

#是組織心跳的3種方式,任選其一即可

auto_failback on   #用來定義當主節點恢復後,是否將服務自動切回,heartbeat的兩

#臺主機分別表示主節點和備用節點。主節點在正常情況下占用資源並執行所有服

#務,遇到故障時把資源交給備用節點並由備用節點執行服務。在將該選項設定on的

#情況下,一旦主節點恢復執行,則自動獲取資源並取代備用節點;如果該選項設定

#為off,那麼主節點恢復後,將變為備用節點,而原來的備用節點變成主節點

#stonith bayteach /etc/ha.d/conf/stonith.baytech   #stonish的主要作用是使出現 

#問題的節點從集群環境中脫離,進而釋放集群資源,避免兩個節點爭

#用乙個資源的情況發生。保證共享資料的安全性和完整性

#watchdog /dev/watchdog  #該選項是可選配置,通過heartbeat來監控系統的執行狀

#態。使用該特性,需要在核心中載入「softdog」核心模組,用來生成實際的裝置

#檔案,如果系統中沒有這個核心模組,就需要指定此模組,重新編譯核心。編譯

#完成後輸入「insmod softdog」載入該模組,然後輸入grep misc /proc/devices  

#(結果應為10),輸入cat /proc/misc |grep watchdog  (結果應為130)。最好,

#生成裝置檔案mknod /dev/watchdog c 10 130即可完成此功能

node dr1    #主節點主機名稱,必須要和uname -n檢視的一致

node dr2    #備用節點主機名稱,必須要和uname -n檢視的一致

ping 192.168.12.1   #選擇ping的節點。ping節點擊擇的越好,ha的集群就越健壯。可

#以選擇固定的路由器作為ping節點,但是最好不要選擇集群中的成

#員作為ping的節點,ping節點僅用來測試網路連線

ping node 192.168.12.188 192.168.12.100  #指定ping node。ping node並不是雙機中

#的兩個節點,僅僅用來測試網路的連通性

respawn hacluster /usr/lib/heartbeat/ipfail   #該選項是可選配置,列出與

#heartbeat一起啟動和關閉的程序,該程序一般是heartbeat的整合的

#外掛程式,這些程序遇到故障可以自動重新啟動。最常用的程序是

#ipfail,此程序用來檢測和處理網路故障,需要配合ping語句指定的

#ping node來檢測網路的連通性。其中hacluster表示啟動ipfail程序的身份

2.配置heartbeat的資源檔案/etc/ha.d/haresources

haresources檔案用於指定雙機系統的主節點、集群ip、子網掩碼、廣播位址以及啟動

服務等集群資源。檔案每一行可以包括乙個或多個資源指令碼名,資源指令碼名之間用空格隔開,引數之間是有兩個冒號隔開。

dr1 ipaddr::192.168.12.200/24/eth0  ldirectord  

#設定dr1為主節點,集群伺服器的ip位址為192.168.12.200,netmask為255.255.255.0,同時指定此ip使用的網路介面為eth0,heartbeat託管的服務為ldirectord

注意:這裡的ldirectord對應的檔案為/etc/init.d/ldirectord,即ldirectord服務的啟動檔案,也就是將ldirectord的啟動與關閉交給heartbeat來管理。另外,lvs主節點和備份節點的資源檔案haresources要完全一致,當指定dr1是主節點後,另乙個節點dr2就是備用節點。

3.配置heartbeat的認證檔案/etc/ha.d/authkeys

authkeys檔案用於設定heartbeat的認證方式,該檔案中有3種可用的認證方式crc、sha1和md5,這裡使用crc認證方式。設定如下:

auth 1

1 crc

#2 sha1 sha1_any_password

#3 md5 md5_any_password

需要說明的一點是無論auth後面指定的是什麼數字,在下一行必須作為關鍵字再次出現,例如指定「auth 6 」下面一定要有一行「6 認證型別」,最後確保這個檔案的許可權是600

4.啟動heartbeat服務

所有配置完成後,就可以在主、備director server上啟動heartbeat服務了

/etc/init.d/heartbeat

由於heartbeat託管了主、備director server上的ldirectord服務,因此只需在主、備 

上啟動heartbeat服務即可,這樣ldirectord服務就在主機上起來了

啟動real server節點服務

分別在兩個real server節點上執行如下指令碼:

/etc/init.d/lvsrs start

vue通過vue cli搭建專案

vue入門通過腳手架搭建專案。檢查node版本 node v 檢查npm版本 npm v 如果版本過低 下面操作進行公升級 npm install g npmnpm install g cnpm registry 檢查 cnpm v 3.安裝vue。全域性安裝 cnpm install vue cl...

通過github搭建個人部落格

今天突發奇想,想用github搭建乙個個人部落格,就大概學習了一下,特此記錄。搭建也是非常簡單,首先註冊個github賬號,然後新建乙個repository,命名為 你的github名字.github.io 比如我的就是 為什麼要這麼起名字?人家規定的。接下來,我們可以看看官方文件是怎麼說的,看完就...

Windows 上通過本地搭建 Jekyll環境

2.配置安裝環境。環境變數中新增環境變數名 ruby home 變數值為 你的ruby安裝目錄 我的是e ruby21 x64 然後在path中加入 ruby home bin 輸入ruby version檢查環境是否成功 3.更新ruby和gems系統。輸入 gem update system 並...