在已知IP的基礎上,批量管理cluster IP腳本思考

由於近期時間頗緊,代碼實現及測試暫時無暇顧及了,此處僅作思考記錄:


依賴條件:
1、得知所有dhcp分配的IP(下文簡稱dip),以及要修改爲的靜態IP(sip)
2、有一個腳本,通過其配置文件,可修改本機的主機名,ip等信息(已完成)
3、兩組ip以數組的形式,寫入腳本配置文件
4、未修改狀態下,dip online,sip必須offline.
5、未修改狀態下,如果sip online,記錄日誌並跳過
6、dip 和 sip的數量應該是相等的,但不強制
7、修改成功後,dip可能online,sip必須online
8、修改成功的,對應sip寫入/etc/hosts
9、修改成功後,刪除原dip在/etc/hosts記錄
10、修改成功後,刪除sip和dip在腳本配置文件的對應信息
11、考慮當dip多於sip時,可以直接將其正在使用的dip改爲sip(此功能可獨立)
12、cluster必須是互信的


實現方法:
遍歷dip數組:
   當dip online和sip offline滿足,則繼續,否則記錄日誌並跳出本次循環
       copy 配置文件到tmp目錄,並做修改其爲sip的配置
       通過dip推送至目標節點
       通過dip調用md5sum檢測配置文件一致性,一致則下一步,否則記錄日誌跳出本次循環
           通過dip調用對應的腳本,考慮重啓網絡服務帶來的延遲,可休眠3秒
           檢測本次修改的sip是否成功,dip在剛釋放可意味着其offline
           檢測sip 和dip 狀態:
               FUNC=刪除配置文件中對應的sip、dip和/etc/hosts中的dip,並將sip寫入/etc/hosts
               sip online and dip offline: FUNC
               sip offline and dip offline: FUNC ,記錄狀態日誌
               dip online and sip online: FUNC ,記錄狀態日誌
第11條功能過於簡易,不再贅述.

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