為什麼使用keepalived
?keepalived是乙個類似於layer3, 4 & 7交換機制的軟體,也就是我們平時說的第3層、第4層和第7層交換。keepalived的作用是檢測web伺服器的狀態,如果有一台web伺服器宕機,或工作出現故障, k
eepalived將檢測到,並將有故障的web伺服器從系統中剔除,當web伺服器工作正常後
keepalived自動將web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web伺服器。
下面講解如何在
linux
安裝keepalived
並搭建高可用的
web伺服器。
首先是keepalived
的安裝。
keepalived
是需要即時編譯的,這裡使用的是
keepalived-1.2.2.tar.gz
,這裡假設把壓縮檔案上傳到了
/usr
下。首先登入到
root
使用者下,並定位到
/usr下。
#編譯安裝keepalived
unzip
keepalived-1.2.2.tar.gz
#或者使用「tar zxvf
keepalived-1.2.2.tar.gz
」命令來解壓
cd keepalived-1.2.2
./configure --prefix=/usr/local/keepalived
make && make install#編譯
keepalived原始碼
#設定keepalived
的配置檔案並將
keepalived
註冊為服務然後設定為開機啟動(開機啟動前面有講)
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
chkconfig --level 2345 keepalived on
#註冊開機啟動
說明一下,這裡
keepalived
的本身安裝在了
/usr/local
下,keepalived
的配置檔案
keepalived.conf
放在了/etc/keepalived下。
至此keepalived
已經安裝完成並新增到了開機啟動下,先不要著急啟動
keepalived
,我們還要配置一下它的配置檔案。
先說一下我們要達到的要求: 1.
當其中一台機器或者
keepalived
掛掉之後,虛擬
ip自動飄移到另外一台機器上,從而實現高可用。當作為主的機器恢復後,虛擬
ip會自動漂移回來。2.當
keepalived
切換時,需要執行指定的指令碼,在指令碼中我們可以執行一些其他操作(例如啟動或停止資料庫)。
這裡首先介紹一下虛擬ip(
vip)。
vip是乙個不與特定計算機或乙個計算機中的網路介面卡(nic)相連的ip位址。資料報被傳送到這個vip位址,但是所有的資料還是進過真實的網路介面。
它ip技術的一種,增強網路管理,發揮出vlan的優勢,改變了網路結構,合理分配網路資源,均衡網路負載,有效降低網上廣播資訊,方便對使用者的分組管理。
用白話說
vip就是乙個
ip位址,但並不是分配給特定網絡卡的。這樣的話,多個網絡卡之間可以輪流與這個
vip進行繫結,從而在不需要改變
web服務位址的情況下,實現程式的高可用。
未完待續。
linux網路程式設計 keepalive
我們說到keepalive的時候,需要先明確一點,這個keepalive說的是tcp的還是http的。一 tcp keepalive tcp的keepalive是側重在保持客戶端和服務端的連線,一方會不定期傳送心跳包給另一方,當一方斷掉的時候,沒有斷掉的定時傳送幾次心跳包,如果間隔傳送幾次,對方都返...
vue路由在keep alive下的重新整理問題
問題描述 在keep alive中的在跳轉到指定的路由時重新整理對應的路由,其餘不重新整理。有幾種解決方式 1.在keep alive中直接新增 include,cachedviews array型別 包含vue檔案的元件name都將被快取起來 反之exclude則是不包含 注意 所有.vue元件檔...
keepalive的來龍去脈
今天有同事反應在效能測試環境cpu load 很高有500 多,我的分析過程是這樣的,先用visualvm 連上去觀察了下,發現請求都卡在channelsocket 的read 上面。這一步是mod jk 的 並未真正進入應用 所以懷疑是apache 和jboss 之間出現了為題,為了印證這個猜測,...