新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux操作系統(tǒng)中備份恢復(fù)技術(shù)的應(yīng)用

Linux操作系統(tǒng)中備份恢復(fù)技術(shù)的應(yīng)用

作者: 時(shí)間:2007-05-10 來源:網(wǎng)絡(luò) 收藏
  本文講述Linux環(huán)境下,如何使用備份的腳本和命令以及商業(yè)化的軟件來合理高效地保護(hù)磁盤數(shù)據(jù)安全。

  備份與恢復(fù)系統(tǒng)承擔(dān)著事前備份與事后恢復(fù)的職能。在當(dāng)前高速發(fā)展的網(wǎng)絡(luò)環(huán)境下,任何一個(gè)網(wǎng)絡(luò)上的信息 系統(tǒng)都不可能保證絕對(duì)的安全。只要有網(wǎng)絡(luò)存在,就會(huì)有來自網(wǎng)絡(luò)的形形色色的威脅。為了抵御網(wǎng)絡(luò)的攻擊和入侵,雖然我們引入了日趨成熟的入侵檢測(cè)系統(tǒng)、防火墻系統(tǒng)等,黑客們的入侵手段也日益高明,他們總能找到這些系統(tǒng)的安全漏洞及不足進(jìn)行入侵,因而網(wǎng)絡(luò)入侵所引起的安全事件呈逐年增加之勢(shì)。

  在這種情況下,我們難以保證網(wǎng)絡(luò)中關(guān)鍵系統(tǒng)的絕對(duì)安全,因而就需要采用備份及恢復(fù)技術(shù)。備份及恢復(fù)技術(shù)就是使用存儲(chǔ)介質(zhì)和一定的策略,定期將系統(tǒng)業(yè)務(wù)數(shù)據(jù)備份下來,以保證數(shù)據(jù)意外丟失時(shí)能盡快恢復(fù),將用戶的損失降到最低點(diǎn)。它是信息安全學(xué)科中一種非常重要的核心技術(shù)。

  Linux下的備份技術(shù)

  對(duì)于備份和恢復(fù)來說,Linux提供了諸如tar、cpio、 dump等工具來實(shí)現(xiàn)。這樣,用戶無需花錢購(gòu)買,便可根據(jù)系統(tǒng)的實(shí)際情況,結(jié)合使用相應(yīng)的備份恢復(fù)工具實(shí)現(xiàn)備份與恢復(fù)的基本功能。

  tar工具介紹

  tar是一個(gè)已移植到 Linux 中的經(jīng)典 Unix 命令。 tar 是 tape archive(磁帶歸檔)的縮寫,最初設(shè)計(jì)用于將文件打包到磁帶上,現(xiàn)在我們大都使用它來實(shí)現(xiàn)備份某個(gè)分區(qū)或者某些重要的文件目錄。我們使用 tar 可以打包整個(gè)目錄樹,這使得它特別適合用于備份。歸檔文件可以全部還原,或從中展開單獨(dú)的文件和目錄。備份可以保存到基于文件的設(shè)備或磁帶設(shè)備上。文件可以在還原時(shí)重定向,以便將它們重新放到一個(gè)與最初保存它們的目錄(或系統(tǒng))不同的目錄(或系統(tǒng))。tar是與文件系統(tǒng)無關(guān)的,因而它的適用范圍很廣,它可以使用在ext2、ext3、jfs、Reiser和其他文件系統(tǒng)上。

  使用tar非常類似于使用諸如Windows環(huán)境下的Winzip、WinRAR這樣的文件實(shí)用工具。只需將它指向一個(gè)目的(可以是文件或設(shè)備),然后指定想要打包的文件,就可以通過標(biāo)準(zhǔn)的壓縮類型來動(dòng)態(tài)壓縮歸檔文件,或指定一個(gè)自己選擇的外部壓縮程序。要通過bzip2壓縮或解壓縮文件,可使用tar -z命令。

  下面是一個(gè)簡(jiǎn)單的使用該工具進(jìn)行數(shù)據(jù)備份的例子:

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

  tar xzvf /tmp/code_bak.tgz /root/code (將備份的目錄文件恢復(fù)到指定目錄)

  cpio工具介紹

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

  ● 支持cpio和tar兩種檔案文件格式;

  ● 支持許多老式磁帶數(shù)據(jù)格式;

  ● 能夠通過一個(gè)管道(pipe-line)讀取文件的文件名。

  目前看來,只有很少的Linux軟件包是以cpio格式發(fā)行的。用戶如果對(duì)cpio命令的詳細(xì)情況感興趣,可以通過“man cpio ”命令閱讀它的使用手冊(cè)。

  dump 和 restore介紹

  dump可以執(zhí)行類似tar的功能。然而,dump傾向于考慮文件系統(tǒng)而不是個(gè)別的文件。dump檢查ext2文件系統(tǒng)上的文件,并確定哪些文件需要備份。這些文件將出于安全保護(hù)而被復(fù)制到給定的磁盤、磁帶或其他存儲(chǔ)媒體上。在大多數(shù)媒體上,容量是通過一直寫入直至返回一個(gè)end-of-media標(biāo)記來確定的。

  配合dump的程序是restore,它用于從轉(zhuǎn)儲(chǔ)映像還原文件。restore命令執(zhí)行轉(zhuǎn)儲(chǔ)的逆向功能??梢允紫冗€原文件系統(tǒng)的完全備份,而后續(xù)的增量備份可以在已還原的完全備份之上覆蓋??梢詮耐耆虿糠謧浞葜羞€原單獨(dú)的文件或者目錄樹。

  dump和restore都能在網(wǎng)絡(luò)上運(yùn)行,因此用戶可以通過遠(yuǎn)程設(shè)備進(jìn)行備份或還原。dump和restore使用磁帶驅(qū)動(dòng)器和提供廣泛選項(xiàng)的文件設(shè)備。然而,兩者都僅限用于ext2和ext3文件系統(tǒng)。如果使用的是JFS、Reiser或者其他文件系統(tǒng),將需要其他的實(shí)用工具,比如 tar。 舉個(gè)例子:

  dump 0f /dev/nst0 /(將ext2文件系統(tǒng)備份到第一個(gè)SCSI設(shè)備)

  restore -xf /dev/nst0 /home/code(將備份的SCSI設(shè)備中的/home/code目錄下的所有數(shù)據(jù)還原到磁盤)

  另外,現(xiàn)在市場(chǎng)上還存在著諸如Tivoli Storage Manager之類的商業(yè)化存儲(chǔ)備份工具,這些都是可視化的工具,用戶可以方便地通過用戶界面來實(shí)現(xiàn)備份與恢復(fù)。值得注意的是,這是一款商業(yè)軟件,因而并不是免費(fèi)的,對(duì)于很多用戶來說,它所提供的功能與我們上述的Linux自帶的備份與恢復(fù)工具比較相似,只是更加人性化和友好,使用戶從枯燥的命令行方式下擺脫出來,從而方便用戶使用。

  Linux中的備份策略

  備份需要花費(fèi)一定量的物力和財(cái)力,如何在備份所取得的收益與備份消耗的資源上做一個(gè)權(quán)衡是網(wǎng)絡(luò)安全工作者需要考慮的一個(gè)大問題,因?yàn)橹С龃笥诋a(chǎn)出也就意味著低效甚至失敗。所以在Linux環(huán)境中進(jìn)行數(shù)據(jù)備份,需要根據(jù)實(shí)際情況進(jìn)行區(qū)分對(duì)待,以取得比較好的效果。特別是,需要對(duì)一些關(guān)鍵的目錄進(jìn)行區(qū)分,從而做到有針對(duì)性的備份,減少不必要的浪費(fèi)。

  一般情況下,以下所列目錄是需要備份的,它們?cè)谙到y(tǒng)中具有舉足輕重的地位:/etc包含所有核心配置文件,這其中包括密碼文件、網(wǎng)絡(luò)配置文件、系統(tǒng)名稱、防火墻規(guī)則、NFS文件系統(tǒng)配置文件以及其他全局系統(tǒng)項(xiàng);/var包含系統(tǒng)守護(hù)進(jìn)程(服務(wù))所使用的信息,包括 DNS 配置、DHCP 租期、郵件緩沖文件、HTTP 服務(wù)器文件等;/home包含所有用戶的默認(rèn)用戶主目錄,這包括他們的個(gè)人設(shè)置、已下載的文件和用戶存放在系統(tǒng)中的重要的信息;/root是根(root)用戶的主目錄;/bin是存放許多系統(tǒng)中常用的諸如ls、ps等命令的重要場(chǎng)所,這些命令在磁盤上均有影響,極容易遭受黑客的破壞。

  相反地,在Linux系統(tǒng)中,如下目錄是不應(yīng)該備份的:/proc永遠(yuǎn)不需要備份,它不是一個(gè)真實(shí)的文件系統(tǒng),而是運(yùn)行內(nèi)核和環(huán)境的虛擬化視圖,它包括諸如 /proc/cpuinfo、/proc/meminfo 這樣的文件,這個(gè)文件是整個(gè)運(yùn)行內(nèi)存的虛擬視圖,一旦系統(tǒng)關(guān)機(jī)或者重新啟動(dòng),該目錄下的信息便不復(fù)存在;/dev包含硬件設(shè)備的文件表示,如果計(jì)劃還原到一個(gè)空白的系統(tǒng),那就可以備份 /dev,如果計(jì)劃還原到一個(gè)已安裝的Linux系統(tǒng),那么備份/dev 是沒有必要的;另外,一些軟鏈接(也就是指向另外一些磁盤文件的文件)是不需要備份的,因?yàn)檫@些文件當(dāng)中存儲(chǔ)的只是被指向文件的地址,這些軟鏈接文件,用戶可以通過使用“ls -l”命令來判定,如下所示,其中l(wèi)inux-2.4即為一個(gè)軟鏈接文件,它指向的是linux-2.4.7-10這個(gè)目錄。

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

  鏈 接

  備份技術(shù)及基本分類

  一般說來,建立一套完備的網(wǎng)絡(luò)數(shù)據(jù)備份系統(tǒng)必須具備如下幾個(gè)必要條件:

  ● 數(shù)據(jù)備份的容量都是比較大的,所以針對(duì)關(guān)鍵業(yè)務(wù)系統(tǒng)的數(shù)據(jù)備份需要實(shí)現(xiàn)自動(dòng)化,以減少系統(tǒng)管理員的工作量 ;

  ● 以備份服務(wù)器形成備份中心,對(duì)各種平臺(tái)的應(yīng)用系統(tǒng)及其他信息數(shù)據(jù)進(jìn)行集中的備份,系統(tǒng)管理員可以在任意一臺(tái)工作站上管理、監(jiān)控、配置備份系統(tǒng),實(shí)現(xiàn)分布處理,集中管理的特點(diǎn);

  ● 用戶可以比較方便和快捷地恢復(fù)損壞的整個(gè)文件系統(tǒng)和各類數(shù)據(jù);

  ● 備份系統(tǒng)還應(yīng)考慮網(wǎng)絡(luò)帶寬對(duì)備份性能的影響,備份服務(wù)器的平臺(tái)選擇及安全性,備份系統(tǒng)容量的適度冗余,備份系統(tǒng)良好的擴(kuò)展性等因素。

  進(jìn)行備份工作需要確定數(shù)據(jù)備份的策略。備份策略指確定需備份的內(nèi)容、備份時(shí)間及備份方式。用戶要根據(jù)自己的實(shí)際情況來制定不同的備份策略。目前被采用最多的備份策略主要有以下三種:

  1.完全備份

  就是每天對(duì)系統(tǒng)進(jìn)行完全備份。這種備份策略的好處是:當(dāng)發(fā)生數(shù)據(jù)丟失的災(zāi)難時(shí),就可以恢復(fù)丟失的數(shù)據(jù)。然而它亦有不足之處。首先,由于每天都對(duì)整個(gè)系統(tǒng)進(jìn)行完全備份,造成備份的數(shù)據(jù)大量重復(fù)。這些重復(fù)的數(shù)據(jù)占用了大量的空間,這對(duì)用戶來說就意味著增加成本。其次,由于需要備份的數(shù)據(jù)量較大,因此備份所需的時(shí)間也就較長(zhǎng)。對(duì)于那些業(yè)務(wù)繁忙、備份時(shí)間有限的用戶和單位來說,選擇這種備份策略是不明智的。并且,由于備份的時(shí)間間隔太小而造成的完全備份數(shù)目過多,造成硬件資源的大量浪費(fèi),也是很不必要的。

  2.增量備份

  就是每天只對(duì)當(dāng)天新的或被修改過的數(shù)據(jù)進(jìn)行備份。這種備份策略的優(yōu)點(diǎn)是節(jié)省了存儲(chǔ)介質(zhì)空間,縮短了備份時(shí)間。但它的缺點(diǎn)在于,當(dāng)災(zāi)難發(fā)生時(shí),數(shù)據(jù)的恢復(fù)比較麻煩。另外,這種備份的可靠性也很差。備份間隔中的數(shù)據(jù)是無法恢復(fù)的,這就需要用戶在指定備份間隔時(shí)做適當(dāng)?shù)臋?quán)衡,才能取得比較好的效果。

  3.差分備份

  管理員先在最初(例如星期天)進(jìn)行一次系統(tǒng)完全備份,然后在接下來的幾天里,管理員再將當(dāng)天所有與星期天不同的數(shù)據(jù)(新的或修改過的)備份到磁介質(zhì)上。差分備份策略在避免了以上兩種策略的缺陷的同時(shí),又具有了它們的所有優(yōu)點(diǎn)。首先,它無需每天都對(duì)系統(tǒng)做完全備份,因此備份所需時(shí)間短,并節(jié)省了空間;其次,它的災(zāi)難恢復(fù)也很方便。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉