7月初收到阿里雲郵件,提示說須要作經典網絡預定遷移到專用網絡(更安全,配置更靈活的虛擬網絡空間), 因而乎就隨意天然選擇了一個工做日日期(下午14點:30預定遷移,客戶使用高峯期,這個時間選的我也是後悔莫及o(╥﹏╥)o)。數據庫
如期遷移,14:35開始, 收到客戶反饋,PC系統和手機端APP、小程序均沒法使用, 內部測試人員檢查結果也顯示沒法正常使用, 服務器處於癱瘓狀態(挖槽, 阿里雲生產歷來沒有所有掛過, 我也沒有經手過阿里雲的初期搭建,全部的人都在問我咋回事,公司沒有運維,我是兼職運維(✖人✖))。小程序
因而開始了24小時通宵恢復的血淚史。。緩存
--------------------------------------------事件描述-------------------------------------------------安全
2018-7-7 14:30 按照計劃阿里雲系統自動開啓遷移進程,服務器
遷移流程爲:網絡
自動停機 -> 自動遷移 -> 自啓動運維
全部實例在10分鐘自動遷移完畢, 此時收到客戶反饋服務器沒法使用,測試
經檢查問題爲:阿里雲
1. 本公司在阿里雲有兩個阿里雲帳號(之前搭建阿里雲的同事想不明白腦子哪根筋搭錯了, 開兩個帳號,畫個圈圈詛咒下他),xxxA@gmail.com(簡稱A)和xxxB@gmail.com(簡稱B)。兩個帳號的實例數量分佈狀況爲: A : 12 個實例 B : 20 個實例 + 2個RDS數據庫 + 2個memcache + 1個Redisspa
因爲A服務器遷移後, 網絡變動致使A,B服務器間沒法進行局域網通訊(經典網絡和專用網絡間實例沒法進行局域網通訊, 以前未考慮到這點!!!),故A沒法鏈接部署在B上的數據庫,同時A和B服務器之間的接口通訊也依賴局域網通訊,也被中斷, 二者致使整個系統服務器中斷(當時看到這一點,我就知道晚上的睡眠時間已經喂狗了,,)。
--------------------------------------------解決辦法描述-------------------------------------------------
經和阿里雲技術客服溝通, A進行的網絡遷移是不可逆,故沒法作還原!! 只能把B內的實例從經典網絡遷移到專用網絡, 從而構建A和B間實例的局域網通訊。
問題解決步驟:
1.B內的全部實例從經典網絡遷移到專用網絡
2.AB均需配置雲企的專用網絡交換機和VPC,經過交換機讓AB帳號實例ping互通
3.分開配置A, B內實例的內網IP網段, 防止交換機IP衝突
4.網絡遷移後,A,B實例的內網IP所有發生了變化,修改每一個實例內的 /etc/hosts 的配置, 把舊內網IP改爲新的內網IP
5.RDS數據庫不支持經典網絡切換到專用網絡(後來發現也能夠切換,後話了),須要生成RDS外網訪問域名, 替換掉全部實例中配置中的數據庫連接
6.數據庫的帳號是根據IP進行受權,內網IP變化有部分帳號須要從新修改受權(從新grant)
7.檢查全部實例中的內網IP配置, 把舊的內網IP修改成新的內網IP
8.RDS的白名單中把全部實例的新的內網IP設置進去防止被攔截
9.逐個重啓數據庫和全部實例, 查看日誌檢測是否正常啓動
10.測試實例是否可以正常訪問, 檢查PC、APP、小程序是否正常
11.通知產品人員和測試人員進行產品可用性和穩定性測試
內部確認系統正常後, 通知運營和客戶恢復系統使用
因爲阿里雲ECS服務器總共加起來有二十多臺, 加上RDS數據庫、緩存、TFS、SolrCloud、MQ等, 幾乎每臺機子都要檢查修改IP, 從新啓動測試是否正常。。
中間被有幾個點被卡住:
1. 兩個帳號對應兩個專用網絡, 這兩個專用網絡對應的網段(第三位)不能配置相同,會致使IP網段衝突, 阿里雲的小哥幫定位了倆小時!!(領導一直當時坐我旁邊, 我也很無奈啊~~)
2. TFS不知道如何啓動(命令沒找到, history也沒找到~~),摸索啊摸索,嘗試啊嘗試, 終於找到了啓動方法:
cd /opt/tfs/scripts
#啓動dataServer數據庫(兩臺):
./tfs start_ds 1-2 #啓動nameServer :
./tfs start_ns
3. rokectMQ恢復,修改broker配置的IP
所有搞完已是下午三點,整整24小時沒閉眼, 雖然累趴,可是也算是終於所有把生產服務器摸清了一遍, 下次也更有底了,這就是運維的苦吧~~