一次慘痛的搬磚總結--線上管理服務器遷移

爲什麼有這次遷移,主要是因爲年前針對nagios的擴展做了很多研究測試,希望應用到生產環境中去,但是生產環境的nagios所在服務器是個集中的管理服務器,上面運行了很多開源軟件,而且大部分都是前人安裝部署,結構已經固化,坑太多已經無法擴展;其次管理服務器操作系統版本爲Centos5.4,老實說現在很多軟件在6x的系統上安裝起來比較方便,默認環境基本都能滿足各種開源軟件的運行,而且線下測試都是在6.5的系統上測試的。最後是因爲管理服務器太老了,害怕哪一天Down了,雖然配置文件每天都有備份,但是軟件一個個安裝起來還是比較頭疼的。所以最後決定將管理服務器上的所有服務全部遷移到虛擬機上,這樣在軟件安裝完畢之後備份虛擬機就可以解決服務器Down後的恢復問題。


爲什麼說這次遷移是慘痛的呢,因爲本人花了一個星期在新的虛擬機上安裝各種程序,遷移各種配置、腳本,解決安裝過程中的各種問題(雖然很多程序在本地已經安裝測試過,但是線上還是碰到很多之前沒有遇到的問題),同時還要修改所有服務器的相關配置,每天弄的昏天暗地,頭疼眼花的,心情煩躁。


首先說說遷移過程中都遇到了那些比較頭疼的問題。

1.nagios採用NRPE去監控每個服務器,但是NRPE有個比較變態的配置allowed_hosts,就是允許哪個IP來訪問它,之前所有服務器都是配置的老的管理服務器的IP,而且本人研究了好久發現它無法配置IP段。好了,新的管理服務器是另外一個IP,那麼死人了,所有服務器的NRPE這個參數都要增加新IP,線上有30臺左右的物理機,N臺虛擬機,全部來一遍二個小時沒有了。


2.本人有點輕微的強迫症,對界面美觀有比較高的要求,nagios4x的版本界面很好看,所以在線上新的服務器上就安裝了Nagios4x的版本,結果與之配套使用的pnp4nagios和ndoutils都無法工作(線下測試使用的是nagios3x的版本)。然後爲了解決這二個問題浪費了一天的時間。ndoutils這個最坑爹,直接從筆記上覆制的配置,導致ndoutils一直無法正常運行,然後各種百度、google,看官方文檔,最後從別人的文檔上覆制了下同樣的配置奇蹟般的正常了。後來發現是筆記軟件有缺陷,很多紀錄的命令直接複製出來都無法正常使用的。


3.運維管理平臺(我們自己寫的管理平臺),裏面有很多遷移腳本,遷移到新服務器上之後要測試,結果因爲之前寫的各種不規範(我自己的開發水準那叫一個渣渣,能跑就可以),改啊,測試啊,再改,頭都大了。


4.jenkins。前任部署使用的root用戶,遷移之後爲了規範使用了普通用戶,結果可想而知,也是各種改,各種測試。


5.管理平臺上還有二個服務:ntpd和nfs,好了,遷移過來之後那就跟NRPE一樣,所有服務器全部來一遍。


6.調試階段:在頭疼腦列幾天之後,所有程序、配置都遷移完畢了,啓動測試,發現各種丟啊,這裏忘記遷移了一個腳本,那裏忘記遷移了一個配置,這裏忘記安裝了一個rpm包,手忙腳亂


針對這些問題,總結了幾點:

1.遷移之前的準備太粗糙,只是簡單的調研了下老服務器上運行的程序,沒有紀錄文檔,沒有仔細整理,沒有擴展思維,很多和主程序相關的小東西都是在調試的時候發現缺失了纔想起來。


2.沒有批量管理工具,只要是動到公共配置,那麼好了所有服務器來一遍,太傷人。自動化運維管理工具學了幾樣,後面對比下準備在生產環境上部署一個。


3.規範,以前的坑就不說了,後面所有的操作要規範,這樣遷移就不會那麼的痛苦。

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