繼上一篇文章《千萬不要死於無知》之後,身邊的朋友的身邊又有了新的情況。這次的損失無法計量,而這一切的一切又和無知有着不解之緣。
一日朋友打電話過來,一臺服務器的Raid卡壞掉了,硬盤數據無法讀取……
那是一臺很老很老的服務器,因爲機房電力環境非常之好所以一年重起、關機次數平均下來都不到2次,更不要說可用性之類的指標,不知道要到小數點後面多少位……
非常偶然的一次重起,自檢到Raid卡的時候卡住了,詢問客服,被告知Raid卡損壞……
於是朋友便把硬盤插到閒置的擁有同樣接口的服務器上……無法讀取
拿到數據恢復服務商,插到他們的專業設備上……無法讀取,被告知需要拆盤
於是乎和他們簽了協議,拆盤……無法恢復……
……
寫到這裏,非常惋惜,也更是氣憤……早幹嘛呢?備份呢……追究責任已經爲時已晚了,而寫着篇文章不是爲了責備誰,而是告訴後人不要犯同樣的錯誤。
作爲用於重要數據存放的服務器或者存儲,我們更要倍加愛護,信息化程度越高這種疏忽所釀成的禍會越大。不要去想你擁有怎樣的醫師,業務無論他的醫術有多麼高深,如果你總是想指望他們,那就死定了……因爲他們自己也會丟失數據,也會犯錯誤,必須要以防爲主。就好比我們要懂得保健,而不是懂得看醫生。
數據備份很簡單,但是如何用有限的資源實現最大化的容災呢?
1、備份要全面而不繁冗
這沒有一個絕對的說法,而對應用的熟悉程度很大程度上決定了你有效備份內容的體積。比如說Linux下的Oracle9i備份,最開始是備份Oracle9i的整個安裝目錄;在瞭解Oracle9i的結構後發現只需備份控制文件、數據文件等變動內容即可;而在打開了歸檔模式之後,開始進行增量備份……
備份的體積決定了備份的速度和對資源的佔用,這點我們不能說做到最好,但要努力做的更好。
2、備份要有特定的目的
這個是自己總結出的經驗,就是關於什麼樣的備份放到什麼樣的介質上。
遠程存儲、磁帶、刻錄光盤、本地網絡、本地主機,這些備份介質都有它的優缺點。從速度上是依次遞增,而從容量上卻是依次遞減。如何平衡容量和時間呢?遠程存儲是爲了防止自然災害導致的數據損毀,而磁帶、光盤(移動硬盤)等也可以通過郵寄的方式放置遠程。本地網絡可能是最常用的備份方式,因爲其在空間、時間上的靈活性都很大。本地主機的備份僅僅是爲了應付一般的業務錯誤,試想如果硬件、系統掛了,本地備份能起什麼作用呢?在我假設的環境中,本地備份都是爲了快速恢復或是作爲其它備份的中轉。因爲本地備份的速度是其它方式無法比擬的。
3、備份要有規範的管理
這個是任何備份活動都不可忽略的部分。小到簽字筆寫下的幾個字,大到一個複雜的備份管理系統,就好比去醫院化驗血液。如果樣本上不做標記你覺得化驗結果可信嗎?
在軟件開發的代碼、文檔管理中這些東西更需要注意,本來通過調整能夠解決的問題如果使用了錯誤的備份版本進行了恢復,結果會更糟糕……
……
突然想到這裏就突然寫到這裏,和朋友們共勉。如果人都能長生不老就不必考慮接班人,如果機器設備軟件都不會出問題我們也不必去備份……