亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux 管理員手冊(8)

 更新時間:2006年10月24日 00:00:00   投稿:mdxy-dxy  
Linux 管理員手冊(8)

    硬件不肯定是可靠的
    軟件肯定是不可靠的
    人不肯定是不可靠的
    而自然肯定是可靠的

    本張說明為什么、如何、何時要做備份,及如何回存?zhèn)浞莸臇|西。

    備份的重要

  數(shù)據(jù)是有價值的。重新產(chǎn)生它需要你花費時間和努力,并且要花費金錢或至少傷心和眼淚,有時甚至不可能重新產(chǎn)生,例如一些實驗結果。由于數(shù)據(jù)是一種投資,你必須保護它,并采取措施避免丟失。

  丟失數(shù)據(jù)一般有4個原因:硬件失敗、軟件曲線、人為因素或自然災害。 雖然現(xiàn)代硬件已經(jīng)相當可靠,但仍可能自然損壞。存儲數(shù)據(jù)最決定性的硬件是硬盤,它依賴微小的磁區(qū)在充滿電噪聲的世界上保存數(shù)據(jù)。現(xiàn)代軟件依然不可靠,一個真正可靠的程序是理想、罕見的,而不是規(guī)律。人更不可靠,他們很容易犯錯誤,甚至為某種目的惡意地破壞數(shù)據(jù)。自然可能不是惡的,但也可能造成破壞。一切的一切,希望什么都正常、完美幾乎是不可能的。

  備份是保護數(shù)據(jù)投資的方法。有數(shù)據(jù)的多個拷貝,就不怕某個損壞(所需做的僅僅是從備份中恢復丟失的數(shù)據(jù))。

  正確的備份是很重要的。正如物理世界中任何東西都與其他相關,備份也遲早會失效。好的備份確保有效,你不希望你的備份無效。 如果你的備份又壞了,這將雪上加霜,如果你只有一個備份,它可能根本是壞的,只留下你和硬盤中冒煙的灰燼。 或者當你恢復時,發(fā)現(xiàn)忘了備份一些重要的東西,比如15000個用戶站點的用戶數(shù)據(jù)庫。 Best of all, all your backups might be working perfectly, but the last known tape drive reading the kind of tapes you used was the one that now has a bucketful of water in it.

  When it comes to backups, paranoia is in the job description.

    選擇備份介質(zhì)

  備份所需的最重要的決定是選擇備份介質(zhì)。需要考慮成本、可靠性、速度、可得到、可用性。

  成本是很重要的,因為你的數(shù)據(jù)可能需要多個存儲、多個備份。便宜的介質(zhì)可以用很多。

  可靠性是最重要的,因為壞的備份會雪上加霜。備份介質(zhì)必須能存儲數(shù)據(jù)多年而不損壞。作為備份介質(zhì),使用方法影響可靠性。硬盤一般是很可靠的,但作為備份介質(zhì)并非很可靠,如果它和備份源在同一計算機里的話。

  速度通常不太重要,如果備份可以非交互地完成。備份花2個小時無所謂,無須監(jiān)督,多長時間都沒有關系。另一方面,if the backup can't be done when the computer would otherwise be idle, 那么速度也是個問題。

  可得到是明顯必要的,因為你無法使用不存在的備份介質(zhì)。不太明顯的是要在將來還能得到這種介質(zhì),并且能在其他計算機上使用。否則災害之后,你可能無法恢復你的備份。

  可用性是決定備份周期的主要因素。備份越容易使用越好。備份介質(zhì)不能難以使用。

  一般用軟盤和磁帶。軟盤很便宜,還算可靠,不太快,很容易得到,但數(shù)據(jù)量大時不容易使用。磁帶也很便宜,還算可靠,還算快,很容易得到,而且,依賴于磁帶的容量,使用很輕松。

  還有其他選擇。但通??傻眯圆缓?,但如果這不成問題,有時也不錯。例如,磁光盤同時具有軟盤(隨機存取,可以快速地恢復單個文件)和磁帶(大容量)的優(yōu)點.

    選擇備份工具

  備份有很多工具,傳統(tǒng)的UNIX備份工具是tar 、 cpio 和dump 。另外,還可以使用大量第三方軟件包(包括freeware和商業(yè)版)。備份介質(zhì)的選擇可能影響工具的選擇。

  tar 和cpio 類似,從備份來看二者基本等效。都能將文件存到磁帶并取出文件。都能使用幾乎所有介質(zhì),因為核心設備驅(qū)動處理低級設備操作,對用戶級程序看來所有設備都差不多。有寫Unix版本的tar 和cpio 對不是普通文件可能有問題(符號連接、設備文件、極長路徑名的文件等等),但Linux的能正確處理所有文件。

  dump 不同,它直接讀文件系統(tǒng),而不通過文件系統(tǒng)。 It is also written specifically for backups; tar 和cpio are really for archiving files, although they work for backups as well.

  直接讀文件系統(tǒng)有些優(yōu)點,它可能不考慮time stamps備份所有文件;對于tar 和cpio ,必須先將文件系統(tǒng)只讀安裝。直接讀文件系統(tǒng)更有效,如果所有東西都要備份,因為它使磁頭移動最少。它的主要缺點是每個文件系統(tǒng)種類需要特定的備份程序, Linux的dump 程序只理解ext2文件系統(tǒng)。

  dump 也直接支持備份級(下面討論);對tar 和cpio ,這必須用其他工具實現(xiàn)。

  第三方備份工具的比較超出了本書的范圍。Linux Software Map列出了許多freeware的。

    簡單備份

  一個簡單的備份方案是一次備份所有東西,然后備份上次備份后改變的所有東西。第一個備份叫全備份full backup,后來的叫i增量備份ncremental backups。全備份比增量備份費時費力,因為有更多的東西寫到磁帶,而且全備份可能不能放如一盤磁帶中(更別說軟盤了)?;卮嬖隽總浞荼热珎浞菘赡芤ǜ嗟臅r間。備份可以這樣優(yōu)化,就是自上次全備份以后,總用增量備份保存所有改過的文件。這樣,備份可能需要多一些的工作,但你只需回存一個全備份和一個增量備份。

  如果有6盤磁帶想每天備份,可以用磁帶1做第一個全備份(比如在星期五),用磁帶2-5做增量備份(周一到周四)。然后用磁帶6做新的全備份(第二個周五),然后再用磁帶2-5做增量備份。在做完新的全備份之前不要覆蓋舊的全備份(磁帶1),一面在做全備份的時候出現(xiàn)問題。有了新的全備份磁帶6以后,最好在另一個地方保存磁帶1,這樣如果有一個全備份磁帶在火災中損失了,還能有一個。當再做下一個全備份是,再用磁帶1而保存磁帶6。

  如果你有多于6盤磁帶,可以用多的做全備份。每次做全備份,應該使用最老的磁帶。這樣你會有最近幾周的全備份,對你如果想找到一個現(xiàn)在已經(jīng)刪除的就文件,或一個文件的舊版本很有用。

    用tar備份

  一個全備份可以很容易地用tar 實現(xiàn):

# tar -create -file /dev/ftape /usr/src
tar: Removing leading / from absolute path names in the archive
#

  上面的例子使用GNU版本的tar 及其長選項名。傳統(tǒng)版本的tar 只理解單字符選項。 GNU版還能處理一盤磁帶或一張磁盤不能容納的備份,及很長的路徑名;這不是所有傳統(tǒng)的版本能作到的。 (Linux只使用GNU tar 。)

  如果你的備份一盤磁帶不能容納,你需要使用-multi-volume (-M)選項:

# tar -cMf /dev/fd0H1440 /usr/src
tar: Removing leading / from absolute path names in the archive
Prepare volume #2 for /dev/fd0H1440 and hit return:
#

  注意開始備份前要格式化所有軟盤,或在tar 需要新軟盤時用另一個虛擬控制臺或虛擬終端格式化它。
備份完后,應該檢查它是否完好,用-compare (-d)選項:

# tar -compare -verbose -f /dev/ftape
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
....
#

  失敗的備份檢查意味著如果你丟失了原始數(shù)據(jù),備份也無法恢復。

  增量備份可用帶-newer (-N)選項的tar 來實現(xiàn):

# tar -create -newer '8 Sep 1995' -file /dev/ftape /usr/src -verbose
tar: Removing leading / from absolute path names in the archive
usr/src/
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/modules/
usr/src/linux-1.2.10-includes/include/asm-generic/
usr/src/linux-1.2.10-includes/include/asm-i386/
usr/src/linux-1.2.10-includes/include/asm-mips/
usr/src/linux-1.2.10-includes/include/asm-alpha/
usr/src/linux-1.2.10-includes/include/asm-m68k/
usr/src/linux-1.2.10-includes/include/asm-sparc/
usr/src/patch-1.2.11.gz
#

  不幸的是,tar 不能知道一個文件的i節(jié)點信息變化,例如,文件的權限位變化,或文件名變化。這可用find 命令和比較當前文件系統(tǒng)狀態(tài)和先前備份的文件列表。用于此的Scripts和程序可以在Linux FTP站點上找到。
用tar回存

  tar 的-extract (-x)選項展開文件:

# tar -extract -same-permissions -verbose -file /dev/fd0H1440
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/kernel.h
...
#

  也可以用命令行只展開特定的文件和目錄(及其中的文件和子目錄):
# tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
#
用-list (-t)選項看一個備份卷中有什么文件:
# tar -list -file /dev/fd0H1440
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/hdreg.h
usr/src/linux-1.2.10-includes/include/linux/kernel.h
...
#
  注意tar 永遠是順序讀一個備份卷,因此大的卷會很慢。使用磁帶機或其他順序介質(zhì)時不可能使用隨機存取數(shù)據(jù)庫技術。
tar 不處理刪除文件屬性。如果你需要從一個全備份和一個增量備份恢復一個文件系統(tǒng),并且2個備份之間你刪除了一個文件,當你恢復完后,這個文件又存在了。如果這個文件包含應該刪除的敏感數(shù)據(jù),這是個大問題。

    多級備份

  上面的章節(jié)概述了簡單備份的方法,對個人使用或小的站點使用。對于多數(shù)重負荷的使用,多級備份更適用。

  簡單備份有2個備份級:全備份和增量備份。通??梢杂腥我鈹?shù)量的備份級。全備份是0級,不同級別的增量備份是1、2、3...級,每個增量備份級備份同一或上一級別的上次備份后改變的所有東西。

  這樣多的目的是更便宜地允許更長的備份歷史backup history。在前面的例子中,備份歷史追溯到上一個全備份??梢栽龆啻艓頂U展備份歷史,但每個新磁帶擴展一周,這樣可能太貴。更長的備份歷史是有用的,因為刪除或損壞的文件可能長時間未被發(fā)現(xiàn)。即使不是一個文件的最新版本,也比沒有好。

  多級備份可以更便宜地擴展備份歷史。例如,如果你有10盤磁帶,可用磁帶1和2做月備份(每月的第一個周五),磁帶3-6做周備份(其他周五,因為每月最多可能有5個周五,因此需要4盤磁帶),磁帶7-10做日備份(周一到周四)。只增加了4盤磁帶,就將2周的備份歷史擴展到2個月。誠然,我們無法恢復這2個月中每個文件的所有版本,但這樣恢復的經(jīng)常是足夠好了。

  備份級可使文件系統(tǒng)恢復用最少的時間。如果你有許多只是單調(diào)增長級別數(shù)的增量備份,要恢復整個文件系統(tǒng),你需要回存所有備份。而如果級別數(shù)不是單調(diào)增長,可以減少備份和回存的數(shù)目。

  為了將回存需要的磁帶數(shù)據(jù)減至最小,可以用小的級別做每個增量磁帶。然而,這樣做每個增量備份的時間會增加(每個備份拷貝了上次全備份后改變的所有東西)。一個好的方案建議在dump man頁中給出,并在表 9.2中說明。 Use the following succession of backup levels: 3, 2, 5, 4, 7, 6, 9, 8, 9... 這使備份和回存所用的時間保持較少。 The most you have to backup is two day's worth of work. 恢復所需磁帶數(shù)有賴于全備份的間隔,但它比簡單的方案少。

  一個好的方案降低了工作量,并能追尋更多的東西。You must decide if it is worth it.

  dump 對備份級有內(nèi)置的支持。而tar 和cpio 則必須用shell scripts實現(xiàn)。

    備份什么?

  你可能想盡多備份。主要的例外是容易重安裝的軟件, 但即使是它們,也有配置文件,對備份很重要,以免對這些軟件全部重新配置。另一個主要的例外是/proc 文件系統(tǒng),因為他們只包含通常由核心自動產(chǎn)生的數(shù)據(jù),備份它們絕不是個好主意。特別是/proc/kcore 文件更是不必要,因為它只是你當前物理內(nèi)存的映象,而且很大。

  Gray areas include the news spool, log files, and many other things in /var . 你必須決定重點考慮什么。

  備份最明顯的是用戶文件(/home )和系統(tǒng)配置文件(/etc ,但還可能有散落在文件系統(tǒng)其他地方的其他東西。

    壓縮備份

  備份占用大量空間,要花費大量金錢。為了降低空間需求,備份可以壓縮。有幾種方法。有些程序內(nèi)置支持壓縮。例如GNU tar 的-gzip (-z)選項,通過管道(pipe),在寫到備份介質(zhì)前,先用 gzip 壓縮程序壓縮。

  不幸的是,壓縮備份可能導致問題。由于壓縮工作的原理,如果一個bit錯誤,可能導致所有其他壓縮數(shù)據(jù)不可用。有些備份程序內(nèi)置錯誤校正,但沒有辦法處理大量的錯誤。就是說,如果用GNU tar 壓縮備份,一個單獨的錯誤回導致整個備份丟失。備份必須可靠,這樣的壓縮方法不好。

  還有一個方法是單獨壓縮每個文件,這也回導致一個文件的丟失,但不會影響其他文件。丟失的文件可能已經(jīng)因為什么原因損壞,因此這種情況比不使用壓縮差不了多少。 afio 程序(cpio 的一個變種)可以這樣。

  壓縮需要時間,which may make the backup program unable to write data fast enough for a tape drive. 這可以靠輸出緩沖來避免(如果備份程序足夠智能,可以內(nèi)置,否則可以通過其他程序), but even that might not work well enough. 這只會在慢的計算機上是個問題。

 

 

相關文章

最新評論