Linux下備份恢復技術的應用(轉)

ba發表於2007-08-15
Linux下備份恢復技術的應用(轉)[@more@]  本文講述Linux環境下,如何使用備份的指令碼和命令以及商業化的軟體來合理高效地保護磁碟資料安全。   

  備份與恢復系統承擔著事前備份與事後恢復的職能。在當前高速發展的網路環境下,任何一個網路上的資訊 系統都不可能保證絕對的安全。只要有網路存在,就會有來自網路的形形色色的威脅。為了抵禦網路的攻擊和入侵,雖然我們引入了日趨成熟的入侵檢測系統、防火牆系統等,駭客們的入侵手段也日益高明,他們總能找到這些系統的安全漏洞及不足進行入侵,因而網路入侵所引起的安全事件呈逐年增加之勢。   

  在這種情況下,我們難以保證網路中關鍵系統的絕對安全,因而就需要採用備份及恢復技術。備份及恢復技術就是使用儲存介質和一定的策略,定期將系統業務資料備份下來,以保證資料意外丟失時能儘快恢復,將使用者的損失降到最低點。它是資訊保安學科中一種非常重要的核心技術。   

  Linux下的備份技術   

  對於備份和恢復來說,Linux提供了諸如tar、cpio、 dump等工具來實現。這樣,使用者無需花錢購買,便可根據系統的實際情況,結合使用相應的備份恢復工具實現備份與恢復的基本功能。   

  tar工具介紹   

  tar是一個已移植到 Linux 中的經典 Unix 命令。 tar 是 tape archive(磁帶歸檔)的縮寫,最初設計用於將檔案打包到磁帶上,現在我們大都使用它來實現備份某個分割槽或者某些重要的檔案目錄。我們使用 tar 可以打包整個目錄樹,這使得它特別適合用於備份。歸檔檔案可以全部還原,或從中展開單獨的檔案和目錄。備份可以儲存到基於檔案的裝置或磁帶裝置上。檔案可以在還原時重定向,以便將它們重新放到一個與最初儲存它們的目錄(或系統)不同的目錄(或系統)。tar是與檔案系統無關的,因而它的適用範圍很廣,它可以使用在ext2、ext3、jfs、Reiser和其他檔案系統上。   

  使用tar非常類似於使用諸如Windows環境下的Winzip、WinRAR這樣的檔案實用工具。只需將它指向一個目的(可以是檔案或裝置),然後指定想要打包的檔案,就可以透過標準的壓縮型別來動態壓縮歸檔檔案,或指定一個自己選擇的外部壓縮程式。要透過bzip2壓縮或解壓縮檔案,可使用tar -z命令。

  下面是一個簡單的使用該工具進行資料備份的例子:   

  tar czvf - /root/code > /tmp/code_bak.tgz (將/root/code目錄下的所有程式檔案打包備份到/tmp/code_bak.tgz)   

  tar xzvf /tmp/code_bak.tgz /root/code (將備份的目錄檔案恢復到指定目錄)   

  cpio工具介紹   

  cpio命令可以從tar或者cpio檔案檔案中拷入或者拷出檔案。cpio命令和tar命令相容,但是這個命令具備一些tar命令沒有的功能,如下所示:   

  ● 支援cpio和tar兩種檔案檔案格式;   

  ● 支援許多老式磁帶資料格式;   

  ● 能夠透過一個管道(pipe-line)讀取檔案的檔名。   

  目前看來,只有很少的Linux軟體包是以cpio格式發行的。使用者如果對cpio命令的詳細情況感興趣,可以透過“man cpio ”命令閱讀它的使用手冊。  

  dump 和 restore介紹   

  dump可以執行類似tar的功能。然而,dump傾向於考慮檔案系統而不是個別的檔案。dump檢查ext2檔案系統上的檔案,並確定哪些檔案需要備份。這些檔案將出於安全保護而被複制到給定的磁碟、磁帶或其他儲存媒體上。在大多數媒體上,容量是透過一直寫入直至返回一個end-of-media標記來確定的。   

  配合dump的程式是restore,它用於從轉儲映像還原檔案。restore命令執行轉儲的逆向功能。可以首先還原檔案系統的完全備份,而後續的增量備份可以在已還原的完全備份之上覆蓋。可以從完全或部分備份中還原單獨的檔案或者目錄樹。   

  dump和restore都能在網路上執行,因此使用者可以透過遠端裝置進行備份或還原。dump和restore使用磁帶驅動器和提供廣泛選項的檔案裝置。然而,兩者都僅限用於ext2和ext3檔案系統。如果使用的是JFS、Reiser或者其他檔案系統,將需要其他的實用工具,比如 tar。 舉個例子:   

  dump 0f /dev/nst0 /(將ext2檔案系統備份到第一個SCSI裝置)   

  restore -xf /dev/nst0 /home/code(將備份的SCSI裝置中的/home/code目錄下的所有資料還原到磁碟)   

  另外,現在市場上還存在著諸如Tivoli Storage Manager之類的商業化儲存備份工具,這些都是視覺化的工具,使用者可以方便地透過使用者介面來實現備份與恢復。值得注意的是,這是一款商業軟體,因而並不是免費的,對於很多使用者來說,它所提供的功能與我們上述的Linux自帶的備份與恢復工具比較相似,只是更加人性化和友好,使使用者從枯燥的命令列方式下襬脫出來,從而方便使用者使用。  
  備份需要花費一定量的物力和財力,如何在備份所取得的收益與備份消耗的資源上做一個權衡是網路安全工作者需要考慮的一個大問題,因為支出大於產出也就意味著低效甚至失敗。所以在Linux環境中進行資料備份,需要根據實際情況進行區分對待,以取得比較好的效果。特別是,需要對一些關鍵的目錄進行區分,從而做到有針對性的備份,減少不必要的浪費。   

  一般情況下,以下所列目錄是需要備份的,它們在系統中具有舉足輕重的地位:/etc包含所有核心配置檔案,這其中包括密碼檔案、網路配置檔案、系統名稱、防火牆規則、NFS檔案系統配置檔案以及其他全域性系統項;/var包含系統守護程式(服務)所使用的資訊,包括 DNS 配置、DHCP 租期、郵件緩衝檔案、HTTP 伺服器檔案等;/home包含所有使用者的預設使用者主目錄,這包括他們的個人設定、已下載的檔案和使用者存放在系統中的重要的資訊;/root是根(root)使用者的主目錄;/bin是存放許多系統中常用的諸如ls、ps等命令的重要場所,這些命令在磁碟上均有影響,極容易遭受駭客的破壞。   

  相反地,在Linux系統中,如下目錄是不應該備份的:/proc永遠不需要備份,它不是一個真實的檔案系統,而是執行核心和環境的虛擬化檢視,它包括諸如 /proc/cpuinfo、/proc/meminfo 這樣的檔案,這個檔案是整個執行記憶體的虛擬檢視,一旦系統關機或者重新啟動,該目錄下的資訊便不復存在;/dev包含硬體裝置的檔案表示,如果計劃還原到一個空白的系統,那就可以備份 /dev,如果計劃還原到一個已安裝的Linux系統,那麼備份/dev 是沒有必要的;另外,一些軟連結(也就是指向另外一些磁碟檔案的檔案)是不需要備份的,因為這些檔案當中儲存的只是被指向檔案的地址,這些軟連結檔案,使用者可以透過使用“ls -l”命令來判定,如下所示,其中linux-2.4即為一個軟連結檔案,它指向的是linux-2.4.7-10這個目錄。   

  lrwxrwxrwx 1 root root 14 6月 19 2004 linux-2.4 -> linux-2.4.7-10   

  鏈 接   

  備份技術及基本分類   

  一般說來,建立一套完備的網路資料備份系統必須具備如下幾個必要條件:   

  ● 資料備份的容量都是比較大的,所以針對關鍵業務系統的資料備份需要實現自動化,以減少系統管理員的工作量 ;   

  ● 以備份伺服器形成備份中心,對各種平臺的應用系統及其他資訊資料進行集中的備份,系統管理員可以在任意一臺工作站上管理、監控、配置備份系統,實現分佈處理,集中管理的特點;   

  ● 使用者可以比較方便和快捷地恢復損壞的整個檔案系統和各類資料;  

  ● 備份系統還應考慮網路頻寬對備份效能的影響,備份伺服器的平臺選擇及安全性,備份系統容量的適度冗餘,備份系統良好的擴充套件性等因素。   

  進行備份工作需要確定資料備份的策略。備份策略指確定需備份的內容、備份時間及備份方式。使用者要根據自己的實際情況來制定不同的備份策略。目前被採用最多的備份策略主要有以下三種:   

  1.完全備份   

  就是每天對系統進行完全備份。這種備份策略的好處是:當發生資料丟失的災難時,就可以恢復丟失的資料。然而它亦有不足之處。首先,由於每天都對整個系統進行完全備份,造成備份的資料大量重複。這些重複的資料佔用了大量的空間,這對使用者來說就意味著增加成本。其次,由於需要備份的資料量較大,因此備份所需的時間也就較長。對於那些業務繁忙、備份時間有限的使用者和單位來說,選擇這種備份策略是不明智的。並且,由於備份的時間間隔太小而造成的完全備份數目過多,造成硬體資源的大量浪費,也是很不必要的。  

  2.增量備份   

  就是每天只對當天新的或被修改過的資料進行備份。這種備份策略的優點是節省了儲存介質空間,縮短了備份時間。但它的缺點在於,當災難發生時,資料的恢復比較麻煩。另外,這種備份的可靠性也很差。備份間隔中的資料是無法恢復的,這就需要使用者在指定備份間隔時做適當的權衡,才能取得比較好的效果。   

  3.差分備份   

  管理員先在最初(例如星期天)進行一次系統完全備份,然後在接下來的幾天裡,管理員再將當天所有與星期天不同的資料(新的或修改過的)備份到磁介質上。差分備份策略在避免了以上兩種策略的缺陷的同時,又具有了它們的所有優點。首先,它無需每天都對系統做完全備份,因此備份所需時間短,並節省了空間;其次,它的災難恢復也很方便。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-959712/,如需轉載,請註明出處,否則將追究法律責任。

相關文章