以往我們只著重在資料備份,期待系統出問題之後,能夠盡快的復原。隨著網路資源的增加,我們更往前走了一步,引進了備援的觀念,希望在單一硬體或線路出問題時,系統還可以繼續運作。
基於這個備援的理念,我們在台北也成立了機房,每個機房並配置有兩條對外線路。對單一機房而言,透過routing table的設定(這個需要用到policy route的技術)與DNS的調整,可以在單一線路回報失誤(透過簡訊)時,短時間內就將所有的服務全部改由另一條線路進出。當然,這樣會造成反應速度降 低,但總比什麼都沒有來得好(如果真的是對外網路斷線,修復常常是需要一天左右的時間)。
對於南北兩機房而言,平日我們就透過rsync一類的程式將資料備份到兩邊,然後必要的時候就透過DNS的指向來讓使用者看到另一個機房的資料。當然,這 部分其實也牽涉到DNS的組態問題,我們目前還沒有完全建置完成(DNS自動fail over部分),不過我們將會盡快完成這部分的設定。未來,我們也希望多幾個備援的機房,而且最後在台灣之外,這樣才能確保資料的安全無虞。
這幾年來我們發現磁帶設備,其實並沒有如想像中的穩固耐用。我手邊的兩台磁帶機都已經壽終正寢,而壽終正寢前都出現過幾次磁頭髒了卻無法清潔,只好送廠維 修的狀況。再者,磁帶機的容量相對於信望愛站的容量,實在是太小了,速度也太慢了,所以我們改用USB 2.0配合外接式2.5吋硬碟來備份。
相對於磁帶價格,一個2.5吋硬碟的單價還是很高,所以我們不可能用一個硬碟只備份一份資料。再加上硬碟的速度遠比磁帶快,於是我們引進了增量備份 (incremental backup)的觀念,平日只備份變動的資訊,週日才備份整個的資料。這樣我們用兩個60G的 2.5吋硬碟可以備份兩個月的資料。
為什麼用2.5吋的硬碟呢?主要是希望執行備份的人可以輕鬆的攜帶,安裝也會比較簡易一些。如果用3.5吋的硬碟,那就必須外接電源,雖然價格比較便宜,但是就會浪費執行備份的人的時間。我們目前是每週更換一次備份硬碟,並將離線的備份硬碟放在距離機房有相當距離的地方。
使用USB 2.0的設備的確是讓我們擁有快速的備份與備份取回的能力,不過其穩定性似乎還沒有達到一定的水準。我們必須精心搭配連接線、外接盒才能得到穩固的備份品 質。不過除了這些偶爾的小問題之外,整體而言用硬碟備份還算是一個不錯的解決方案,我們應該會持續使用一段時間。
順便把一些失敗的經驗跟大家報告一下:我們用過DVD燒錄設備,但是Linux似乎沒有辦法穩定的處理DVD燒錄設備,甚至造成系統當機。弄到最後只好靠 技術人員手工將備份資料down load到windows系統中燒錄,這樣簡直就是一種折磨。再加上DVD燒錄片的容量並不是很大(4.7G),所以很快的我們就放棄這個解決方案。
我自己在學校的備份,是使用3.5吋的USB 2.0硬碟外接盒,不過Linux似乎會挑設備。某些硬碟配合外接盒就是不能在Linux上穩定的使用(在windows上倒是可以穩定的使用),有些機 器則是根本無法在Linux上使用硬碟外接盒,所以看起來Linux似乎也還有一些相容性的問題必須要解決。相信這些問題,未來都會被解決,但是目前仍然 是一個困擾就是。