如何保障數據的安全

1. 數據完整性概述

存儲是計算機中的數據可以說每天都在增加,與此同時,需要訪問這些數據的人數也在增長,這樣,無疑對數據的完整性的潛在需求也隨之而增長。
數據完整性這一術語用來泛指與損壞和丟失相對的數據的狀態,它通常表明數據的可靠與準確性是可以信賴的,同時,在不好的情況下,意味着數據有可能是無效的,或不完整的。
數據完整性方面的要點:存儲器中的數據必須和它被輸入時或最後一次被修改時的一模一樣;用來建立信息的計算機、外圍設備或配件都必須正確地工作;數據不能被其他人非法利用。
本章將從數據完整性和完整性的一般解決方法二個方面來論述數據完整性。
1.1. 數據完整性
對數據完整性來說,危險常常來自一些簡單的計算不周、混淆、人爲的錯誤判斷或設備出錯等導致的數據丟失、損壞或不當的改變。而數據完整性的目的就是保證計算機系統,或計算機網絡系統上的信息處於一種完整和未受損壞的狀態。這意味着數據不會由於有意或無意的事件而被改變或丟失。數據完整性的喪失意味着發生了導致數據被丟失或被改變的事情。爲此,首先將檢查導致數據完整性被破壞的常見的原因,以便採用適當的方法以予解決,從而提高數據完整性的程度。
在分佈式計算環境中,或在計算機網絡環境中,如果通過PC、工作站、服務器、中型機和主機系統來改善數據完整性已變得一天比一天困難。原因何在?許多機構爲了給它們的用戶提供儘可能好的服務都採用不同的平臺來組成系統,這彷彿擁有不同的硬件平臺一樣,使這些機構一般都擁有使用不同文件系統和系統服務的機器。E-mail交換系統成了對協同工作的網絡系統的需求;協議的不同需要網關或協議的轉換;系統開發語言和編譯器的不同也產生了應用上兼容性的問題,凡此種種,造成了系統之間通信上可能產生的問題。其結果使之處於一種充滿了潛在的不穩定性和難於預測的情況之當。
一般地來說,影響數據完整性的因素主要的有如下5種:
l 硬件故障
l 網絡故障
l 邏輯問題
l 意外的災難性事件
l 人爲的因素
1、硬件故障
任何一種高性能的機器都不可能長久地運行下不發生任何故障,這也包括了計算機,常見的影響數據完整性的硬件故障有:
l 磁盤故障
l I/O控制器故障
l 電源故障
l 存儲器故障
l 介質、設備和其它備份的故障
l 芯片和主板故障
2、網絡故障
在LAN上,數據在機器之間通過傳輸介質高速傳遞,用來連接機器設備的線纜總是處在干擾和物理損傷在內的多種威脅之中,使計算機之間難於通信或根本無法通信的事件,最終導致數據的損毀或丟失。網絡上的故障通常發生如下三個方面:
l 網絡接口卡和驅動程序實際上是不可分割的。在大多數的情況下,網絡接口卡、驅動程序的故障並不損害數據,僅僅使使用者無法訪問數據。但是,當網絡服務器上的網絡接口卡發生故障時,服務器一般會停止運行,這就很難保證被打開的那些文件是否被損壞。
l 網絡中被傳輸的數據對網絡所造成的壓力往往是很大的。網絡設備,例如路由器和網橋中的緩衝區不夠大就會發生操作阻塞的現象,從而導致數據包的丟失。相反,如果路由器和網橋的緩衝容量太大,由於調度如此大量的信息流所造成的延時極有可能導致會話超時。此外,網絡佈線設計上不正確性也可能網絡故障,影響到數據的完整性。
l 輻射本身就具有電子移動的能力,所以,輻射會給數據造成損壞是會自然的。控制輻射的辦法,採用屏蔽雙絞線或光纖系統進行網絡的佈線。
3、邏輯問題
軟件也是威脅數據完整性的一個重要因素。由於軟件問題而影響數據完整性的有下列幾種途徑:
l 軟件錯誤
l 文件損壞
l 數據交換錯誤
l 容量錯誤
l 不恰當的需求
l 操作系統錯誤
這裏:
軟件錯誤包括形式多樣的缺陷,通常與應用程序的邏輯有關。
文件損壞是由於一些物理的或網絡的問題導致文件被破壞。文件也可能由於系統控制或應用邏輯中一些缺陷而造成損壞。頗爲叫人煩惱的是如果被損壞的文件自己又被其它的過程調用而生成新的數據,這些新生成的數據是錯的,這是一類很難應付的問題。
當文件轉換過程中生產的新的文件,如果不具有正確的格式時便產生數據交換錯誤。
當軟件在運行時,系統容量,如內存等的不夠也是導致出錯的原因。
所有的操作系統都有自己的錯誤,這是衆所周知的,無需大驚小怪。此外,系統的應用程序接口(API)被第三方開發商用來爲最終用戶提供服務,這第三方根據公開發布的API功能來編寫其軟件產品,如果這些API不像所說的那樣工作就會發生數據被破壞的事件。
在軟件開發過程中,需求分析,需求報告沒有正確地反映用戶要求做的工作,系統只能停在那裏,生成一堆無用的數據。這種情況在數字位數已被固定而輸入的數字位數已被固定而輸入的數字位數超出了這個限制時是很典型的。如果出錯檢查程序未能發現這一情況,程序就會產生錯誤的數據。
4、災難性事件
常見的災難性事件有:
l 水災
l 火災
l 風暴——龍捲風、颱風、暴風雪等
l 工業事故
l 蓄意破壞/恐怖活動
5、人爲因素
由於人類的活動數據完整性所造成的影響是多方面的。人類給數據完整性帶來的常見的威脅包括:
l 意外事故
l 缺乏經驗
l 壓力/恐慌
l 通信不暢
l 蓄意的包袱破壞和竊取
1.2. 提高數據完整性的辦法
提高數據完整性的可行的解決辦法有二個方面的內容:首先,採用預防性的技術防範危及數據完整性事件的發生,其次,一旦數據的完整性受到損壞時採取有效的恢復手段,恢復被損壞的數據。下面所列出的是一些恢復數據完整性和防止數據完整性喪失的技術:
l 備份
l 鏡像技術
l 歸檔
l 轉儲
l 分級存儲管理
l 奇偶檢驗
l 災難恢復計劃
l 故障發生前的預前分析
l 電源調節系統
l 系統安全程序
l 備份
備份是用來恢復出錯系統或防止數據丟失的一種最常用的辦法。通常所說的Backup是一種做備份的操作,它把正確的完整的數據拷貝到磁帶等介質上,萬一系統的數據完整性受到了不同程度的損壞,可以用備份系統將最近一次的系統備份恢復到機器上去。作爲一個網絡管理員或系統員沒有任何藉口可以不做備份。
鏡像技術
鏡像技術是物理上的鏡像原理在計算機技術上的具體應用,它所指的是將數據原樣從一臺計算機(或服務器)上拷貝到另一臺計算機(或服務器上)。
鏡像技術在計算機系統中具體執行時一般有二種方法:
邏輯地將計算機系統或網絡系統中的文件系統按段拷貝到網絡中的另一臺計算機或服務器上
嚴格地在物理層上進行,例如建立磁盤驅動器、I/O驅動子系統和整個機器的鏡像。
歸檔
在計算機及其網絡系統中,歸檔有二層意思:其一,將文件從網絡系統的線存儲器上拷貝到磁帶或光學介質上以便長期保存;其二,將文件從網絡的在線存儲器上拷貝的同時刪除舊文件,使網絡上的剩餘存儲空間變大一些。通過歸檔,也可以把在線存儲器上刪除的文件轉入永久介質上的措施加強對文件系統的保護。
轉儲
轉儲與備份有其相同之處,但也有不同的地方。轉儲是指那些用來恢復的磁帶是如何到別處去的。這是與備份的最大不同之處。
分級存儲管理
分級存儲管理(hierarchical storage management——HSM)與歸檔很相似,它是一種能將軟件從在線存儲器上歸檔到靠近在線存儲器上的自動系統,也可以進行相反的過程。從實際使用的情況來看,它對數據完整性較使用歸檔方法具有更多的好處,但風險也更大。
奇偶校驗
奇偶校驗提供一種監視的機制來保證不可預測的內存錯誤不致於會引起服務器出錯以至造成數據完整性的喪失。
災難恢復計劃
災難給計算機落系統帶來的破壞是巨大的,而災難恢復計劃是在廢墟上如何重建系統的指導性文件。
故障前預兆分析
故障前預兆分析是根據部件的損壞或老化等情況並非一下子完全破壞的,而是有一過程,在這過程中,出錯的次數不斷增加,設備的動作也開始變得有點不可思議,根據分析,判斷問題的結症,以便做好排除的準備。
電源調節
這裏所說的電源是指不間斷電源,它是一個完整的服務器系統的重要組成部分,當系統失去電力供應時,這種後援的系統開始運做,從而保證系統的正常工作。
除了不間斷電源以外,電源調節還爲網絡系統提供恆定平衡的電壓。因爲,當負載變化時,電網的電壓可能會有所波動,這樣可能影響到系統的正常運行,因此,這種電源調節的穩壓設備是很有價值的。
系統安全程序
2. 網絡備份系統
網絡備份系統存在一個目的是,儘可能地恢復計算機或計算機網絡系統所需要的數據和系統信息。
網絡備份實際上不僅僅是指網絡上各計算機的文件備份,它實際上包含了整個網絡系統的一套備份體系。主要包括如下幾個方面:
l 文件備份和恢復
l 數據庫備份和恢復
l 系統災難恢復
l 備份任務管理
由於LAN系統的複雜性隨着各種不同的操作平臺和網絡應用軟件的增加而日趨增加,要對系統所做的完全備份的難度也有所增加,並非簡單的拷貝所能解決的,需要經常作調整,對那種簡單的要求進折衷。
2.1. 備份與恢復操作的種類
對於大多數網絡管理員來說,備份和恢復是一項繁重的任務,每天都要小心翼翼,不敢有半點的閃失。而備份的最基本的一個問題是:爲保證能恢復全部系統,需要備份多少以及何時進行備份?
2.1.1 備份
全盤備份
所謂全盤備份是將所有的文件寫入備份介質。全盤備份的方法較流行,因爲這是克服系統不安全的最直接了當的方法,操作起來也較簡單。通過這種方法網絡管理員可以很清楚地知道從備份之日起便可以恢復網絡系統上的所以信息。儘管如此,往往會有很多數據使網絡管理員無法每天做全盤備份而只能在週末進行全盤備份。其實,出於多方面的考慮,其中包括設備上的困難,很少有人喜歡大動干戈地進行全盤備份。
增量備份
增量備份指的是隻備份那些上次備份之後已經作過更改的文件,即備份已更新的文件。增量備份是進行備份的最有效的方法。試想,如果每天只需做增量備份,除了大大節省時間外,系統的性能和容量問題也可以得到很好的改善。
任何事物都有其二重性,增量備份的確具有不少的優點,但它通常依靠文件的系統屬性來識別作過改變的文件,這有時是並不可靠的。當然,這種不利的一面可能通過建立一個文件系統數據庫或某種記錄來標識新近更新的文件,這樣可能會很精確可靠,但也更可能導致其它的系統問題,有些問題或許是無法預見的。增量備份存在的另一個問題是,從所有磁帶中恢復數據所用的時間可能會很長。
對於一個有經驗的網絡管理員通常把增量備份和全盤備份一起使用,這樣可以提供快速備份。這種方法可以減少恢復時所需的磁帶數。
差別備份
差別備份是指備份上次全盤備份之後更新過的所以文件的一種方法。它與增量備份相類似,所不同的只是在全盤備份之後的每一天中它都備份在那次全盤備份之後所更新的所有文件,僅此而已。因此,在下一次全盤備份之前,日常備份工作所需要的時間會一天比一天更長一些。
差別備份可以根據數據文件屬性的改變,也可以根據對更新文件的追蹤來進行。
差別備份的主要優點是全部系統只需二組磁帶就可以恢復——最後一次全盤備份的磁帶和最後一次差別備份的磁帶。
按需備份
所謂的按需備份是指在正常的備份安排之外額外進行的備份操作。這種備份操作實際上經常會遇到。例如,只想備份若干個文件或目錄,也可能只要備份服務器上的所以必需的信息,以便能進行更安全的升級。
按需備份也可以彌補冗餘管理或長期轉儲的日常備份的不足。
排除
排除嚴格來說不是一種備份的方法。它只是把不想備份的文件保證不會被拷貝到介質上去的一類方法。其原因,這些文件可能很大,但又並不重要;也可能出於技術上的考慮,因爲在備份這些文件時總是導致出錯而又沒有排除這種故障的好辦法。
2.1.2 恢復操作
恢復操作通常可以分成如下二類:
l 全盤備份恢復
l 個別文件恢復
l 此外,還有一種被稱爲重定向恢復的恢復操作。
全盤恢復
全盤恢復通常用在災難事件發生之後或進行系統升級重組及合併時。
使用時的辦法較簡單,只需將存放在介質上的給定系統的信息全部轉儲到它們原來的地方。根據所使用的備份辦法的不同可以使用幾組磁帶來完成。
根據經驗,一般將用來備份的最後一個磁帶作爲恢復操作時最早使用的一個磁帶。這是因爲這個磁帶保存着現在正在使用的文件,而最終用戶總是急於在系統糾錯之後使用它們。然後再使用最後一次全盤備份的磁帶或任何有最多的文件所在的磁帶。在這之後,使用所有有關的磁帶,順序就無所謂了。
恢復操作之後應當檢查最新的錯誤登記文件,以便及時瞭解有沒有發生文件被漏掉的情況。
個別文件恢復
個別文件恢復的草較要求進行全盤恢復常見得多。其原因無非是最終用戶的水平不高而導致。
通常,用戶需要存在介質上的文件的最後一個版本,因爲,用戶剛剛弄壞了或刪除了該文件的在線版本。對於大多數的備份產品來說,這是一種相對簡單的操作,它們只需瀏覽備份數據庫或目錄,找到該文件,然後執行一次恢復操作即可達到恢復的目的。也有不少產品允許從介質日誌的列表中選擇文件進行恢復操作。
有的時候出於某種需要,要求得到一個比較老的版本。對於這種情況,由於大多數現今的軟件產品都提供這一類的功能,其中的一些產品好於另一種產品。用文件系統排序來選擇文件的歷次版本的產品通常比那些用登錄排序選擇舊版本文件的產品要快一些。這是因爲文件系統列表只需進行一次搜索;而基於登錄的方法,則需要瀏覽每一個登錄記錄一直到找到該文件的正確版本爲至。建立登錄索引可以減少這個問題。
重定向恢復
所謂的重定向恢復指的是將備份文件恢復到另一個不同位置或不同系統上去,而不是進行備份操作時這些信息或數據所在的原來的位置。重定向恢復可以是棋盤恢復或個別文件恢復。
一般來說,恢復操作較備份操作容易出問題。備份操作只是將信息從磁盤上拷貝出來,而恢復操作需要在目標系統上建立文件,在建立文件時,往往有許多別的東西可能會出錯,其中包括容量限制、權限問題和文件被覆蓋等錯誤。
備份操作不必知道太多的系統信息,只需拷貝所指定的信息就可以了。恢復操作則需要知道那些文件需要恢復哪些文件不需要恢復。例如,一個大型應用軟件被刪除了,一個新安裝的應用軟件又佔據了它原來的位置,又假設,在某一天,系統出了問題,需要從磁帶進行恢復,會發現舊的應用軟件的刪除對恢復操作而言是十分重要的,這樣,它就不會既恢復舊的應用軟件又恢復新的應用軟件,以至用完了服務器的硬盤並再次使系統崩潰。遇上這類問題除了找人諮詢外,需首先了解該備份軟件是如何解決這類問題的,千萬不能想當然,自作聰明!
2.2. 網絡備份系統的組成
備份從表面上來看非常簡單,但在實際上,要求提供功能完備的備份和恢復軟件,其中仍包含了大量的複雜性。爲了對網絡備份有一個透徹的瞭解,下面將對網絡備份組成部件和網絡備份系統的組成作一介紹。
2.2.1 網絡備份組成部件
網絡備份有如下四種基本部件組成:
l 目標 目標是指被備份或恢復的任何系統
l 工具 工具是執行備份任務(如把數據從目標拷貝到磁帶上)的系統
l 設備 設備通常指將設備和聯網計算機連接在一起的電纜和接頭。在局域網備份中SCSI總線通常將設備和備份工具連接起來。
基本的備份系統
基本的備份系統有下列二種:
l 獨立服務器備份
l 工作站備份
獨立的服務器備份是最簡單的備份系統,它是將上面四種部件連在一起而構成。該系統包括一臺把它自己備份到一個SCSI磁帶驅動上的服務器。
工作站備份方法是由獨立服務器備份演變過來的,它將工具、SCSI總線和設備移到網絡的一個專用的工作站上。
服務器到服務器的備份
服務器到服務器的備份系統與獨立服務器備份和工作站備份有些相似,這是目前最爲常用的一種局域網備份的方法。
專用網絡備份服務器
考慮到兼作備份工作的生產用服務器可能回發生故障或出現其它問題,有些部門或機構往往把工具、SCSI總線和設備放在專用的服務器系統上,這種方法與工作站備份有些相似,只是從備份系統的性能和兼容性的考慮纔將工作站換服務器。
2.2.2 備份系統的組成
備份是一個系統,它有下列部分組成:
l 物理主機系統
l 邏輯主機系統
l I/O總線
l 外部設備
l 設備驅動軟件
l 備份存儲介質
l 操作調度
l 操作執行
l 物理目標系統
l 邏輯目標系統
l 網絡連接
l 系統日誌
l 系統監控
l 系統管理
上述這些備份的組成部分必須在一起工作才能組成一個可靠的系統。當對備份系統進行修改時,必須保證新的解決方案在各個組成部分上的負荷是平衡。
下面將對備份的組成部分進行詳細討論。
物理主機系統
物理主機系統是主要的備份邏輯在其上執行的機器。它可以是一個高性能的計算機,也可以是一臺Unix工作站,也可以是任何進行備份的硬件。由於物理主機系統是一臺硬設備,其CPU和I/O總線都允許各不相同,因此,備份的性能會受到來自機器自身的限制。
邏輯主機系統
邏輯主機系統實際上在備份系統中服務的操作系統。OS根據其自己的結構提供I/O功能。備份性能的好壞與操作系統有着很大關係。
I/O總線
I/O總線是機器的內部總線,包括在前面已經介紹過的SCSI的外部總線。內部總線用於傳輸數據,而外部總線用來連接存儲設備。
目前,大多數PC系統中,包括使用EISA和PCI這樣高速總線結構的系統,其傳輸數據的速度都低於5Mbps。如果總線速度達到了這個極限,就表明系統總線已經成了瓶頸口,同時,也表明存儲硬件的速度已經足夠快了。
在部分Unix系統中,有比較快的總線結構,大約每秒可達15Mbps。
最常見的用於存儲設備連接的外部總線是SCSI。值得注意的是,大多數SCSI總線速度都超過系統總線速度。
另一種總線是PCI,它是一種可以進行調節以適應高速數據傳輸的結構。
SCSI技術對比
SCSI總線
速度(Mbps)
能連接的設備數
常規SCSI,8位傳輸
5
7
快速SCSI(用增強協議)
10
7
寬帶SCSI,比位傳輸
10
15
快速寬帶SCSI
20
15
超高速SCSI,8位
20
15
超高速SCSI,16位
40
15
多個SCSI設備可以用一種被稱爲“菊鏈”的技術到單個SCIS PC適配器上。
外圍設備
外圍設備指的是磁帶驅動器、磁盤驅動器、光盤驅動器、RAID系統等可以對其讀寫數據的設備。這些設備中的大多數的傳輸速度較系統總線慢,並且沒有一種能充分使用SCSI總線所提供的傳輸速度。
設備驅動軟件
設備驅動軟件是與設備接口的低層代碼,用於控制設備運行的方式。適配器的ASPI(Advanced SCSI Programming interface,高級SCSI編程接口)是PC網絡市場上的事實標準。因此,可以說所有的備份系統都支持ASPI。
不同的設備驅動程序可能對SCSI系統的性能和可靠性有極大的影響。在一般的情況下,更換SCSI驅動程序並不是一個好主意,除非有充分而又足夠的理由。
備份存儲介質
備份系統中的存儲介質主要指的是磁帶與光盤等。它們對其進行讀寫操作的設備實際是不可分的。
備份計劃
備份計劃是決定每天備份時需要做什麼;對什麼數據進行備份。有些備份系統已爲備份操作提供了許多計劃方面的靈活性和自動性。
操作執行者
操作執行者又稱爲備份工具,它是一組備份操作的代碼,即在備份操作中負責大部分工作的程序,它的好壞直接影響着操作的效率,甚至影響到恢復操作。
物理目標系統
物理目標系統是指數據從其上拷走的機器。同備份主機系統的硬件平臺一樣,目標機器的硬件平臺也能影響備份的性能。
邏輯目標系統
邏輯目標系統又稱代理,在上面當然運行操作系統和應用軟件。對備份而言,目標的邏輯含義是對操作執行者的要求作出一個響應的代理。該代理的主要任務是將文件和其他的系統數據通過某種方法提供給備份工具。作爲邏輯目標系統必須掌握目標文件系統的詳細情況和不在目標文件系統中的其他系統數據。
質量差的目標軟件會對備份操作的整體性能產生嚴重的影響,甚至會造成備份工具的崩潰。一個運行速度特別慢的目標會影響到備份工作能否按時完成。
網絡連接
網絡連接可以是路由器、網橋、開關、集線器、線纜或任何其它處於網絡上的計算機之間連接任何東西。當數據在網絡傳遞的時候,如果網絡設備超負荷運行並開始丟失數據包時就會發生一種常見的現象,其中包括文件損壞、失去目標、甚至會造成備份系統的故障。正因爲如此,在對網絡連接設備進行投資之前最好對網絡上的備份系統負載有一些真正的瞭解。
網絡協議
網絡協議包括IPX/SPX、TCP/IP等。在網絡上通過何種協議實現什麼服務,以及這些服務的可靠程度是需要考慮,這也是局域網備份中存在的一個令人頭痛的問題之一,它有時會使備份的性能下降,甚至導致通信會話過程關閉或失敗,從而引發備份系統難以預料的行爲發生。
系統日誌
系統日誌可以理解爲一個數據庫文件,它記錄了哪些文件被備份到哪個設備上去了,他們什麼時候被備份的,這些文件的系統屬性是什麼,以及備份工具開發者認爲重要的任何信息的詳細記錄。
系統監控
系統監控是一種管理員界面。在客戶機/服務器結構的網絡系統中該界面運行在GUI界面的客戶機平臺上,而備份存儲設備則接在服務器上。在備份工作進行時,由於監控程序需要在網絡上傳送數據從而增加了網絡額外負載,導致備份系統性能的降低。因此,如果不需要對備份工作進行監控的話,最好把備份系統的監控界面關閉。
系統管理
隨着網絡系統規模的擴大,要求在網絡上觀察其備份系統的狀態變得越來越重要。因此,能完成這種功能網絡管理成了一種需求,以便能觀察到備份運行的情況,提供備份的詳細信息。此外,也可以通過簡單網絡管理協議——SNMP(Simple Network Management Protocol)來發現任何警告或其它問題。
2.3. 備份和恢復的設備與介質
備份系統中用於備份與恢復的設備和介質主要的有:
l 磁帶介質
l 光學介質
l 磁帶介質
磁帶介質爲什麼被作爲重要的備份設備其原因有:
磁帶具有較好的磁化特性,容易在它上面讀、寫數據
磁帶上的數據不會被與之相鄰的同一磁帶上別的數據處於低強度磁場的影響
磁帶的各層不能相互分開或出現剝落現象
磁帶具有很好的抗拉強度,不容易被拉斷
磁帶具有很好的柔軟度,這樣確保了通過磁帶機時可以卷得很緊並可以很容易地被彎曲
正由於上述的原因,磁帶被選作專用於數據記錄。
用於數據的磁帶記錄方法需要採用一些完善的糾錯技術以保證數據能正確無誤地讀寫。通常30%的磁帶表面被用於保存糾錯信息。當數據被成功地寫入磁帶時,糾錯數據也和其一起寫入,以防止磁帶在使用它進行恢復工作之前出現失效現象。如果磁帶上的原始數據不能正確地被讀出,糾錯信息就被用來計算丟失字節的值;如果磁帶機驅動器無法重建數據,就會給SCSI控制器發出一條出錯信息,警告系統出現了介質錯誤。
在對磁帶進行寫的過程中,需要用另一個磁頭進行一種寫後讀取的測試以保證剛被寫入的數據可以被正確讀出。一旦這種測試失敗,磁帶就會自動進到一個新的位置並再一次開始億嘗試。重寫了數次後,驅動器就會放棄並向SCSI控制器發出一個致命介質錯誤的出錯信息。這時備份操作就失敗,直到新的磁帶裝入驅動器中。
磁帶的種類
磁帶從其技術上來說可以分爲如下幾種:
QIC(Quarter-inch Cartridge),代表1/4英寸盒式磁帶。這種介質被看成是獨立備份系統的低端解決方案,容量和速度較低,不能用於LAN系統。
4mm磁帶,簡稱DDS。這種磁帶的存儲容量能達到4GB。DDSIII可達到8GB的容量。
8mm磁帶,其容量未經壓縮可達到7GB。超長帶(160m)可達14GB。這種磁帶的數據可交換性較4mm容易。
數字線性磁帶(Digital Linear tape)或稱DLT。這種磁帶的性能和容量較好。DLT2000可寫入10GB數據,在壓縮情況下,可達20GB;DLT4000則有20GB的容量。使用壓縮技術則可達到40GB
3480/3490,它用於主機系統中的高速設備介質。
磁帶的維護
保存在磁帶上的數據是一種財富,一種資源,因此,對磁帶設備介質的保養、維護的工作不是可有可無的工作。通常對磁帶設備介質的維護有如下幾點:
定期清洗磁帶驅動器
貯藏擱置的磁帶至少每年“操作”一次,這樣可以保持磁帶的柔軟性並提高其可靠性
當備份系統收到越來越多的磁帶錯誤信息時,首先應懷疑磁頭是否發生故障,將磁頭清洗數遍,如仍發生大量錯誤,則需要考慮更換新的磁頭。
光學介質
光學介質技術是將從介質表面反射回來的激光識別成信息。光學介質上的0和1以不同的方式反射激光,這樣光驅就可以向光軌上發射一束激光並檢測反射光的不同。
磁光介質
可讀CD(CD-ROM)
磁光盤,或稱MO(magnetic-optical),是所有的現有介質中具有最好的持久性和耐磨性的一種介質。它允許進行非常快速的數據隨機訪問,正是這種特性,MO特別適合與分級存儲管理應用。但由於MO的容量至盡仍不能與磁帶相比,因此,它未被廣泛用於備份系統。
可讀CD,即CD-ROM,目前因爲速度太慢和進行多進程介質寫入所遇到的技術困難,它至少在目前還不能適應於網絡備份的要求。
提高備份性能的技術
當對大量的信息進行備份時,性能便成了非常重要的問題。被用於提高網絡備份性能的技術有:
l RAID技術
l 設備流
l 磁帶間隔
l 壓縮
l RAID
磁帶是備份系統常用的一種設備介質。磁帶在記錄磁頭上移動所需的時間是一個瓶頸口,是影響備份速度的一個重要因素,而解決這瓶頸問題的一種行之有效的辦法是採用磁帶RAID系統。磁帶RAID的概念與磁盤RAID相類似,數據是“帶狀”通過多個磁帶設備的,因此,可以獲得特別快的傳輸速率。但是,由於磁帶在操作過程中總是走走停停,一旦當驅動器清空了緩衝器後等待下一次數據到來時,往往會導致速度的大幅下降,這是RAID方法的一大不足之處。此外,這種方法在數據恢復操作時存在可靠性問題,因爲要正確地恢復數據就要對多臺磁帶設備進行精確的定位和計時,這是一件較爲困難的任務。不過,該技術仍然有希望用於需要最高的速度和容量的情況下。
設備流
設備流指的是讀寫數據時磁帶驅動器以最優速度移動磁帶時所處的狀態,只有磁帶驅動器處在流的狀態才能達到最佳的性能。顯然,這需要使磁帶RAID系統中的所有設備都處於流狀態下工作。
爲此,SCSI主機適配器必須持續地向設備緩衝器中傳輸數據。遺憾的是, 大多數LAN的傳輸能力還不能足夠快地爲備份應用程序提供足夠的數據使設備的緩衝器處於滿載的狀態。這就是說,設備流技術可以提高備份的性能,但要將設備保持在100%的流狀態是有一定的困難的。
磁帶間隔
磁帶間隔將來自幾個目標的數據連接在一起一併寫入同一個驅動器中的同一盤磁帶上。這實際上是它將數據一起編寫在磁帶上。這樣便解決了上面提到的問題。
壓縮
有內置壓縮芯片的設備能夠提高備份的性能。這些設備當往介質上寫數據時首先對它們壓縮,這樣做後所帶來的性能的提高的程度比壓縮率略小或相等。對於PC LAN上的大多數數據來說壓縮率可達到2:1,這就是說,設備的流速度在壓縮數據時是不壓縮時兩倍!
此外,可以通過網絡自身的性能來提高備份的性能。在大型的備份系統中可採用SCSI控制器提高SCSI設備的運行效率,但在SCSI主機適配器上接過多的設備反而影響其性能,通常所接的設備數不超過三個爲妥。
2.4. 磁帶輪換
磁帶無疑是網絡備份系統主要的備份介質,而磁帶輪換是建立備份策略時遇到的首要問題之一。所謂的磁帶輪換實際上是在備份過程中使用磁帶的一種方法,它是根據某些預先制定的方法決定應該使用哪些磁帶。由於數據是存放在磁帶之中,一旦需要對數據進行恢復時,如果信息量不大,存放信息的磁帶相應來說也不多,在這種情況下使用備份帶可能問題不會太大;如果存儲數據的磁帶數量較多,那麼建立一個對磁帶管理的系統將是十分有用的,對數據的恢復是很有幫助的。
磁帶輪換的主要功能是決定什麼時候可以使用新的數據覆蓋磁帶上以前所備份的數據,或反過來說,在哪一個時間段內的備份磁帶不能被覆蓋。例如,磁帶輪換策略規定每月最後一天的備份要求保存三個月,那麼,磁帶輪換就可以幫助保證三個月過去之前數據不會被寫到這些磁帶上。這樣能幫助減少在備份操作過程中可能出現的人爲錯誤,不致於在錯誤的時間段內把錯誤的磁帶插入驅動器從而導致數據的丟失或數據的破壞。
磁帶輪換的另一個好處是能夠使用自動裝帶系統。把自動裝帶系統和磁帶輪換規則聯合起來使用可以減少人爲而引起的錯誤,使得恢復操作變得可以預測。
磁帶輪換主要有如下幾種模式:
A/B輪換,在這種方式中,把一組磁帶分爲A、B二組。“A”偶數日使用,“B”在奇數日使用,或反之。這種方式不能長時間保存數據。
每週輪換,這種方式每週換一次磁帶。這種方法當數據較少時很有效。
每日輪換,它要求每一天都得更換磁帶,即需要有7個標明週一到星期日的磁帶。這種方式,在聯合使用全盤備份和差別備份或增量備份時較有效
每月輪換,它通常的實現方法是每月的開始進行一次全盤備份,然後在該月餘下的那些天裏在其他的磁帶上作增量備份
祖、父、孫輪換,它是前面所講的每日、每週、每月輪換的組合
日曆規則輪換方法,它是按照日曆安排介質的輪換。根據此方法,可以爲每次操作設定數據保存的時間,而不是爲某組階段性磁帶設定保存時間
混合輪換,這是一種按需進行的備份,作爲日常備份的一種補充
無限增量,該模式的方法是隻需做一次全盤備份,也就是在第一次運行該系統以後只需執行增量備份。在恢復操作時,該系統能合併多次備份的數據並寫到其他更大的介質上。這種模式要正常運行就得用精確的數據庫操作。
除上述所講的磁帶輪換模式外,還有基於差別操作、漢諾依塔輪換模式等,這裏不一一介紹。
2.5. 備份系統的設計
網絡備份實際上不僅僅是指網絡上各計算機的文件備份,它實際上包含了整個網絡系統的一套備份體系。因此,在對某一具體的網絡系統進行備份設計時需要對網絡系統的現狀做詳細分析,在此基礎上,根據實際的備份需求提出備份方案的設計,千萬不能想當然,或把他人的系統照搬。
系統現狀分析及備份要求
系統的現狀分析的內容包括:
l 網絡系統的操作平臺
l 網絡所採用的數據庫管理系統
l 網絡上運行的應用系統
l 網絡系統結構以及所選用的服務器等
l 對網絡備份系統的要求主要有:
l 備份的數據需要保留的時間
l 對數據庫的備份是否要求在線備份
l 對不同操作平臺服務器要求以低成本同地實現備份
l 是否需要一套自動恢復的機制
l 對恢復時間的要求
l 對系統監控程序運行的要求
l 對備份系統自動化程度的要求
l 對網絡前臺工作站信息備件要求
l 說明現已採用的備份措施等
備份方案設計
一套完整的備份方案應包括備份軟件和備份介質的選擇,以及日常備份制度和災難性的應急措施。
備份軟件
備份軟件的選擇對一個網絡系統來說是至關重要的,它的選擇必須滿足前面所講到全部需求。
對於一個PC LAN來講CA公司的RAC Serve可說是一個較好的能滿足上述要求的備份軟件。CA的備份軟件採用提主程序加選的組織方式,主程序可以完成大部分的常用功能,比較特殊的功能則由各個選件來完成。
備份介質
常見的備份介質當然首選是磁帶。當然,根據實際情況也可以考慮其它的介質。
日常備份制度
日常備份制度,如果決定採用磁帶作爲備份的介質,那麼,可以根據上一節——“磁帶輪換”中所介紹的幾種模式,選擇其中的一種或幾種模式作爲日常備份制度。
備份方案的實現
備份方案的實現包括下列幾個方面:
l 安裝。包括應用系統,備份軟件以及磁帶機的安裝
l 制定日常備份策略
l 文件備份
l 數據庫備份
l 網絡操作系統備份
l 工作站內容備份
基於CA ARC server的備份方案設計
網絡系統備份涉及到文件備份、數據庫備份、應用程序備份等多個方面,在多數環境下還要實現跨平臺的備份。根據系統的實際情況設計合理的備份方案至關重要。
常見的備份方式有集中備份和本地備份二種。一個網絡系統採用哪一種備份方式在很大程度上取決於網絡的規模。
集中式備份對小型網絡系統較爲適用。集中式備份的優點是硬件投資少,操作簡單,它的主要的缺點是對網絡速度要求較高。
對於大型網絡系統應使用本地備份方式,即將大型網絡劃分成若干小型子網,每一子網都使用集中方式進行備份。本地備份的優點是不依賴於網絡速度,備份速度高,響應時間短。它的主要缺點是硬件投資較高,每個子網都需要安裝備份系統。
CA ARC Server 簡介
CA ARC Server是一個跨平臺的網絡數據備份軟件,在數據保護、災難恢復、病毒防護方面均提供全面的產品支持,目前已成了業界事實上的標準。
ARC Server具有如下幾個方面的特性:
l 全面支持和保護Netware和Windows NT操作系統
l 支持打開文件備份
l 支持對各種數據庫如Sybase、Oracle、Betrieve等的備份
l 支持從服務器到工作站的全面網絡備份
l 備份前掃描病毒,可以實現無毒備份
l 可以實現無人值班的自動備份
l 支持災難恢復
ARC Server備份系統的組織模式是主模塊+選件(option)。主備份程序只完成通用的備份功能,而比較特殊的備份功能由選件來實現。ARC Server主模塊在Netware和Windows NT下分別有二個版本——ARC Server for Netware和ARC Server for Windows NT。
CA ARC Server備份方案
環境
二臺Netware服務器,一臺爲文件服務器,另一臺爲數據庫服務器,運行Betrieve。要求實現整個網絡的數據及系統備份。
方案
方案一:將數據庫服務器作爲備份服務器,ACR Server軟件配置爲:ARC Server for Netware+Diasater Recobery Option
可以實現如下功能:
l 整個網絡中非活躍文件備份
l 數據庫關閉狀態備份
l 系統關鍵信息(NDS或Bindery)備份
l 系統災難恢復
方案二:將數據庫服務器作爲備份服務器,ARC Server軟件配置爲:ARC Server for Netware+Disaster Recovery option+Backup Agent for Betrieve
可以實現如下功能:
l 整個網絡非活躍文件備份
l 數據庫打開狀態備份
l 系統關鍵信息(NDS或Bindery)備份
l 系統災難恢復
方案三:將數據庫服務器作爲備份服務器,使用磁帶庫作爲備份硬件。ARC Server軟件配置爲:ARC Server for Netware+Disaster Recovery option+Backup Agent for Betrieve+Backup Agent for open files+Tape Library
可以實現以下功能:
l 整個網絡文件備份,包括活躍狀態文件
l 數據庫打開狀態備份
l 系統關鍵信息(NDS或Bindery)備份
l 系統災難恢復
l 備份數據的RAID容錯
l 無人值班備份
l 在工作站上安裝對應平臺的備份代理程序,即可實現Windows 95/98,Macintosh以及DOS平臺的數據備份。
2.6. 備份的誤區
長期以來,人們把備份僅僅看作一種簡單的從磁盤的拷貝,因此,忽視了備份的重要性,對備份存在着一種錯誤的認識。
2.6.1 爲什麼要備份
在討論備份的誤區之前先陳述爲什麼要對數據作備份的幾個理由:
l 電器的物理損壞,尤其是硬盤驅動器的毀壞,使數據丟失
l 人爲的錯誤,如偶然地刪除文件或重新格式化硬盤
l ***通過遠程侵入計算機網絡系統並造成關鍵數據的丟失
l 硬盤驅動器或硬盤被病毒感染
l 盜竊
l 自然災害對網絡系統造成的破壞
l 電源浪涌,損害硬盤驅動上的數據
l 電磁干擾使文件被清楚等
綜上所述,數據備份並非是可做可不做的事,對於一個計算機系統或計算機網絡系統來說建立備份是必須的。
但是,對數據備份存在着非同一般的錯誤的認識。
2.6.2 備份的誤區
備份的誤區主要存在於下列三個方面:
l 拷貝
l 磁盤陣列
l 利用系統提供的備份命令
l 拷貝
l 拷貝是實現數據備份的一個手段,但它不是備份的全部。因爲:
l 拷貝不能保存檔案的歷史記錄
l 備份可保存目錄服務記錄及重要的系統信息
l 磁盤陣列
磁盤陣列(RAID)對數據的安全性在某種程度上是可取的,但把RAID作爲備份是錯誤的,其理由:
l RAID 的主要用途是保證在線,(即時資料)
l RAID並沒有保留第二份或更多的歷史資料
二個磁盤同時毀壞了怎麼辦?
成本,RAID的投資與磁帶機的投資比較,當容量越大時就越明顯
系統備份命令
通常,大家所熟悉的系統所提供的備份命令,如Backup等與備份是有所不同的。主要的不同之處表現在下面幾個方面:
不具備容錯的功能
不具備開放性
對異構網絡無法進行備份
對大型、超大型數據庫無能爲力
3. 歸檔和分級存儲管理
歸檔和分級存儲管理(Hierarchical Storage Management,HSM)是檢查從在線系統上移動數據的二種不同的方法。在信息社會中,數據的增長之快、之多,往往被稱作信息爆炸。網絡系統中數據的持續不斷的增長,向人們提出這樣的一個非常現實的問題;如何去管理好網絡系統中的數據?如何才能最有效地管理網絡數據作出行之有效的決定。這是本章的內容所在。
3.1. 歸檔的基本概念
數據的完整性通常會受到在線系統問題的影響,其中,系統自身的故障或出錯是常見的影響數據完整性的一個方面,但是,人爲的錯誤或者人爲的有意識的毀壞是影響數據完整性的又一個原因。最大限度地減少這類問題的一種常用的方法是將數據從在線系統上移到脫線的存儲器上,將數據從機器上轉移到可移動的介質上,這樣可以防止對數據所造成的種種威脅和損害。歸檔與備份一樣,都是爲了數據完整性而採取的一種有效的和直截了當的方法。
歸檔的目的
如果說備份的主要目的是恢復由於某些原因損毀或丟失的數據,那麼,數據的歸檔是爲了對數據的長期保存,甚至於永久性的保存。備份對數據的保存相對來講較短,一天、一個星期、或幾年,但通常不會超過2-3個月,而且,備份通常需要每天進行,而歸檔通常就不那麼頻繁了。
歸檔的定義
所謂歸檔是指數據拷貝或打包以便能進行長時間的歷史性保存。它的一個很重要的作用是幫助LAN系統管理員將文件或信息從服務器磁盤上刪除,寧可在以後需要的時候再從脫線的存儲器中訪問,這樣不但充分而合理地使用了磁盤資源,而且,這部分數據的安全性和完整性得到了很好的保護,可謂是兩全俱美。
歸檔操作
主要的歸檔操作有二種:
l 歷史性歸檔
l 容量管理
l 歷史性歸檔
正如前面所述,歸檔的一個理由是對數據的長期保存。對於一個機構或一個部門來說,大量的文件,包括人力資源信息,各類分析報告、工程圖、水圖象等等,對於其中的部分文件可能已經沒有任何使用價值的,可以刪除,但對極大部的文件來說,具有一定的使用價值或歷史價值的歸檔及進行長期保存,在急需的時候可以對它們進行恢復,其經濟意義和歷史意義是不容置疑的。
容量管理
對數據進行歸檔除了需要對有價值的數據長期保存外,另一個原因是在線系統上的數據實在太多,服務器磁盤的自由空間日趨縮小,當磁盤的自由減少到一定程度,操作系統想往磁盤上存放超出其容量的數據時很可能嚴重影響到數據的完整性。在LAN環境下,這還可能同時影響多個用戶的數據。
解決服務器磁盤容量問題的一個最常用的辦法是網絡管理員或系統管理員在發現將要發生磁盤容量問題時立即刪除被認爲不重要的文件和目錄。慶幸的是,備份系統能夠在發生錯誤時可以對它進行恢復。
爲了保留磁盤空間而進行歸檔這並不是什麼新的注意,實際上,很多很多人早就做了。這種做法的好處是文件系統的管理工具正變得更好用,而且功能也更強大,然而,不能提供所需的設備和介質的支持。
歸檔文件的選擇
每當決定對系統中文件歸檔時,首先需要考慮的問題是對哪些文件進行歸檔,這實際上也是一個歸檔的策略。通常,有四個文件系統變量作爲進行選擇歸檔文件的依據。這四個變量是:
l 文件的大小
l 時間(文件從最後依次更新起的時間)
l 目錄
l 屬主關係
根據經驗將上述四個變量聯合起來用更爲好一些,當然,這並非是絕對的,有時採用簡單的策略會使管理變得更容易。
四個文件系統變量具體用法:
變量
用處
例子
文件大小
容量管理
歸檔所有大於100Mb文件
時間
歷史性歸檔
歸檔所有超過一年末
(從最後一次更新起的時間)
容量管理
被更新的文件
目錄
歷史性歸檔容量管理
用一個目錄作爲歸檔貯存處其中的每一個都被歸檔
屬主關係
歷史性歸檔
由某人一小組成員或項目成員建立文件都歸檔
3.2. 歸檔的方法
目前,可供選擇的用於歸檔文件的產品不少,其中有的是面向系統軟件的,有的則是面向應用的。不幸的是,到目前爲止,幾乎所有的文檔管理軟件雖然都包括了歸檔文件的方法,包括爲歷史性歸檔和容量管理歸檔的,但還沒有一種產品能包括對磁帶或光學驅動器的設備支持。因此,歸檔功能受到了一定的限制,只能屈就選擇的文件移動到一個特別的目錄中以完成歸檔任務。
通常使用的歸檔方法有如下幾種:
l 文檔管理
l 壓縮歸檔
l 用備份系統歸檔
映象系統
下面對這幾種方法做詳細的介紹。
文檔管理
文檔管理系統所管理的對象是網絡上一些已經定義過的文檔組。所採用的搜索方法撥款關鍵字、文本串、文件名、所以權,甚至模糊語言匹配算法等。它可以快速地尋找所需的文檔。
文檔管理系統在對文件歸檔的時候,首先選擇一些符合歸檔判據的文件,這些判據通常是時間(最後一次備份的時間),然後,文檔管理系統將這些文件移入到作爲存放處的目錄中保存,直至文件被寫入移動介質中或被刪除。
文檔管理系統的管理人員應該定期檢查該目錄,將其中的文件寫入移動介質,通常是磁帶上。
文檔管理系統做歸檔的一種方法的確可以使用,但這種方法存放在二點不組之處:
磁帶管理中沒有冗餘配置
操作過程是手工與自動的混合,無完整性檢查,無法保證所有的文件在被刪除之前的確已被寫入磁帶。
壓縮歸檔
壓縮歸檔的方法是PC網上頗爲流行的一種歸檔方法。它的基本原理是用數據壓縮工具對數據進行壓縮,使其所佔用的磁盤空間少一些,然後定期地將其拷貝下來存放在其他地方或將它刪除。
壓縮歸檔的方法使用十一般用文件系統工具按照文件的大小、最後一次更新的時間和文件的所有者來識別和選擇文件。在檢查過選出的文件後,管理員使用壓縮工具將文件壓縮並刪除原始文件。在壓縮過程中,壓縮工具將文件組合在一起壓縮成一個大的壓縮文件,而不是一個壓縮文件僅對應於一個原始的末壓縮文件。通常這種壓縮方法能節省高達70%的磁盤空間。
使用壓縮歸檔的方法要求LAN系統管理員必須詳細記錄包括目錄、磁帶和壓縮文件在內的所有信息。
儘管這種壓縮歸檔的方法在PC網上較流行,適合於數據管理,但這種方法的一個致命的缺點是容易出錯。此外,使用該方法時其操作過程沒有一定的規則,造成很多人爲的不利因素在其中,也沒有提供簡單的工具讓最終用戶找到所需的那些文件,更沒有強制性的冗餘策略來保證數據不會由於介質損壞而丟失。
用備份歸檔
使用備份系統進行歸檔是另一個常用的歸檔方法。採用這種方法進行歸檔首先需要確定對那些文件進行歸檔,然後進行一次備芬操作將那些文件存放在可移動的介質上,最後把那些文件刪除。這種方法的最大的特點是,它提供了文件管理系統和壓縮歸檔都缺乏的設備和介質寫入操作功能。儘管如此,備份系統歸檔仍沒有建立介質冗餘的機制,除非用戶自己動手來做這件事情。這可以通過往不同的磁帶上多次寫入同樣的數據來實現,例如,往三個不同的磁帶上進行三次不同的備份操作。
需要指出的是用備份系統進行歸檔的磁帶,有可能在無意中被錯誤地用在備份操作中。這就是爲什麼冗餘拷貝如此重要的原因。
在LAN備份產品中也有提供一些歸檔文件的功能,這些功能被稱爲磁盤修飾或文件遷移。但它也不提供對介質上的文件的校驗。即使備份系統也有一些進程日誌或數據庫能用來追蹤文件,但這些信息對最終用戶來說並不是總可以訪問的。何況備份系統中的日誌功能或數據庫並不會保存很長時間。作爲一個解決方法,在歸檔文件時最好也將日誌文件或數據庫備份到同一磁帶上。甚至可以採用一個單獨的系統來幫助追蹤,歸檔文件。這樣增加了額外的負擔,但在今後進行文件恢復時會有幫助的。
映象系統
一般來說,映象系統不適合於大型文件系統的歸檔,但它爲某些大容量應用程序提供歸檔的功能。從爲用戶定位文件來說,映象系統和文檔管理系統有其想象的地方,二者之間的主要區別在於映象系統通常有集成化的設備支持功能。映象系統產品中的大多數都有一個包括唱機式設備在內的應用程序包。唱機式設備使系統可以在不佔用服務器磁盤存儲容量的情況有效地運行。
映象系統對於無紙辦公應用程序是再好不過的大獻身手的地方。在這些應用中,文件是採用電子方式錄入的並被存儲在記錄之中。需要進行大量帳戶活動數據檢查跟蹤的機構,如海關、商檢部門、稅務、保險等,使用映象系統歸檔,可以快速有效地存儲將來也許需要查看的文件,而不必採用如使用縮微膠片等陳舊的技術。
映象系統由於其數據從沒有真正地被駐留在服務器上,因此,有人會說它不是真正的文件系統歸檔,但是,它的確是一種在網絡上對大量歷史性信息進行訪問的方法。
映象系統是一種在線系統,所需的文件是直接從光學介質上讀出的,而不是首先要被拷貝到服務器上才能進行訪問。映象系統是一種較爲特別的應用系統,它不能被用於一般目的的文件系統操作中。爲了將文件存入映象系統,必須使用映象本身所提供的數據輸入輸入技術,如紙張掃描、醫學掃描或打印圖象等。
映象系統設計的目的不是用來處理原始數據的,它設計的目的是存儲映象數據的。從另一個方面來說,歸檔應該是能夠處理所有有用的數據類型,其中也包括映象數據。
3.3. 歸檔中的介質與冗餘
對於被歸檔在介質上的數據通常需要保存相當長的一段時間,因此,對於存儲歸檔數據的介質應作預防和維護的處理。
介質存儲
歸檔數據所用的介質主要是磁帶,能影響磁帶上存儲數據的壽命的有如下幾種因素:
溫暖/炎熱的氣溫
溫度
電磁輻射
污染物和煙塵
對於存放歸檔數據的磁介質來說,炎熱和潮溼的天氣是它的天敵。如果要想把介質上的數據年復一年的長期保存好,應當將介質存放在可能的最好的環境。華氏40度和低於30%的相對溼度是理想的保存環境,但是,一般來說很難達到,即使做到了這一點,爲此而付出的代價是非常昂貴的。
將介質保存在強電磁場的地方是不可取的。雷達系統和電焊機是最嚴重的高功率電磁噪聲源。二者都可以完全破壞介質上的數據。在辦公室環境中,電梯通道附近或任何他大電流通過的電纜附近是不宜存放磁帶的。將磁帶保存在堅實的金屬或保險箱內,即使在這樣電磁輻射惡劣的環境中也能使數據免受損害。
在磁帶架子上存放了特別長的一段時間的磁帶往往會變得脆弱,當一下使用它時發生磁粉脫落,數據丟失的情況是屢見不鮮的。爲了防止這類情況的發生可以在一臺乾淨的磁帶機上每年二年對磁帶從頭到尾運轉,這樣可以幫助保持磁帶的柔軟性,防止磁粉的脫落。
冗餘
冗餘的目的是爲了保證有足夠多的介質以防有些介質由於意外而損毀。
建立冗餘數據有二種基本的方法:
進行多次操作或拷貝介質
每執行一次歸檔操作後將介質上的數據拷貝到其它的介質上
爲了能將數據保存很長的時間,除了嚴格遵守介質規程外,需要採用長時間保存的介質制定新的拷貝的策略,以保證歸檔數據可以保存更長的時間。
3.4. 分級存儲管理(HSM)
分級存儲管理(HSM)是一種提供歸檔功能的自動系統,對用戶和管理人員來說,HSM是完全透明的。
分級存儲管理與歸檔的不同之處是,HSM本質上並不將文件刪除,而是在文件原來的地方保留一個很小的文件,當用戶需要訪問原文件上時,這個小文件可以自動地將原來的文件找回來。另一個不同之處HSM系統用“轉移”這個詞代替“歸檔”這個術語。
HSM的功能組件
HSM是一個多層次的介質系統,在這種系統中除了設備與介質之外,還需要相應的軟件或功能組件才能正確地工作。HSM是建立在如下三個簡單的功能上的:
l 自動轉移
l 自動回換
l 標誌文件
下面對這三個功能組件做詳細的介紹:
自動轉移
在講自動轉移之前先介紹一下“轉移”。所謂轉移就是將文件拷貝到可移動介質上,並在服務器上將那些文件刪除。顯然,轉移是執行歸檔功能的一種操作。在HSM中,轉移組件也承擔起建立標誌文件的任務。該方法是可以採用一組參數來決定文件何時應被歸檔,有哪些文件被歸檔。
自動轉移通常由系統建立一個監控進程,該監控進程用以判斷所設置的存儲容量(磁盤容量)是否被超過,或者系統設置好的安排被觸發。如果超過了,或被觸發了,HSM系統就會進行干涉並開始拷貝和刪除文件。通常,設定的存儲容量門限在85%-95%的磁盤容量之間。一旦磁盤容量超過了某一點,有可能會出現這樣一個問題:即轉移將持續不斷地進行並開始移動原先考慮將其保存在在線存儲器上的那些文件。因此,應當有一個門限容量決定何時應當停止轉移操作。這個門限容量稱爲低水位標誌。典型的低水位標誌在磁盤容量的60%~70%之間。
自動回喚
自動回喚是什麼?自動回喚的意思是,當用戶需要訪問標誌文件時將文件從HSM系統中恢復過來的功能。該過程對用戶而言要求越透明、越快就越好!
自動回喚的工作過程大致有如下三步:
首先,在系統中建立一種能夠識別標誌文件的機制。這一步是通過艱苦程序捕獲每一個被打開的文件以予實現,也可以通過對文件系統的修改來實現,這樣文件系統自己就可以識別標誌文件了。
第二步,當標誌文件被識別後,從中讀出某些信息並把他們送到HSM系統。
第三步,當HSM系統獲得這些信息後決定使用何種介質來恢復該文件。正確的介質被裝載,然後文件被恢復到磁盤上,用原始文件將標誌文標文件覆蓋。
自動回喚系統的最大的一個問題就是從HSM系統介質上恢復文件的時間開銷太大,遠遠超過了用戶的預料。使用磁帶的HSM系統比使用光學介質的HSM系統更慢。
標誌文件
標誌文件又稱佔位文件。它是由HSM的獨特組件建立並代替原始文件。標誌文件具有與原始文件相同的文件名,但較原始文件小得多,其內容包含了原始文件所處的可移動介質的相關信息。
在具體使用標誌文件時至少到目前還有下列二個問題還未解決。其一,標誌文件的更名方法。因爲,與標誌文件有相同文件名的新文件會覆蓋標誌文件,使得標誌文件所代表的前一個版本不可恢復。現在,基於LAN的HSM系統還不能提供更名的功能。其二,標誌文件在重新組織、分割或合併服務器時能否將標誌從一個服務器移到另一個服務器,以及當標誌文件被轉移後能否正常的工作。對於該問題,HSM軟件公司雖然提供了管理標誌文件的轉移工具,但還有一些極爲困難的問題還需改進解決。
分級結構
事實上,HSM是一種多級介質系統。這種系統的大量的特點是,數據能夠在不同的介質中轉移。但是,介質的這種結構沒有標誌文件那麼重要。儘管如此,HSM作爲一種歸檔方法,如果不介紹它的有關的介質策略,那麼,不能算是完整的。
兩級分級
HSM系統的兩級分級建立的一個主要思想是,數據轉移只需要一個存儲空間,也就是近在線存儲。當數據量達到存儲數據的設備的存儲量的時候,只需簡單地將最老的介質從轉移出來,並存放在適宜的環境中,如涼爽、乾燥的地方。
兩級分級系統適用極大多數的LAN系統。
三級分級
三級分級系統是HSM系統中最常見的一種。這種系統中,轉移文件首先被存放在近在線設備上以備快速回喚,然後,轉移到脫線介質上。是三級分級中,脫線系統可以是像大型磁帶庫那樣的另一種類型的自動系統。和作爲近在線存儲的光學唱機式設備一起組成系統的這種磁帶庫可以提供慢速組自動的從脫線存儲子系統的文件回喚。
近在線介質和設備
常用的近在線介質設備有:光學唱機式設備有:光學唱機式設備,以及可讀寫的CD子系統。這些近在線介質設備的一個主要缺點是能存儲數據的容量普遍較小。
磁帶也可以用來作爲近在線存儲設備,但它需要花費很多的時間來進行裝載,裝載之後也要花較多的時間去尋找數據。如果決定使用磁帶作爲近在線存儲,需要用一個多驅動器自動加載機以應付多用戶文件回喚的要求。此外,建議採用4mm和8mm設備,因爲,這些設備的裝帶速度較DLT的裝載速度快得到。DLT有較好的可維護性的容量。
近在線存儲可以通過使用磁盤來優化性能。
脫線介質和設備
脫線介質通常指的是磁帶。此外,可讀寫的CD也可作爲脫線介質。
HSM的工作過程
HSM的工作過程如下:
首先,文件由HSM系統選擇進行轉移。然後,將這些文件拷貝到HSM介質上。當文件被正確地拷貝以後,一個原文件有相同名的標誌文件被建立,這個標誌文件所佔用的磁盤空間較原文件所佔的磁盤空間要小得多。當用戶需要訪問這個標誌文件時,HSM系統將原始文件從正確的HSM介質中恢復過來。
HSM與網絡結構
HSM系統與網絡系統中服務器的連接可以一對一的連接,也可以被設置成從多個服務器上轉移數據。如果是一對一的連接,那麼,所有的數據的傳輸都通過SCSI總線來完成,對網絡數據流量沒有額外的衝擊。但這並不意味着這種一對一的連接不會遇到網絡數據流量的問題。因爲,HSM畢竟需要通過網絡來完成它的工作。例如,當服務器的存儲器中的數據量達到HSM系統的高水位標誌時開始轉移數據文件,此時,網絡的帶寬不一定能保證大量數據在線纜上的快速轉移,其結果很有可能造成網絡系統不能正常地工作,甚至使網絡癱瘓。正如這個原因,在考慮HSM系統實現方式的時候,必須考慮到網絡系統中網橋或路由器中數據傳送的情況,應儘量避免在網橋或路由器中傳送大量的數據從而使其飽和。
爲了避免上述這種情況的發生,在一些HSM系統中採用對轉移文件進行預處理的辦法。這種方法的要點是:先預測哪些文件是需要先轉移的,然後,在非繁忙的工作時間將它們拷貝到近在線存儲介質中。這樣,在轉移操作時需要轉移的數據就減少了,此時的主要工作就成了刪除文件並建立和保留標誌危機的工作。
4. 容錯與網絡冗餘
備份對網絡管理員來說應該是每天必須要完成的事,它的真正的目的應當是保證系統的可用性。要提高網絡服務器的可用性應當配置容錯和冗餘部件來減少它們的不可用時間。當系統發生故障時,這些冗餘配置的部件就可以介入並承擔故障部件的工作。
本章介紹幾個實現冗餘和容錯技術的途徑,幫助減少用戶在服務器故障發生以後網絡數據不可用的時間。
4.1. 容錯技術的產生及發展
容錯技術是構造高可靠性的網絡系統的有力手段,也是一個活躍的研究領域。本節簡要地回顧一下可靠性技術的研究歷史,概括地敘述可靠性技術的前景。
4.1.1 歷史的回顧
性能、價格和可靠性是評估一個網絡系統的三大要素,爲了提高網絡系統的高可靠性,人們進行了長期的研究總結了二種方法。一種叫做避錯,試圖構造一個不包含故障的“完美”的系統,其手段是採用正確的設計和質量控制儘量避免把故障引進系統,要絕對做到這一點實際上是不可能的。一旦系統出了故障,則通過檢測和核實來消除故障的影響,進而自動地或人工地恢復系統。第二種方法叫容錯,所謂容錯是指當系統出現某些指定的硬件或軟件的錯誤時,系統仍能執行規定的一組程序,或者說程序不會因系統中的故障而中斷或被修改,並且執行結果也不包含系統中故障所引起的差錯。
容錯的基本思想是在網絡系統體系結構上精心設計,利用外加資源的冗餘技術來達到掩蔽故障的影響,從而自動地恢復系統或達到安全停機的目的。
人們對容錯技術的研究開始很早,1952年馮 諾依曼(Von.Neuman)在美國加里福尼亞理工學院作了5個關於容錯理論研究的報告,他的精闢論述成爲日後容錯研究的基礎。
最初,人們從用四個二極管進行串並聯代替單個二極管工作可以提高可靠性這一事實中得到啓發,研製出四倍冗餘線路;從多數元件表決的結果較爲可靠這一事實總結出三模冗餘和N模冗餘結構;在通信中發展起來的糾錯碼理論也被很快地吸收過來以提高信息傳送、存儲以及運算中的可靠性。60年代末,出現了子檢、自修計算STAR爲代表的容錯計算機,標誌着容錯技術從理論上和實踐上進入了一個新時期。
70年代是容錯技術研究蓬勃發展的時期,主要的成功有電話開關係統ESS系列處理機、軟件實現容錯的SIFT計算機、容錯多重處理機FTMP,表決多處理機C.vmp等。
80年代是VLSI和微計算機迅速發展和廣泛應用的時代,容錯技術的研究也隨着計算機的普及而深入到整個工業界,許多公司生產的容錯計算機,如Stratus容錯機系列、IBM System88、Tandem 16等已商品化並進入市場。人們普遍認爲,把容錯作爲每個數字系統的一個重要特徵的時代已經到來,容錯系統的結果已由單機向分佈式系統發展。
4.1.2 展望
隨着計算機網絡系統的進一步發展,網絡可靠性變得越來越重要。其主要原因如下:
網絡系統性能的提高,使系統的複雜性增加,服務器主頻的加快,將導致系統更容易出錯,爲此,必須進行精心的可靠性設計。
網絡應用的環境已不再侷限於機房,這使系統更容易出錯,因此,系統必須具有抗惡劣環境的能力。
網絡已走向社會,使用的人也不再是專業人員,這要求系統能夠容許各種操作錯誤
網絡系統的硬件成本日益降低,維護成本相對增高,則需要提高系統的可靠性以降低維護成本
因此,容錯技術將向如下幾方向發展:
隨着VLSI線路複雜性增高,故障埋藏深度增加,芯片容錯將應運而生,動態冗餘技術將應用與VLSI的設計和生產
由於網絡系統的不斷髮展,容錯系統的結構將利用網絡的研究成功,在網絡中注入全局管理、並行操作、自治控制、冗餘和錯誤處理是研究高性能、高可靠性的分佈式容錯系統的途徑
對軟件可靠性技術將進行更多的研究
在容錯性能評價方面,分析法和實驗法並重
在理論研究方面將提出一套容錯系統的綜合方法論
4.2. 容錯系統的分類
容錯系統的最終目標直接影響到設計原理和設計方案的選擇,因而必須根據容錯系統的應用環境的差別設計出不同的容錯系統。
從容錯技術的實際應用出發可以將容錯系統分成五種不同的類型。
4.2.1 高可用度系統
所謂的可用度是指系統在某時刻可運行的概率。高可用度系統一般面向通用計算,執行各種各樣其要求無法預測的用戶程序。因爲這類系統主要面向商業市場,它們對設計都儘量少做修改。海明編碼存儲器、總線奇偶校驗、超時計數器、診斷、軟件合法性檢查等是主要的冗餘方法,由詞可見,這類系統的故障覆蓋率較低,但在多處理機系統中,故障一旦被發現就能將其隔離,使系統繼續運行或降級運行。
4.2.2 長壽命系統
長壽命系統在其生命期中(通常在5年以上)不能進行人工維修,常用於宇宙飛船、衛星等控制系統中。長壽命系統的特點是必須具有高度冗餘,有足夠的備件,能夠經受得住多次出現的故障的衝擊,冗餘管理可以自動或遙控進行。
4.2.3 延遲維修系統
這種系統與長壽命系統密切相關,它能夠在進行週期性維修前暫時容忍已經發生的故障從而保持系統的生存。這類容錯系統的特點是現場維修非常困難、或代價昂貴,增加冗餘比準備隨時維修所付出的代價要少。例如在飛機、輪船、坦克的運行中難以維修,通常都要返回基地後才能進行維修。
通常,車載、機載、艦載計算機系統都採用延遲維修容錯計算機系統。
4.2.4 高性能計算系統
高性能計算系統(如信號處理機)對瞬時故障(由過緊的定時容限而引起)和永久故障(由複雜性引起)均很敏感,要提高系統性能,增加平均無故障時間和對瞬時故障的自動恢復能力,必須進行容錯設計。高性能計算系統的例子如CRY-1、SLAC、Dual 370/165等。
4.2.5 關鍵任務計算系統
對容錯計算要求最嚴的是在實時應用環境中,其中錯誤的出現可能危及人的生命,或造成重大經濟損失。在這類系統中,不僅要求處理正確無誤,而且要求從故障中恢復的時間最短,不致影響到應用系統的執行。
4.3. 容錯系統實現方法
根據執行的任務的不同以及用戶所能承受的投資能力,實現容錯系統的方法有好幾種。下面將分析其中常用的幾個方法。
4.3.1 空閒備件
“空閒備件”,其字面上的意思是系統中配置一個處於空閒狀態的備用部件。的確,它是提供容錯的一條途徑,當原部件出現故障時,該空閒備件就不再“空閒”,它就取代原部件的功能。這種類型的容錯的一個簡單例子是將一臺慢速打印機連到系統上,但只有在當前所使用的打印系統而出現故障時才使用該打印機作爲後援。
4.3.2 負載平衡
負載平衡是另一種提供容錯的途徑,在具體的實現時使用二部件共同承擔一項任務,一旦其中的一個部件出現故障,另一個部件立即將原來有二個部件負擔的任務全部承擔下來,負載平衡方法通常使用在雙電源的服務器系統中。如果一個電源出現了故障,另一個電源就承擔原來二倍的負載。
需要強調的是,僅僅因爲系統是雙電源系統並不意味着它們是負載平衡的。例如,有可能用一個電源對系統板和風扇供電而用另一個電源對存儲設備供電。
在網絡系統中常見的負載平衡是對稱多處理。在對稱多處理中,系統中的每一個處理器都能執行系統中的任何工作。這意味着,這種系統在不同的處理器之間竭盡全力保持負載平衡。正如由於這個原因,對稱多處理能在CPU級別上提供容錯的能力。
4.3.3 鏡像
在容錯系統中鏡像技術是常用的一種實現容錯的方法。在鏡像技術中,二個部件要求執行完全相同的工作,如果其中的一個出現故障,另一個系統則繼續工作。通常這種方法用在磁盤子系統中。二個磁盤的二個磁盤控制器對同樣型號的磁盤的相同扇區內寫入完全相同的數據。鏡像技術典型的例子有:Netware SFT III、SENTINEL等。
在鏡像技術中,要求二個系統完全相同,而且二個系統都完成一個任務。當故障發生時,系統將其識別出來並切換到單子系統操作狀態。
事實證明,對磁盤系統而言鏡像技術能很好地工作,但如果要實現整個系統的鏡像是富有挑戰性的。其原因是在二臺機器上對內部總線傳輸和軟件產生的系統故障等事件使用鏡像技術是存在一定困難的。
4.3.4 復現
復現又稱延遲鏡像,它是鏡像技術的一種變種。在復現技術中,需要有二個系統:輔助系統和原系統,而且,輔助系統從原系統中接受數據,這種數據的接收存在一定的延時。當原系統出現故障時,輔助系統就接替原系統的工作。利用這種方式用戶就可以在接近出故障的地方重新開始工作。復現與鏡像的主要不同之處在於重新開始工作。復現與鏡像的主要不同之處在於在原系統上建立的數據被拷貝到輔助系統上時存在着一定的時間延遲,換句話來說,復現並非是精確的鏡像系統,工作時所引起的中斷並不是可以忽略的。儘管如此,在高可用性系統中還使用復現技術的原因是可以將這些系統設計成復現過程進行得很快,在高可用性系統中還使用復現技術的原因是可以將這些系統設計成復現的過程進行得很快,在原系統將數據寫到磁盤上之後能夠很好就完成,這樣可以減少網絡上數據的丟失。
復現系統如要代替原系統在網絡系統充分發揮其作用就必須復現原系統的安全信息和機制,包括用戶ID、登錄初化、用戶名和其它授權過程。在時常上銷售的一些復現產品中上述所講的這些安全信息和機制並不是自動滿足的,需要網絡管理人員用手工設置這些系統安全性參數以保證用戶能用完全安全的方式登錄。當然,這樣在原系統發生故障時影響輔助系統取代的速度。
4.3.5 冗餘系統配件
在系統中重複配置一些關鍵的部件可以增強故障的容錯性。被重複配置的部件通常有如下幾種:
l 主處理器
l 電源
l I/O設備和通道
採用冗餘系統配件的措施有些必須在系統設計之時就得考慮進去,有時則可以在系統安裝之後再加進去。
電源
在網絡系統使用雙電源系統已經較普遍,這二個電力供應是負載平衡的,這就是說,當系統工作時它們都爲系統提供電力,而且,當其中的一個電源發生故障時,另一個電源就得自動地承擔起整個系統的電力供應,以確保系統的正常運行。這樣必須對要求保證每一個供電系統都有獨自承受整個負載的供電能力。
通常,在配有雙電源系統的系統中,也可能配置其它的一些冗餘部件,如網卡、I/O卡和磁盤等等。所有這些增加的冗餘設備也都消耗額外的功率,同時,也產生了更多的熱情。因此,必須考慮系統的散熱問題,必須保證系統的通風良好以排除所有這寫額外的熱量。
I/O設備和通道
從內存向磁盤或其它的存儲介質傳輸數據是一個很複雜的過程,而且,這個過程是非常頻繁的。因此,這些存儲設備發出的故障之高也就不足爲奇了。
爲了防止出現設備故障而丟失數據,很自然就會想到使用冗餘設備和I/O控制器。常用的方法是採用冗餘磁盤對稱鏡像和冗餘磁盤對稱雙聯。前者是接在單個控制器上的,後者是連接在冗餘控制器上的。雙聯較鏡像具有更高的安全性能和處理速度,這是因爲額外的控制器可以在系統的磁盤控制器發生故障時接替工作,並且二個控制器可以同時讀入提高系統的性能。
主處理器
在網絡系統中,雖然主處理器不會經常發生故障,但是,一旦發生了主處理器的故障,整個網絡系統將處於何種狀態是不難想象的。因此,爲了提高系統的高可靠性,在系統中增加冗餘CPU不失是一種較好的選擇。
爲容錯而實行CPU冗餘配置的挑戰存在於內存、緩衝區和任務管理之中。輔助CPU必須能精確地追蹤原CPU的操作,同時又不影響其操作。實現的一個方法是在輔助處理器中應用鏡像技術跟隨原處理器的狀態。如果原處理器出來故障,輔助處理器在內存存儲器中已裝載了必要的信息並能接過對系統的控制權。
對稱多處理機在某種程度上提供了系統的容錯性。例如,在雙CPU機器中,如果其中一個CPU發生了故障,系統仍能在另一個CPU上運行。不過在故障CPU上運行的那個過程可能會出現失敗的情況。多處理對操作系統,對不同的處理器上運行的任務間的存儲管理的能力有非常大的依賴。因此,一個多處理系統中的一個處理器出現故障而導致機器的崩潰並不爲奇。如果在一個CPU出現故障的情況下系統仍能繼續運行就是容錯機制在起作用。
4.3.6 存儲系統的冗餘
存儲子系統是網絡系統中最易發生故障的部分。下面介紹實現存儲系統冗餘的最爲流行的幾種方法,它們是:
l 磁盤鏡像
l 磁盤雙聯
l RAID
l 磁盤鏡像
磁盤鏡像是常見的,也是常用的實現存儲系統容錯的方法之一。磁盤鏡像時被格式化的二個磁盤的格式需相同,否則,會遇到麻煩。主磁盤和輔助磁盤的分區大小應當是一樣的。如果主磁盤的分區大小輔助磁盤,當主磁盤的存儲容量達到輔助磁盤的容量時就不再進行鏡像操作了。
使用磁盤鏡像技術對磁盤進行寫操作時有些額外的性能開銷。只有當二個磁盤都完成了對相同數據的寫操作後鏡像磁盤對的寫操作纔算結束,所用的時間較一個磁盤的寫入次數據要長一些。利用磁盤鏡像技術對一個磁盤進行讀數據操作時,另一個磁盤可以將其磁頭定位在下一個要讀的數據塊處,這樣,比起用一個磁盤驅動器進行讀操作要快得多,其原因是等待磁頭定位所造成的時間延遲減少了。
磁盤雙聯
在鏡像磁盤對中增加一個I/O控制器便稱爲磁盤雙聯。它由於對I/O總線爭用次數的減少而提供了系統的性能。I/O總線實質上是串行的,而並非並行的,這意味着連在一條總線上的每一個設備是與其它設備共享該總線的,在一個時刻只能有一個設備被寫入。如果在鏡像磁盤對中每一個磁盤都分別有一個控制器,那麼,總線被爭用的情況就得到改善。
RAID
RAID(冗餘磁盤陣列)是一種能夠在不經歷任何故障時間的情況下更換正在出錯的磁盤或已發生故障的磁盤的存儲系統,它是保證磁盤子系統非故障時間的一條途徑。
RAID的另一個優點是在其上面傳輸數據的速度遠遠高於單獨一個磁盤上傳輸數據時的速度。即數據能夠從RAID上較快地讀出來。這是因爲總線能夠比往單獨一個磁盤上快得多的持續傳輸數據。
RAID級別
冗餘磁盤陣列的實現有多種途徑,這完全取決於性能的種類、成本費用以及所需的非故障時間。目前所使用的RAID是以它的級別來描述的,共分4個級別,它們是:
l 0級RAID
l 1級RAID
l 3級RAID
l 5級RAID
0級RAID在四個磁盤上條狀化數據且不帶校驗。0級RAID系統沒有內置冗餘度,通常用於數據的穩定性並不是很重要,但卻要求高速數據傳輸的場合。這中0級RAID系統的最大缺點是其中的任何一個磁盤出現故障,將會導致所有磁盤上的數據都會丟失。作爲一種改進,有些產品採用對磁盤進行順序寫入的0級RAID系統。這種系統當一個磁盤出錯時,其餘三個磁盤上的數據可以被保留下來,不過,它是已降低性能爲代價的。
1級RAID系統是磁盤鏡像,數據不條狀化。這類RAID系統的成本較高,因爲每一個磁盤都得配一個額外的磁盤作爲它的冗餘配置。此外,這種類型的系統的寫入速度相對而言較慢,但卻有較好的讀性能。
3級RAID系統在四個磁盤之間進行條狀數據寫入,由專用的校驗磁盤,即校驗信息寫入的第五個磁盤,在這類系統中,如果其中的一個磁盤壞了,可以將一個新的磁盤插入RAID插槽中,然後可以通過計算其餘三個磁盤和校驗磁盤上的數據重新在新的磁盤上建立數據。
5級RAID系統與3級RAID相似,有20%的盤用於冗餘的目的,在五個磁盤上實現條狀數據,校驗也是條狀的。在該系統中,任何一個磁盤都可以被更換,更換後的數據由其餘磁盤上的數據通過計算建立。
檢驗
在上述幾種RAID實現方法中除1級和0級RAID系統不用校驗外,其餘二種都採用了校驗磁盤。冗餘磁盤陣列系統中使用EXCLUSIBE OR(異或)算法建立寫到磁盤上的校驗信息。它是通過硬件芯片而不是處理存儲空間來完成的。因此,具有相當快的計算速度。
校驗的主要功能是當系統中某一個磁盤發生故障需要更換時,使用校驗重建算法由其它磁盤上的數據重建故障磁盤上的數據。
RAID控制器採用校驗相類似的方法可以在插入RAID插槽中的新的替換磁盤上重建丟失的數據。這種方法稱校驗重新。
校驗重建是一種頗爲複雜的過程,重建進程需要記住它被中斷時已經重建的磁道,記住這些磁盤都是同步運轉的,寫入操作必須協調進行。如果這時有新的數據需要更新寫入磁盤,情況會變得更爲複雜。校驗重建在重建開始時將會導致系統性能的很大的下降。
設備更換
RAID系統提供二種更換設備的方法:
l 熱更換
l 熱共享
熱更換指的是,在冗餘磁盤陣列接入系統,給系統提供磁盤I/O功能時,可以從其插槽中插入或拔出設備的能力。熱共享設備是指在RAID系統的插槽中的一個額外的驅動器,它可以在任何磁盤出現故障時自動地被插入到RAID陣列中去。這種設備常用於安裝了多個RAID陣列的RAID插槽中。
RAID控制器
冗餘磁盤陣列系統是由多個磁盤組成的一個系統,但是,從宿主機的I/O控制器來看,RAID系統彷彿是一個磁盤。在RAID系統中還有另一個控制器,它纔是真正執行所有磁盤I/O功能的部件,它負責多種操作,其中包括寫入操作事重建校驗信息和校驗重建的操作。RAID系統的不少功能是由該控制來決定的。
冗餘的RAID控制器能夠提供容錯,也能爲冗餘磁盤陣列提供容錯的功能。
4.4. 網絡冗餘
在網絡冗餘作爲傳輸數據介質的線路和其它的網絡連接部件都必須有持續正常運行時間的備用途徑。本節將討論提高主幹網、網絡互連設備的可靠性的途徑。
4.4.1 主幹網的冗餘
主幹網的拓撲結構應考慮容錯性。網狀的竹竿拓撲結構,雙核心交換機、冗餘的配線間連接等,這些都是保證網絡中沒有單點故障的途徑。
雙主幹
主幹被用來連接服務器或網絡上其它服務設備。通常,這些主幹都具有較高的網絡速度才能使服務器達到更好的性能。因此,當爲服務器提供網各服務時,如果它發生了故障,即使服務器仍能運行,但實際上已經不能用了,因爲對其訪問被切斷了。這就是使用雙主幹網絡的原因所在。
使用雙主幹網絡的網絡系統中,如果原網絡發生故障,輔助網絡就會承擔數據數據傳輸的服務。雙主幹的概念與網絡拓撲結構無關,它更有助於實現Token - Ring、Ethernet、FDDI。
雙主幹往在具體實施的時候,對於輔助網絡最好是沿着原網絡不同的線路鋪設。
4.4.2 開關控制設備
在網絡系統中,集線器、集中器或開關設備。由開關控制的10Base-T和ATM網絡系統中,每一臺機器與網絡的連接都是通過一些開關設備實現的。在這些網絡中,可以通過在設備之間提供輔助的高速連接來建立網絡冗餘。這種網絡設備能精確地檢測出發生故障的段的能力,以及可用輔助路徑來分擔數據流量。
網絡開關控制技術是可以通過網絡管理程序予以管理的。這意味着網絡中部件故障發生時可以立即顯示在控制程序的界面上,並且很快地對其進行響應。此外,開關控制可以通過對數據流量或誤碼率的分析能提前發現故障的網段。一旦發現數據流量有異常的情況或誤碼率超過了某一數值的時候,馬上可以知道某一網段將發生的故障。
通常,網絡開關控制設備都設計成模塊式的可熱可更換電路板插件,這種設計的優點是當發現設備中某個電路板上的芯片損壞了,可立即用新的電路板來代替它。
雙電源和電池後備如使用了開關控制設備,能夠起到延長網絡的非故障時間。
4.4.3 路由器
路由器是網絡系統中最爲靈活的網絡連接設備之一。它爲網絡中數據的流向指明方向。目前,在網絡系統中極大多數採用交換式路由器,這種路由器的性能是普通路由器的10~100倍,而價格只有後者的十分之一左右。
交換式路由器VRRP(虛擬冗餘路由器)和OSPF協議,前者用於2個交換式路由器互爲備份,後者用於旁路出故障的連接。
此外,交換式路由器通過複雜的隊列管理機制來保證對時間敏感的應用(其數據流一般也是高優先級別的)優先被轉發出目的端口。好的隊列管理機制也可以進行流量控制和流量×××,以保證數據流不會擁塞交換機,以及獲得平穩的數據流輸出。交換式路由器的另一個功能是透過RSVP(資源保留協議)可以動態地爲特定的應用保留所需的帶寬和對應用層信息流進行控制,可以分辨出不同的信息流併爲它們提供服務質量保證。
在網絡系統中,如果服務器發生了故障需要啓動備用房間裏的服務器或備份中心的服務器,此時,用戶們如何訪問更換了地點的服務器呢?這種在用戶設備和服務器之間沒有直接的網絡連接的情況下,可以通過改變路由器的設置,就可以用已有的線路建立連接這些處於新位置的服務器。在極端的情況下,也可以移動用戶設備,在電話和網絡服務供應商的幫助下,在新站點增加路由器以建立一個承擔用戶和服務器之間的數據流量的臨時網絡。
4.4.4 Pipes軟件
前面所介紹的網絡冗餘都是通過硬設備來實現的。利用軟件實現網絡冗餘雖說不常用,但不失是一種選擇。
美國Peerlogic公司生產的Pipes軟件可以繞過網絡中發生故障的線路,通過其它的網絡連接爲用戶傳輸數據。Pipes網絡共享一個目錄服務機制,能夠識別出網絡中所有運行Pipes的機器之間所有可能的路由。該軟件具有智能出錯控制功能,使Pipes能動態並透明地在原始路由發生問題時使用其它的路由維持網絡通信。這樣的路由包括使用不同的通信協議的路徑。
需要說明的是Pipes並不是被設計用來安裝在網絡上的每臺機器上的,它一般用來在能提供冗餘和容錯服務的中件開發平臺上開發分佈式應用程序。因此,如使用Pipes這類產品需要一些計劃和開發工具。
5. 數據庫備份與恢復
“數據”是財富這一點在當今信息社會中大家是有共識的。數據庫的失效往往導致一個機構的癱瘓。然而,不幸的是任何一個數據庫系統總不可能不發生故障。數據庫系統對付故障有二種辦法:其一是儘可能提高系統的可靠性;另一種辦法是在系統發出故障後,把數據庫恢復至原來的狀態。僅僅有第一點是遠遠不夠的,必須有第二種辦法,即必須有數據庫發生故障後的恢復原狀態的技術。
5.1. 數據庫備份的評估
數據庫如果發生故障可能會導致數據的丟失,要恢復丟失的數據,必須對數據庫系統作備份。在此之前,對數據庫的備份作一個全面的評估是很有必要的。
5.1.1 數據庫的特性
網絡系統中的數據庫不同於網絡上其它的應用程序。下面對數據庫的一些特性作簡單的介紹,以利於對數據庫的備份。
多用戶
網絡系統中服務器是用來共享資源的,不過,存儲在服務器中的大多數文件是用來給單用戶訪問的。但是,網絡系統上的數據庫卻又是提供給多個用戶訪問的。這意味着對數據庫的任何管理操作,其中包括備份,都會影響到用戶的工作效率,而且不僅是一個用戶而是多個用戶的工作效率。
高可靠性
網絡系統數據庫有一個特性是高可靠性。因爲,多用戶的數據庫要求具有較長的被訪問和更新時間,以完成批任務處理或爲其它時區的用戶提供訪問。
在數據庫備份中提到的所謂“備份窗口”指的是在二個工作時間段之間用於備份的那一段時間,在這段時間內數據庫可被備份,而在其餘的時間段內,數據庫不能被備份。通常考慮將這段時間安排在LAN處於“安靜”狀態的時候,此時,LAN不做任何工作,並且所以的文件被關閉,因此,可以在不干擾用戶的情況下進行備份。
頻繁的更新
數據庫系統中數據的不斷更新是數據庫又一特性。一般而言,文件服務器沒有太多的磁盤寫入操作。但數據庫系統由於是多用戶的,對其操作的頻率以每秒計遠遠大於文件服務器。
文件大
數據庫一般較文件有更多需要備份的數據和更短的用於備份的時間。另外,如果備份操作超過了備份窗口還會導致用戶訪問和系統性能方面的更多的問題,因爲這時數據庫要對更多的請求進行響應。
5.1.2 備份方案的評估
對數據庫備份方案的評估主要指的是在制定數據庫備份方案之前必須對下列問題進行分析,在分析的基礎上作出評估:
l 對數據庫保護的內容
l 對數據被丟失必須作出其損失的評估
l 備份所需的費用的評估
l 備份所需的費用的評估
雖然說“數據”是一種財富,數據庫的運行對一個機構會帶來極大的幫助和好處,但對數據庫作備份時必須權衡不同的備份保護等級的費用。如果數據花10000元就可以重新得到,並且可能三年纔會丟失一次數據,那麼,如果每年需花5000元去保護這些數據,就沒有意義了。因此,在作數據庫備份之前,需要考慮如下的幾個費用與風險問題:
費用能負擔得起嗎?如果負擔不起,需採用其它能負擔得起的方式
所採用的措施能改善現狀嗎?
在所採用的措施實施過程中會產生其它的問題嗎?這其中包括所採用的方法在有用戶使用系統時進行會受到什麼影響?以及是否導致工作效率的降低?等等
該措施有所值嗎?最壞的情況下會損失什麼?
技術評估
數據庫備份通常是一種要麼全有要麼全無的事情——如果不備份整個數據庫,就不能將它恢復到系統上之後使用它。對極大多數數據庫系統來說,數據庫的任何更改都需要對整個數據庫做完全備份。因此,在數據庫備份前需要在備份的技術上必須作出評估。
在對數據庫做備份時最大的問題是備份打開的文件,因爲這樣做可能導致其備份拷貝失去數據完整性。
在前面已討論過的在線數據庫的主要特性中,有二個特性是頻繁的更新和在用戶需要時的可訪問性。爲了提高這些特性的功能,要求數據庫系統在運行時使其數據庫文件保持被打開的狀態。這就意味着在數據庫備份的過程中可能發生數據庫文件的被更新。
數據庫備份過程中的更新有如下幾種情況:
l 更新發生的文件已被拷貝的區域
在備份過程中,文件的A處有一次數據庫的更新,該更新發生在備份進程已經拷貝了該信息後,即更新發生在文件已被拷貝的那個區域中,對文件任何其他的部分沒有影響,備份文件仍是完整的,一旦系統需要恢復,該文件仍能被恢復到它原始狀態。重新輸入在備份開始後所發生的更新將數據庫恢復到出故障前一時刻的狀態。
l 更新發生在文件未被備份區域
這類更新也不會成問題。如果數據庫需要恢復,該數據庫文件就會恢復到一個包括B點的更新的完整狀態。如將數據庫恢復到故障的前一時刻的狀態需要輸入在備份結束後發生的那些更新。
l 二種不同狀態處文件的更新
因爲文件的備份拷貝包括了A點處信息未改變的狀態和B點處信息已被改變的狀態。數據庫文件的備芬拷貝現在失去了完整性。當這種情況發生時,相關數據可能變得沒有意義,甚至還會導致數據庫系統的崩潰。
l 冷備份
所謂冷備份就是脫線備份。儘管在前面討論過的更新不可能被寫到數據庫文件中時對數據庫進行備份仍是有意義的,但畢竟不是好的辦法。爲了防止更新發生的最好辦法是在開始對其進行備份之前將數據庫關閉,即進行冷備份。
冷備份通常在系統無人使用的時候進行。冷備份的最好辦法是建立一個批處理文件,該文件在指定的時間先關閉數據庫,然後對數據庫文件進行備份,最後再啓動數據庫。
5.2. 數據庫備份的類型
常用的數據庫備份的方法有如下三種:
l 冷備份
l 熱備份
l 邏輯備份
5.2.1 冷備份
本章的上一節已經討論過冷備份。冷備份是思想是關閉數據庫系統,在沒有任何擁護對它進行訪問的情況下備份。這種方法在保持數據的完整性方面是最好的一種。但是,如果數據庫太大,無法在備份窗口中完成對它的備份,此時,應該考慮採用其它的適用的方法。
5.2.2 熱備份
當數據庫正在運行,更新也可能正在寫入數據庫所進行的備份稱爲熱備份。數據庫的熱備份依賴於系統的日誌文件。在備份進行時,日誌文件將需要作更新或更改的指令“堆起來”,並不是真正將任何數據寫入數據庫記錄。當這些被更新的業務被堆起來時,數據庫實際上並未被更新,因此,數據庫能被完整地備份。
熱備份方法的一個致命的缺點是具有很大的風險性。其原因有三個:第一,如果系統在進行備份時崩潰,那麼,堆在日誌文件中的所有業務都會被丟失,即造成數據的丟失。第二,在進行熱備份時,要求數據庫管理員(DBA)仔細地監視系統資源,確保存儲空間不會被日誌文件佔用完而造成不能接受業務的局面。最後,日誌文件在某種程度上也需要做備份以便重建數據,這樣需要考慮其它的文件並使其與數據庫文件協調起來爲備份增加了複雜性。
5.2.3 邏輯備份
所謂的邏輯備份是使用軟件技術從數據庫中提取數據並將結構寫入一個輸出文件。該輸出文件不是一個數據庫表,而是表中的所有數據的一個映象。在大多數客戶/服務器結構模式的數據庫中,結構化查詢語言(SQL)就是用來建立輸出文件的。該過程較慢,對大型數據庫的全盤備份不太實用。但是,這種方法適合用於增量備份,即備份那麼上次備份之後改變了的數據,不失爲一種好的選擇。
使用邏輯備份進行恢復數據必須生成逆SOL語句。儘管這個過程非常耗時,時間開銷較大,但工作卻非常另人滿意!
5.3. 數據庫備份的性能
數據庫備份的性能可以用二個參數來說明其好壞,這二個參數就是被拷貝到磁帶上的數據量和進行該項工作所花的時間。數據量和時間開銷之間是一種很難解決的矛盾。如果在備份窗口中所有的數據都被傳輸到磁帶上,就不存在什麼問題。如果備份窗口中不能備份所有的數據,就會面臨一個十分嚴重的問題。
通常,提高數據庫備份性能的辦法有如下幾種:
升級數據庫管理系統
使用更快的備份設備
備份到磁盤上。磁盤可以是處於同一系統上的,也可以是LAN的另一個系統上的。如能指定一個完整的容量或服務器作爲備份磁盤之用的話,這種方法的效果最好。
使用本地備份設備。使用此方法時應保證連接的SCSI接口適配卡能承擔高速擴展數據傳輸。另外,應將備份設備接在單獨的SCSI接口上
使用原始磁盤分區備份。直接從磁盤分區讀取數據,而不是使用危機系統API調用,可加快備份的執行
除了上述幾種方法外,St.Bemard Software公司的Open file Manager產品也能提高數據庫備份的性能。該產品能通過正在NLM或指定一個單一的用戶ID和口令識別備份過程的能力。它能在磁盤數據寫入發生之前立即捕獲它們,在允許更新覆蓋舊的數據之前將舊的數據寫入一個磁盤高速緩存區中。然後,當備份過程遇到這這樣的磁盤塊時,該磁盤塊的信息就被從緩存區中讀出來,而不是從磁盤上讀出來。採用這種辦法,對打開的文件進行備份時不會丟失其完整性,使其保持它在t=0時刻的狀態。
Open file Manager也具有將幾個小型數據庫文件連在一起並用類似的方法將它們的更新寫入緩衝區的能力。用這種方法,就可以保證它們全部被作爲一個單獨的數據庫文件被備份,因而具有全部的數據完整性。
5.4. 系統和網絡完整性
保護數據庫的完整性,除了前面已經討論過的提高性能的技術之外,也可以通過系統和網絡的高可靠性得以實現。
5.4.1 服務器保護
服務器是LAN上的主要機器,如果保護網絡數據庫的完整性,必須作好對服務器的保護。保護服務器的辦法包括:
電力調節,以保證能使服務器運行足夠長的時間以完成數據庫的備份
環境管理,應將服務器置於有空調的房間,通風口和管理應保持乾淨,並定期檢查和清理
服務器所在房間應加強安全管理
作好服務器中硬件的更換工作,從而提高服務器中硬件的可靠性
儘量使用輔助服務器以提供實時故障的跨越功能
通過映象技術或其它任何形式進行復制以便提供某種程度的容錯。接收復制數據的系統應具有原系統的故障後能代替它在線工作的能力。這種類型的方案可以減少在系統故障之後網絡數據庫的損失。但這種方案不適用於原系統一次更新進行時中間發生的故障。
5.4.2 客戶機的保護
對數據庫的完整性而言,作好對客戶機或工作站的保護如同服務器一樣重要。對客戶機的保護可以從如下幾個方面進行:
電力調節,保證客戶機正常運行所需的電力供應
配置電池後備,確保電力供應中斷之後客戶機能持續運行直至文件被保存和完成業務
定期更換客戶機或工作站的硬件
5.4.3 網絡連接
網絡連接是處於服務器與工作站或客戶機之間的線纜、集線器、路由器或其它類似的設備。爲此,線纜的安裝應具有專業水平,且用的配件應保證質量,還需配有網絡管理工具監測通過網絡連接的數據傳輸。此外,包括電池後備在內的電力調節設備也應該用於所有的網絡連接部件。如果可能的話,應該爲網絡設計一條輔助的網絡連接路徑,即網絡冗餘路徑,如雙主幹方案,或用開關控制連接,以便能快速地對網絡連接故障作出反應併爲用戶重新建立連接。
5.5. 數據庫的恢復
數據庫系統對付故障無非採用如下二種措施:
l 儘可能地提高系統的可靠性
l 在系統發生故障後,把數據庫恢復到原來的狀態
僅僅提高系統的可靠性是遠遠不夠的。因爲任何一個系統,無論其可靠性有多高,故障的發生總是難免的。在系統故障發生後,把數據庫恢復到原來狀態的技術,即恢復技術。
5.5.1 恢復技術的種類
恢復技術大致可以分爲如下三種:
l 單純以備份爲基礎的恢復技術
l 以備份和運行日誌爲基礎的恢復技術
l 基於多備份的恢復技術
單純以備份爲基礎的恢復技術
單純以備份爲基礎的恢復技術由文件系統恢復技術演變過來的,即週期性地把磁盤上的數據拷貝或轉儲到磁帶上。由於磁帶是脫機存放的,系統對它沒有任何影響。當數據庫失效時,可取最近一次從磁盤拷貝到磁帶上的數據庫備份來恢復數據庫,即把備份磁帶上的數據庫拷貝到磁盤的原數據庫所在的位置上。利用這種方法,數據庫只能恢復到最近備份的一次狀態,從最近備份到故障發生期間的所有數據庫的更新將會丟失。這意味着備份的週期越長,丟失的更新數據也就越多。
數據庫中的數據一般只部分更新,很少全部更新。如果只轉儲其更新的物理塊,則轉儲的數據量會明顯減少,也不必用過多的時間去轉儲。如果增加轉儲的頻率,則可以減少發生故障時已被更新過的數據的丟失。這種轉儲稱爲增量轉儲(incremental dumping,簡稱ID)。
利用增量轉儲作備份的恢復技術實現起來頗爲簡單,也不增加數據庫正常運行的開銷,其最大的缺點是不能恢復到數據庫的最近一致狀態。這種恢復技術只適用於小型的和不太重要的數據庫系統。
以備份和日誌爲基礎的恢復技術
系統運行日誌用於記錄數據庫運行的情況,一般包括三個內容:
l 前象(before p_w_picpath,簡稱BI)
l 後象(after p_w_picpath,簡稱AI)
l 事務狀態
前象
所謂的前象是指數據庫被一個事務更新時,所涉及的物理塊更新後的映象,它以物理塊爲單位。前象在恢復中所起的作用是幫助數據庫恢復更新前的狀態,即撤消更新,這種操作成爲撤消(undo)。
後象
後象恰好與前象相反,它是當數據庫被某一事務更新時,所涉及的物理塊更新前的映象,其單位和前象一樣以物理塊爲單位。後象的作用幫助數據庫恢復到更新後的狀態,相當於重做一次更新。這種操作在恢復技術中稱爲重做(Redo)。
事務狀態
運行日誌的事務狀態記錄每個事務的狀態以便在數據庫恢復時作不同處理。
事務提高而結束,這說明事務已成功執行,事務對數據庫的更新能被其他事務訪問
事務失敗,需要消除事務對數據庫的影響,對這種事務的處理稱爲捲回(rollback)
基於備份和日誌爲基礎的這種恢復技術,當數據庫失效時,可取出最近備份,然後根據日誌的記錄,對未提交的事務用前象捲回,這稱後恢復(backward recovery);對已提交的事務,必要時用後象重做,稱向前恢復(forward recovery)。
這種恢復技術的缺點是,由於需要保持一個運行的記錄,既花費較大的存儲空間,又影響到數據庫正常工作的性能。它的優點可使數據庫恢復到最近的一致狀態。大多數數據庫管理系統也都支持這種恢復技術。
多備份恢復技術
多備份恢復技術的前提是每以個備份必須具有獨立的失效模式(independen failure mode),這樣可以利用這些備份互爲備份,用於恢復。所謂獨立失效模式是指各個備份不致於因同一故障而一起失效。獲得獨立失效模式的一個重要的要素是各備份的支持環境儘可能地獨立,其中包括不共用電源、磁盤、控制器,以及CPU等。在部分高可靠要求的系統中,採用磁盤鏡像技術,即數據庫以雙備份的形式存放在二個獨立的磁盤系統中,爲了使失效模式獨立,二個磁盤系統有各自的控制器和CPU,但被此可以相互切換。在讀數時,可以選讀其中任一磁盤;在寫數據時,二個磁盤都寫入同樣的內容。當一個磁盤中的數據丟失時,可用另一個磁盤的數據來恢復。
基於多備份的恢復技術在分佈式數據庫系統中用得比較多,這完全出於性能或其它考慮,在不同的結點上設有數據備份,而這些數據備份由於所處的接點不同,其失效模式也比較獨立。
5.5.2 易地更新恢復技術
每個關係有一個頁表,頁表中每一項是一個指針,指向關係中的每一頁(塊)。當更新時,舊頁保留不變,另找一個新頁寫入新的內容。在提交時,把頁表的指針從舊頁撥向新面,即更新頁表指針。舊頁實際上起到了前象的作用。由於存儲介質可能發生故障,後象還是需要的。舊頁又稱影頁(Shadow)。
在事務提交前,其他事務只可訪問舊頁;在事務提交後其他事務可以訪問新頁。事務如在執行過程中發生故障,故障發生在提交之前的,稱數據庫狀態爲BI;故障發生在提交之後的,則數據庫狀態爲AI。顯然,這自然滿足了數據的一致性要求,在數據庫損壞時,需用備份和AI重做。在數據庫未遭損壞時,不需要採用恢復措施。
易地更新恢復技術有如下限制與缺點
同一時間一個文件只允許一個事務對它進行更新
提交時主記錄一般限制爲一頁,文件個數受到主記錄大小的限制
文件的大小受頁表大小的限制,而頁表的大小受到緩衝區大小的限制
易地更新時,文件很難連成一片
因此,易地更新恢復技術一般用於小型數據庫系統,對大型數據庫系統是不適用的。
5.5.3 失效的類型及恢復的對策
一個恢復方法的恢復能力總是有限的。一般往往只對某一類型的失效有效,在任何情況下都適用的恢復方法是沒有的。在前述的恢復方法中都需要備份,如果備份由於不可抗拒的因素而損壞,那麼,以前所述的恢復方法將無能爲力。通常的恢復方法都是針對概率較高的失效,這些失效可分爲三類。
事務失效(transaction failure)
造成事務失效的原因有:
l 事務無法執行而自行夭折
l 操作失誤或改變主意而要求撤消事務
l 由於系統調度上的原因而中止某些事務的執行
事務失效是經常發生的,這種失效一定發生在事務提交之前,事務一旦提交即使撤消也不可能了。對事務失效採取如下措施以予恢復:
l 消息管理丟棄事務的消息隊列
l 如果需要進行撤消
l 從活動事務表(active transaction List)中刪除該事物的事務標識,釋放該事務佔用的資源
系統失效
這裏所指的系統包括操作系統和數據庫管理系統。系統崩潰,必須重新啓動,內存中的數據可能丟失,而數據庫中的數據未糟破壞。發生系統失效的原因有:
l 掉電
l 除數據庫存儲介質外的硬、軟件故障
l 重新啓動操作系統和數據庫管理系統
l 恢復數據庫至一致狀態時,對未提交的事務進行了undo操作,對已提交的事務進行了redo的操作
介質失效(media failure)
介質失效指磁盤發生故障,數據庫受損,例如劃盤,磁頭破損等。
在現代的DBMS中,對介質失效一般都提供恢復數據庫至最近一致狀態的措施,具體過程如下:
l 修復系統,必要時更換磁盤
l 如果系統崩潰,則重新啓動系統
l 加載最近的備份
l 用運行日誌中的後象重做,取最近備份以後提交的所有事務
從介質失效中恢復數據庫的代價是較高的,而且要求運行日誌提供所有事務的後象,工作量是很大的。但是,爲了保證數據的安全,這些代價是必須付出的。
6. 災難恢復計劃
任何一個計算機系統或計算機網絡系統都沒有什麼辦法完全免受每一種天災或人禍的威脅,特別是諸如能夠摧毀整個建築物的地震、火災、×××等大規模的環境威脅。大災之後的對計算機網絡的恢復,對一個專業系統管理員或網絡管理員來說,所能遇到的是最具挑戰性的操作之一,災難之後,可能無法回到原先日常工作的位置,也可能沒有任何進行日常工作所使用的管理工具,甚至可能在沒有助手的幫助下展開工作……。凡此種種,要求進行災後的恢復工作,這種困難的程度對一般的人來說是難於想象的,成敗如何也難於預測。因此,防患於未然,提前作好準備工作乃是成功的關鍵所在。
本章僅提供網絡用戶需要在災難恢復計劃中使用的信息的提綱,並可以作爲編寫計劃的一個樣板。有了這些基本知識後,就可以安排時間和資源來編制一個內容廣泛,可用的災難恢復計劃。
6.1. 災難恢復計劃制定的準備
災難恢復計劃是決定某一機構的計算機網絡系統受到災難性打擊或破壞時,必須對網絡系統進行恢復時要做些什麼的過程。因此,必須謹慎地考慮在這類災難發生後怎樣才能以最快的速度對網絡進行恢復,把災難所帶來的損失儘可能地減少到最小。
制定一個災難恢復計劃對任何一個網絡用戶來說是一件非常重要的事情。不幸的是,災難恢復計劃常被放在一邊等到以後再做,有的LAN用戶壓根兒未考慮個需要制定這樣一個災難恢復計劃,對它的意義以及內涵根本不理解或者很不理解。
網絡災難恢復計劃的問題之一是要指出從何處開始,這也是制定計劃的一個原則問題。
6.1.1 從最壞情況考慮計劃制定
災難給計算機網絡系統所帶來的破壞程度和被破壞的規模是無法估計到的。在制定災難恢復計劃時,應該以最壞的情況去考慮,把對網絡系統遭破壞的情況儘量考慮得周密一些,以便安排時間和充分利用現有的資源創建一個內容廣泛切實可用的災難恢復計劃。
6.1.2 充分利用現有資源
在各種各樣的資源中,人力資源無疑是最寶貴也最有價值的。計算機網絡災難恢復計劃的制定除了主管網絡的領導和網絡管理員外,應有具有重建不動產和服務安排方面知識的人蔘與,他們的工作不一定非要針對計算機網絡系統的恢復,他們可以被指定承擔研究和計劃在災難之後重新開始工作的任務。如果能夠把機構中的這些資源充分利用起來,就可以在災難恢復計劃中使用他們的技能和知識而節省大量的時間。
6.1.3 執行計劃的計劃
通常,一個網絡系統可能需要幾年的時間來設計和建立,突然之間要求在幾天或幾星期內重建網絡,談何容易!這需要有能保證成功的所有技能和詳細的組織安排的計劃。
從災難中恢復應該是小組的集體行爲,但除非所有的小組成員都明確知道計劃的原則和處理過程,否則小組的工作是極難展開的,不論在災難恢復中採取什麼行動,都應該明確清晰無誤地通報給任何需要了解的人。經常改變以及沒有與其他人有效溝通的災難恢復計劃幾乎與完全沒有計劃一樣糟糕。
一個預先準備好的文本能有助於避免向其他人解釋決定背後的原因所帶來的壓力,並且也免受他人的猜疑和責難,當災難性的事件突然發生的時候,按既定方針有條不紊地進行恢復工作,從廢墟上重建網絡系統。
6.2. 災難恢復方法論
災難恢復方法論的依據是必須瞭解和掌握網絡系統的備份和數據的存儲,這樣纔可以考慮一旦災難發生時需要做些什麼事以及怎麼樣去做。
災難恢復方法論有幾種不同的分析方法,但基本原則是一樣的,其主要的要點如下:
l 風險分析
l 風險評估
l 應用優先級
l 恢復需求的建立
l 建立文本
l 計劃測試和實施
l 計劃分發和維護
6.3. 災難恢復計劃
災難恢復計劃過程的最終目的是產生一個災難發生後能夠實施的“災難恢復計劃文件”。這樣一個計劃文件具有相當的凝聚作用,通過給恢復小組中的每個成員一個指令性的必須遵照的執行的責任和處理過程清單,使整個恢復小組的每一個人發揮其聰明才幹,把恢復工作做到實處。
6.3.1 數據的備份
災難的預先準備應該從保證有進行恢復的數據開始。雖然,在一個災難恢復計劃不一定把備份操作作爲它的一部分,但好的可靠的備份操作應該是災難恢復計劃的一個先決條件。否則,談論恢復是在浪費時間。因此,在考慮災難恢復計劃的時候,就應該能準備以防災難萬一發生的一些事情:
l 每天進行備份操作並檢查備份的完整性
l 經常進行磁帶的脫機轉換以保證在發生站點災難時的可恢復性
l 瞭解、熟悉、掌握如何使用備份系統進行數據的恢復
衆所周知,在對數據的備份操作中有時可能會出錯。如果有數據丟失或一開始就沒有寫入介質的備份是無法用於系統的恢復的。因此,對備份需要進行校驗,確保備份的完備性。
定期對備份介質進行脫機轉換能使遭到嚴重災害的站點免於全部的損失。建立一種定期將磁帶轉存到脫機地點的規則可以保證在緊急情況發生時仍能對數據訪問。
6.3.2 風險分析
根據災難恢復方法論,風險分析是災難恢復計劃的第一步。風險分析的中心內容包括下列三個方面:
l 什麼面臨風險
l 什麼會出現問題
l 發生的可能性是多少
什麼面臨風險
在災難中什麼面臨風險?這個問題說說較容易,但真的要把它列爲災難恢復計劃中的一部分時卻不是那麼簡單了,需要綜合考慮其網絡系統中的所以組成部分,包括服務器、工作站或客戶機、數據,以及與外界聯繫的通信設備等等。網絡系統中所有組成部分的結構圖可以幫助建立一份在災難之後需要更換的物品清單。要記住軟件也需要更換,而且需要對所有的軟件產品進行鑑別,包括那些用於網絡操作的文件系統工具。
需要更換的物品清單中的一遺漏會很容易地使在災難之後的恢復貢獻無法進行。例如,如果沒有連接調制解調器的串行線,進行遠程訪問的應用程序等就無法工作。
人,特別是關鍵的人物的風險尤爲重要,但卻經常被忘卻。關鍵人物如果在災難中受傷,因而其他的人要代其行使責任。因此,在平時進行交叉訓練能減少當一位關鍵人物無法參與恢復工作時所受到的衝擊。
此外,在每一個網點備一份最重要的應用程序的手冊是必要的。
什麼會出問題?
“什麼會出問題?”這在災難恢復計劃中是一個有趣味的問題。對這個問題的回答可以從直接的到幾乎無法相信的都有。大千世界,不可預知的災難都是可能發生。洪水、水災、暴風雪等是相當常見。對此應該有一個防範的、切實可行的對策。例如,火災時,大火四周的熱、煙霧和自動灑水滅火系統滅火時噴射出來的水對計算機網絡系統有惡性的損壞作用。存儲介質很容易被高溫和煙霧毀壞,大火之後有毒殘留物的清理會持續相當一段時間,這意味着撲滅大火之後沒有可能在一點時間內接觸系統和數據。作爲一個對策,可以讓一些訓練有素的專家穿着防護服進入着火的建築物中,取回數據出來裝置,然後試圖從磁盤中恢復數據。
不幸的是,人爲的錯誤和人爲的有意的破壞可能是數據丟失或毀壞最可能的原因。如果類似這樣的錯誤導致網絡系統出問題,它就和其他種類的災難一樣,應該被認真對待。
發生的可能性是多少?
對於這個問題的回答需要進行一些財政預算上的考慮。對於不同級別的保護和準備估算幾種不同的預算是有益的。如果無法支付免受某些威脅所需的費用,但至少也得知道這些威脅是什麼,因而可以在將來對計劃進行改進。
6.3.3 風險評估
這裏所指的風險評估應理解爲由於網絡服務的破壞導致的商業損失。通常,災難所造成的損失可以按如下項目進行分解:
l 更換網絡系統設備的實際費用
l 生產損失
l 機會損失
l 信譽損失
系統設備和軟件的實際損失相對來說較容易計算,可以根據網絡系統組成的清單,即計算其相應的價值。
由於網絡系統的損失而導致的生產損失可以使用以往生產的有關信息進行計算。
機會損失的評估包括二個方面的內容:其一,由於網絡的故障造成的銷售收入損失,其二,市場機構的收入損失。
信譽損失是無形的很難用具體的數字以予衡量,但也得將其納入評估之中。
6.3.4 應用程序優先級別
災難發生之後,開始重新恢復系統,首先需要恢復的應用系統應是與生產經營最急需的部分,千萬不要把精力和時間浪費在恢復錯誤的系統和數據上。通常,一個機構總有多個部門,總有多個應用系統,各部門總是把與自己部門有關的應用列爲“最重要”,但實際上並非這些應用系統最重要,因此,高級管理人員幫助確定系統恢復的順序是十分重要的,也是十分必要的。
災難恢復計劃應包括系統恢復時的先後順序的清單,而且,應由高級管理人員在此清單上簽字以減爭論。
在知道了需要恢復的內容以後,就應該對那些系統重新恢復功能所需要的東西進行清點。網絡上的應用系統由一些服務系統組成,其中應用程序存儲其數據、工作站系統對其進行處理、打印機或傳真機用於I/O、網絡連接部分將這些東西連接在一起,以及應用軟件。如果網絡結構採用客戶機/服務器模式或分佈式應用程序,由於要求應用程序的不同部分駐存在不同的機器上,這樣更增加了額外的複雜程度。
當網絡管理人員與高級管理人員一起決定了應用程序的有限級別後,還得確定使系統可用所需的最少數目的工作站數。在系統正常運轉起來後再逐步加大網絡的規模。
進行應用系統恢復的一個好處是與恢復整個服務器相比恢復一個應用程序所需要的時間要少一些。但是,採用這種方法需要比目前更多地瞭解系統。首先,需要知道應用程序要用的那些數據都在那裏,以及文件系統的依賴關係是什麼。如果有些包含應用程序信息的系統文件,例如Windows的.ini文件那樣的情況,就需要保證這些文件也與應用程序一起恢復。其次,還得需要知道如何用備份系統進行這種類型的選擇性恢復。
爲了減少使工作網絡啓動和運行所需的時間,將這些應用程序合併到單獨的服務器上可能是最快的。
6.3.5 建立恢復需求
災難恢復計劃中的建立恢復需求的核心是決定使功能網絡能重新運行的可接受而又可達到的時間長度,即所謂的恢復時間目標(recovery Time objective,縮寫RTO)。決定的RTO應該被測試過以保證它是實際可行的。不同的應用程序會有不同的RTO。
6.3.6 實際災難恢復文本的產生
災難恢復計劃的內容
網絡災難恢復計劃的主要內容有:
l 人員通知單、電話號碼、地圖,以及地址
l 優先級別、責任、關係、以及過程
l 獲得和購買信息
l 網絡示意圖
l 系統、配置、以及磁帶備份
要保證當災難發生時應先通知誰。例如,如果發生了火災,先給消防隊打電話。如果沒有最新的電話號碼或地址,就很難與需要尋找的人聯繫上。
顯示臨時操作中心和脫機設施位置的地圖會節省不少時間。顯示備用的路線以防原來的路線出現問題也是有用的。
考慮如何對災難作出反應時,將精力集中在建立的優先順序上。應立即開始着手恢復最優先的應用程序。應該給人們明確的指示和責任。任務之間的關係形成文本,這樣就可以發現存在的任何瓶頸。最後,把精確的安裝和恢復操作的詳細操作步驟和任務應被包括在其中。
獲得和購買信息所說的是應該知道如何發出採購單並將設備運到臨時操作中心。這意味着要提供銷售商的地址和所需的運輸方法。
網絡示意圖大大簡化了建立網絡的任務。用於首先家你的幾個應用程序的詳細的網絡示意圖能有助於很快把網絡建立起來並投入運行。給一些線纜貼上標籤能在以後減少很多的混亂。
如果能貯備一些能處理各種不同任務的替換系統就可以使恢復操作贏得時間。在替換系統開始運行之後,再根據發貨報告中得到的配置信息將系統恢復到原來的配置。
需要確保可用的磁帶備份系統,如果可能的話,脫機保存一個備用系統,包括SCSI適配器、線纜,以及設備驅動軟件。如果需要對工作備份升級,那麼,也要對脫機系統進行升級,否則,可能會遇到不兼容的磁帶格式,數據庫或其他問題使其無法恢復數據。
管理支持
網絡環境災難恢復計劃的問題之一是計算機網絡技術的發展非常快,這包括新的設備和新的應用系統。因此,對已經編寫的計劃應該定期進行調整或更新,如一年一次。
6.3.7 計劃的測試和採用
對於已經編寫好的計劃需進行測試,這樣可以向自己證明該計劃是確實可行的。如果能對計劃的精確性完全打開思路的話就會更好。對計劃的測試是爲了找出有無問題,而不只是校驗計劃是否可行。如果有錯誤就將它記下來,並進行修改。
對計劃的測試應按計劃的內容分佈進行。對於電話號碼、地址、購買信息等的測試一般說來較爲簡單,但對恢復數據等的測試就不那麼簡單了。
對備份軟件進行測試得看一下是否按所希望的方式恢復高優先級別的應用程序。這應該在分離的、孤立的網絡上進行,以免出現服務器許可證衝突問題。一旦數據被恢復了,測試一下,看一看用戶能否訪問它,這要求有多臺工作站連接到網絡上,模擬原來的服務器上有帳號的真實的最終用戶。這時可能需要修改計劃,將建立最終用戶的管理信息包括進去。分別測試計劃中的每個操作,然後在工作網絡系統中測試看是否能得到同樣的結果。
6.3.8 計劃分發和維護
當一個計劃經過測試而且被證明了是可用的後需要將其分發給需要它的人。對計劃的發佈要盡力控制,這樣確保計劃會出現多個版本。另外,也要保證有計劃的額外拷貝存放在脫機站設施或工作地點附近的其它地方。該計劃的所有人員地點的清單也需保留一份。當計劃更新時,對所有這些計劃副本進行更換並收回計劃的前一個版本。
計劃的維護較容易,其內容包括對計劃回顧與通讀,對需要更改的信息進行修改,與此同時,應重新評價應用程序系統並確定哪一個最重要的。如果已經更換了備份系統,就應該保證,如何使新的或己升級的備份系統的信息也包括在“修改”一類中。對災難恢復計劃進行維護能有助於各部門之間的相互通信。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章