https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1

觀點

備份回復難題解析

2003 / 11 / 24
備份回復難題解析

文 / 陳冠任


隨著網際網路的出現及服務導向產業的全球化,企業正以驚人的速度收集和分析資料;資料儲存成長快速,人為疏失或天然災害所導致的資料損失威脅,可能會讓人付出更大的金錢代價。一旦重要系統停止運作,企業的損失恐怕就要用「以秒計費」來估算了,因此備份似乎就是另一個保障企業投資的最佳方式了。


目前世面上有許多的備份軟體,大致上的功能都是大同小異,無論是備份的系統平台種類或資料庫,基本上各種備份軟體廠商都能支援這些資料庫的備份策略,但在選擇這些備份軟體時,也常常因為備份軟體的功能看起來都大同小異,使得經常流於價格的競?,甚至在規劃整體備份策略時,除了注意備份的容量大小、所需的儲存媒體、備份的時間會不會太過冗長、價格會不會太高外,很少有人會特別的提到回復作業的特點。


通常回復原資料時間過久,或者復原工作過於複雜繁瑣,是另一個導致企業損失擴大的原因,許多企業只有在意外發生後,才開始與復原步驟進行第一次接觸。此時大部份的企業只能要求將資料回復至備份時間開始的地方,並會浪費許多時間在安裝作業系統、硬體或資料庫主體之後,才能進行復原工作,複雜的程序以及時間壓力,讓復原工作更形困難,無形中已造成巨大損失。


現有的備份軟體大多可以提供多種復原能力,包括針對單一檔案、檔案群組、整個磁碟機以及特殊應用程式例如資料庫等。然而,當發生root磁碟機或作業系統無法使用,必須進行完整的系統復原時,則必須先執行一項特殊的人工作業程序,就是重建電腦組態並提供必要的作業系統元件,讓備份軟體能夠復原必要的應用程式與資料主體後,才能再進行後續的資料復原動作。


以下則就現代企業常用的系統復原方法與缺失進行討論:
現行備份方法的缺失
重新安裝與復原 (reinstall-and-restore) 以及系統影像備份是目前最常使用的二種伺服器復原方法。一如我們將要指出的,這二種方法在整體完整性、一致性和復原效率方面都面對嚴峻的挑戰。


事實上,以人工進行檔案或系統回復是非常費時,而且在技術上很難實現,因?沒有自動和整體的解決方法,使用者或系統管理員將必須要費時又費力地恢復故障系統。這一恢復過程非常複雜,且通常要花費數小時,因它涉及以下一系列人工作業問題:


※修復或替換故障硬碟或設備

※收集關鍵系統配置資訊(假設它們己被存檔)

※人工進行硬碟的重新規劃分區和格式化

※人工進行作業系統的重新安裝

※人工進行更新設備、驅動程式和資料等的重新裝配

※人工進行備份程式的重新安裝

※搜尋最近一次備份的磁帶

※重新劃分備份磁帶目錄

※恢復備份在磁帶中的資料及應用程式



同樣的這些方式也存在著一些問題:


1.復原狀態無法確定

由於電腦重新安裝了基本作業系統和應用程式,因此從備份資料中復原的使用者資料和其他檔案,可能和現在執行的軟體不符。例如,如果電腦在復原前的應用程式更新版本(patch)比現在重新安裝的還新,那麼復原的資料檔案即可能無法在重新安裝的應用程式上正常作業。


有些系統本身就有一些安裝程式,可為電腦重新安裝一套與災難發生前之更新版本相同的作業系統和應用程式,例如Windows的緊急修復磁片、Solaris的JumpStart、HP-UX的Ignite-UX和AIX的NIM等。然而,這些安裝程式都會要求所有安裝的應用程式,必須經常與用戶端電腦的組態及軟體更新同步化。如果應用程式已升級或者安裝了作業系統更新程式(patch),但是與安裝程式相對應的組態並未更新,此時電腦將無法重新安裝災難前使用的軟體。


以複雜運算環境的系統管理本質而言,安裝程式所維護的組態往往和機器實際狀態不一致。再者,它們都是特定作業系統的專屬程式,且因平台種類不同而有所差異。這些差異性也就代表著管理者在每一個平台上發展的管理技術與程序,無法輕易地適用於其他平台。在這樣的環境中,通常必須由有經驗的管理者執行系統復原,而無法如一般技術工程師使用一種共同的工具在任意平台上進行系統復原工作。由於系統復原的程序本身就相當繁複,因此能夠同時進行復原程序的系統數量就會受到很大的限制。


2. 回復程序冗長且易出錯

重新安裝作業系統和應用程式,然後復原資料並修正組態,最後比對重新安裝和復原元件之間的差異等,這個程序需要花很長的時間。以這種方式復原系統將可能需要好幾天的時間,而且最後通常是不太可能完全地復原。再者,在整個復原程序中也有很多出錯的機會。這些錯誤很多都難以察覺,且需要再花好幾天找出問題並予以修正。


因此任何人工過程都難免出現人?錯誤,整個資料的回復過程中意想不到的風險會使本來就很棘手的工作更趨複雜化(例如網路設定參數、資料庫設定,系統安裝參數等)。其中一步的錯誤操作都可能導致前面所有工作毀於一旦,使用者、系統管理員或工程人員不得不花費更多的時間來重新操作。例如最常見的在最後復原備份磁帶的時候,系統管理員才猛然意識到對新更換的硬碟進行重新規劃分區時出現了錯誤,而這時他發現在回復檔案資料或資料庫時,會引起資料錯誤或應用程式損壞,遇到了這樣的情況,管理者將別無選擇,只有再重複一次整個系統安裝過程,並且這次要特別注意正確地規劃分區。或者,管理者可能直到回復完資料才發現所使用的備份磁帶不對,更糟的是,備份資料可能並不是當前資料,因此所有資料必須重新輸入。


人工回復的方式有很多缺點,不單要花費使用者、系統管理員或工程人員大量時間來恢復網路伺服器,過程亦非常複雜,且會帶來難以預料的結果。更重要的是,在恢復/復原過程中,伺服器是無法使用的。所以如果故障系統是一台運行重要業務應用程式或關鍵任務伺服器,且整個公司日常的運作都要依靠它時,那?故障不但會影響依靠伺服器的個人生?力,更會嚴重影響企業經營和成本效益。


再談談另一種備份方法回復時的缺點。某些作業系統可以利用快照(Snapshot)方法,為部份或所有的系統磁碟機資料建立備份。例如,IBM AIX的Mksysb和Savevg指令,或者Windows的Symantec Ghost等。直到最近,這些方案可以說是復原一台"完整"電腦的唯一方法。但是利用像這樣的Volume mapping備份回復則有以下缺點:


1.浪費儲存、頻寬與人力

使用類似像Volume mapping (如Syma

現行方法的失敗例子
在此舉例說明現行系統復原方法的缺點。某製造業的電算中心於每個週末都 使用此類工具做作業系統伺服器建立系統備份。這台機器的主要任務是當作NIS伺服器、網域名稱伺服器(DNS)以及一些應用程式的伺服器。


在某一個週一,系統管理者曾執行下列工作:


◆將二位使用者新增到NIS

◆將一台新應用程式伺服器的IP位址增加到DNS

◆安裝一個新應用程式

◆變更另一應用程式的組態



同一週的星期三颱風來襲,不幸的是屋頂漏水使得伺服器泡水了,造成無法修復的損毀。該公司最後找到一台相似組態的替代機器。管理者從原始伺服器的影像復原機器,將系統組態回復到上個週末的狀態。然後,管理者安裝所選用的Client備份軟體,並從備份主伺服器回復伺服器應用程式與資料,希望能將機器復原到星期二的狀態。


然而,一切卻無法順利達成。伺服器非但未能恢復預期的作業功能,而且系統管理者還必須解決下述問題:


1. 新增使用者的Home目錄和檔案都成功復原,但使用者無法存取。因為系統無法辨識這些新使用者,因為NIS資料庫是回復到上週末的狀態。

2. 使用者無法和新應用程式伺服器通訊,因為DNS組態檔並未包含該伺服器的IP位址。

3. 新安裝的應用程式是從備份軟體回復其可執行檔和資料,但系統組態資料庫並不知道該應用程式的存在,因為應用程式是在上一次系統備份之後才安裝的。更糟地,應用程式伺服器程序於開機時也不再能自動啟動,因為它在安裝時新增到/etc/inittab檔的登錄資訊已不存在。

4. 原先變更過組態的應用程式恢復到其舊有組態,因為它的組態檔是從過期的Server復原。



新解決方案:智慧型災難恢復工具
為了解決這樣的問題,後來改用了智慧災難恢復工具,這些工具是使用高度自動化的回復程序,只要一個指令,復原伺服器的步驟就會逐一自動執行,幾乎完全不需人為操作,確保100%的整體性和一致性。不論復原IBM AIX、HP-UX、Sun Solaris、Microsoft Windows NT和Windows 2000都使用相同的基本復原步驟。


同時,減少了人工介入,所以出現人?錯誤的可能性也得到最大程度的降低,而且,將恢復與備份/復原集成在一起,最大的差別在於每次排程備份前會自動記錄當時硬體設定資訊,包括TCP/IP設定在內。若相關設定更改,修正處會被自動抓取並在下一次排程備份時記錄下來,不需人為操作,因此可有效地提供自動化解決方案,其優點如下:


※將兩種獨立的過程集合在一起,減少了系統管理工作量

※利用智慧型的自動化系統復原工具將停機時間減到最少

※降低了對個人和企業工作效率的影響

※降低整體擁有成本

※簡化異常複雜的災難恢復技術流程



與前面提到的人工恢復過程不同,使用智慧災難恢復工具,系統管理員不需要瞭解詳細的網路配置,磁碟分區大小,用戶資料等。所有配置資料借助備份功能可自動得到保護,在災難恢復過程需要的時候就可以使用。由於消除了人?干預,智慧型災難恢復工具可確保系統正確恢復。透過自動化,與備份/復原技術集成?一體的災難恢復過程,這類的災難恢復工具實現了災難恢復過程的自動化和整體化,同時大大提高回復時的準確性和縮短了恢復關鍵資料所需的時間。(本文作者現職為精業股份有限公司主機週邊事業部產品經理)