雲計算之路系列博文分享的是我們將網站從IDC機房遷移至雲計算平台的實際經歷,目前即將遷入阿里雲,這次分享的是在正式遷移前兩台雲服務器出現的奇怪問題。
其中一台的故事是這樣的:
博客園找找看的后台服務(建索引,查找索引)很早就遷入阿里雲的一台雲服務器上,一直正常,Windows性能監視器中的Avg.Disk Read Queue Length在2左右。前幾天,我們將它移到了另外一台雲服務器上,找找看搜索速度變得很慢,在Windows性能監視器中監測到Avg.Disk Read Queue Length達到200多,竟然有百倍的差距。相同的程序,都是雲服務器,卻出現這么大的性能差距,而且速度慢的雲服務器配置更好,我們拍腦袋就能確定這台雲服務器肯定有問題。
於是,我們向阿里雲提交了工單,阿里雲客服讓我們停掉雲服務器上面的應用,測試一下磁盤IO性能,如果磁盤IO確實存在問題,他們會把這台雲服務器遷移至另外的集群上。而我們希望能先解決問題(把雲服務器遷移至另外的集群),然后再測試磁盤IO性能;而阿里雲客服希望先測試,確認有問題再遷移。於是,我們就用阿里雲客服告訴我們的軟件進行測試,開始的一個軟件不支持雲服務器(找不到硬盤);后來讓我們用fio軟件測試,由於對這個軟件不熟悉,也沒測試起來。我們准備另外安排時間研究一下這個軟件,這個問題就這樣擱置了。
另外一台的故事是這樣的:
這台雲服務器升級硬盤空間之后進行格式化時,一直顯示正在格式化,等了很長時間也沒反應,后來只能重啟服務器,重新格式化,這次格式化成功。向阿里雲反饋,得到的答復是當時這台雲服務器的宿主機負載較大。之后,我們操作這台雲服務器,總感覺反應有點遲鈍,但也不知道問題出在哪。昨天,我們升級了這台雲服務器的內存並進行重啟(阿里雲的雲服務器升級內存或CPU都要重啟,而且必須要通過管理控制台重啟),竟然沒啟動起來,管理控制台顯示狀態為“啟動中”,遠程也連接不上。向阿里雲提交工單,客服對這台雲服務器進行了重啟並成功啟動起來。但操作時還是反應遲鈍,出現兩次這么大的問題,我們有些擔心,不敢把它用於生產環境。於是,我們繼續向阿里雲提交工單,表示我們不敢繼續使用這台雲服務器;阿里雲客服建議我們備份這台服務器上的數據,對系統盤和數據庫進行重置。我們沒聽取這個建議。
兩台加起來的故事:
我們冷靜分析了一下這兩台雲服務器的故事。已經購買了13台雲服務器,只有這2台出現了問題,而且這2台是最近購買的。又一查,這2台是同一天購買的,而且分配的IP很相近。很有可能是這2台雲服務器在同一個集群上(雲服務器是運行於集群上的虛擬機,而雲服務商一般會有多個集群,這樣可以分而治之),問題可能是因為這個集群的負載很高。
我們通過工單向阿里雲提交了這個想法,然后接到阿里雲客服的電話,說可以幫我們遷移到另一個集群上,需要我們先停運這兩台雲服務器。遷移大約15分鍾。(我們猜測這個遷移也就是把虛擬機文件從一個地方復制到另一個地方,然后啟動虛擬機)
我們停運這2台雲服務器后,通知阿里雲客服,5分鍾不到就完成了遷移。遷移之后,那台反應遲鈍的雲服務器立即正常了。經過一段時間的觀察,跑找找看后台服務的雲服務器磁盤IO也正常了,Windows性能監視器中的Avg.Disk Read Queue Length保持在2左右。問題解決!
在遷移前遇到這樣的問題的確讓人擔心,但是對於雲計算如此復雜的平台,問題在所難免,只要弄清問題的真正原因並有相應的解決方法,就不是問題。另外,我們也希望出現問題時,雲服務商首先應該考慮的是怎么讓客戶的服務器盡快恢復正常,然后再測試問題所在。