一次驚險的lvs切換

      公司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 解析記錄,並進行掃尾工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章