最近在增加新的國外服務器以及對國内服務器進行硬盤的替換升級,國内服務器的硬盤經過幾年的使用後逐步損壞,去年讓同事進行過詳細和全面的磁盤檢查和掃描,都進行了記錄:
- 有一些硬盤完全損壞,不能用了;
- 有些經常變為隻讀狀态的也不敢繼續用,主動轉移數據到好的硬盤,然後修改/etc/fstab禁用;
- 有些硬盤從ext3改為ext2後重新修複、格式化,繼續勉強使用;
- 還有一些發現有壞道,但也依然用在不是非常重要的情況下,例如做專門的文件緩存硬盤用。
以前每台服務器将8個硬盤接口全部占滿挂8塊硬盤,除了系統盤是廠商配的1T或者500G藍盤以外,我們基本上都是添加的10000轉的300G迅猛龍硬盤,但從目前來看,也是這些迅猛龍硬盤壞得最多。中途還曾嘗試添加過筆記本電腦用的64G固态硬盤,但很快這些固态硬盤就壞掉了,無法适應服務器的使用壞境。這說明在大IO吞吐量下,對無論是固态硬盤還是機械硬盤,都還是損害很大的。
這次準備在5台服務器上把沒有在使用的壞硬盤撤下,添置上新采購的1T企業級黑盤(目前性價比最好):
- 17現有6塊在用,準備添加2塊
- 22現有4塊在用,準備添加4塊
- 23現有5塊在用,準備添加3塊
- 44現有7塊在用,準備添加1塊
- 45現有6塊在用,準備添加2塊
替換起來還比較麻煩,同事處理了兩天一夜還隻搞了3台服務器,中途遇到一些波折,5-1節後再去搞2台。
硬件添加後,還要準備數據的搬遷,web文件、緩存文件、設置文件都比較簡單,直接複制就可以,而數據庫文件就麻煩一些,還有盡量減少網站中斷訪問時間,我現在采取的辦法是:
- MediaWiki在LocalSettings.php中将數據庫設置為隻讀,這樣就可以複制數據庫的文件到新硬盤,然後修改數據庫目錄的指向鍊接就可以,這個過程不影響訪問,隻是暫時不能修改、留言;
- Drupal修改Settings.php,讓系列網站臨時連接默認站點的數據庫,再馬上複制數據庫的文件到新硬盤,并批處理中自動修改數據庫目錄的指向鍊接,這個過程會短暫造成訪問遇到404報錯,過一會兒恢複,暫時還沒有想到更合适的辦法避免報錯,即使把Drupal網站設置為maintenance模式,數據庫也不是隻讀的,所以隻好先連接其它數據庫(補充:可以把Drupal系統目錄中的默認站點設置為maintenance模式,讓訪問正在轉移數據的站點的用戶臨時指向這裡看到維護狀态,Drupal 7可以在settings.php中增加$conf['maintenance_mode'] = TRUE;Drupal 6可以在settings.php中增加$conf['site_offline'] = '1';)。
另外,在新增國外服務器的時候,我們嘗試了租用新推出的2x250G固态硬盤的服務器,因為這是服務器專用的固态硬盤,所以應該是可以經受服務器運行環境考驗的,該廠商是去年就推出了,我們當時不敢用,直到過了半年看該廠商還在大力推廣這種機型,才開始采用,目前還在測試中,一兩個星期的使用是沒有問題的,穩定性以及性能是否有提升還有待觀察。
评论