1. 程式人生 > >一次驚險的lvs切換

一次驚險的lvs切換

ati 運營 安裝 finish starting 故障 ive ini 無法啟動

公司lvs centos 6.4 采用的是piranha進行配置和管理,生產環境是單點,由於公司訪問量越來越大,一旦服務器故障,恢復時間會比較長,影響比較嚴重。於是著手進行備機的搭建和熱備切換測試。
??????先在公司內部找兩臺虛擬機進行安裝,並進行切換測試,錄下詳細操作流程;再在生產環境的備機進行安裝,並配置一個空閑的IP進行測試,確保lvs安裝是OK的。以上兩步操作完成後,於是發郵件通知相關人員,淩晨進行切換測試。
??????到約定時間,提前半小時修改VIP相關的DNS解析到其中一臺realserver。然後同步配置到備機,啟動備機 pulse服務,關閉主機 pulse服務,結果接下來的事情,完全超乎了預期。
??????切換異常和處理流程如下:
??????A, lvs切換到備lvs後,自帶管理工具pulse 反復刪除添加虛擬IP,剛開始以為是正常的,其實只是短暫正常;
??????message日誌顯示添加vip後,然後又刪除;並反復執行

 Aug 24 01:33:45 web9 pulse[2741]: gratuitous lvs arps finished
 Aug 24 01:33:46 web9 pulse[2106]: partner active: deactivating LVS
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down due to signal 15
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down virtual service LVS-A
 Aug 24 01:33:46 web9 nanny[2730]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2731]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2732]: Terminating due to signal 15
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down virtual service [LVS-443]
 Aug 24 01:33:46 web9 nanny[2734]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2736]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2739]: Terminating due to signal 15
 Aug 24 01:33:52 web9 pulse[2106]: primary inactive: activating lvs

??????B, 原來的主lvs pulse服務無法啟動;備lvs關閉pulse服務和主lvs物理服務器重啟都無法解決;

 錯誤提示:Starting pulse: pulse: cannot create heartbeat socket. running as root  #google後無果`

??????C, 咨詢機房客服後確認我們VIP是OK的(之前遇到過需要在運營商交換機進行arp緩存清理);
??????到這裏的時候,想回退都退不回去了,只有接著解決了,並打算換成keepalived。
??????於是下載安裝包,並進行編譯安裝,添加配置文件,主keepalived 啟動後,並能正常添加VIP,配置host驗證,可以正常訪問;於是對備機進行安裝,正常啟動。結果發現兩臺服務器都認為對方掛了,出現了“腦裂”,兩臺機器都添加了VIP。想起之前看到一個文章,公用環境有些運營商禁用了組播,於是修改keepalived為單播,重啟keepalived後服務VIP順利幫到主lvs上,關閉主後也能正常切換到備機。配置host業務正常,開始還原 dns 解析記錄,並進行掃尾工作。

一次驚險的lvs切換