一 為何要備份Linux系統(tǒng)
一個(gè)應(yīng)用中的Linux系統(tǒng),受內(nèi)部環(huán)境影響、底層硬件的影響、外來(lái)黑客的攻擊,出現(xiàn)問(wèn)題是難免的,作為一名系統(tǒng)管理人員,自身的職責(zé)并不是要保證系統(tǒng)永遠(yuǎn)不出現(xiàn)問(wèn)題,事實(shí)上也是不可能的,而是在系統(tǒng)出現(xiàn)故障或者崩潰時(shí),能以最快的速度,在最短的時(shí)間內(nèi)恢復(fù)系統(tǒng)的運(yùn)行,保證數(shù)據(jù)的安全,將故障帶來(lái)的損失降到最低點(diǎn)。 這就要求系統(tǒng)管理人員對(duì)操作系統(tǒng)和業(yè)務(wù)應(yīng)用有一個(gè)合理的備份恢復(fù)策略,完美的備份策略可以保證業(yè)務(wù)的零宕機(jī)時(shí)間和數(shù)據(jù)的完全恢復(fù)。由于業(yè)務(wù)是運(yùn)行在操作系統(tǒng)之上,因此操作系統(tǒng)的備份與恢復(fù)效率直接關(guān)系到整個(gè)業(yè)務(wù)系統(tǒng)的恢復(fù)程度。所以操作系統(tǒng)的備份變得至關(guān)重要。 二 Linux系統(tǒng)需要備份的數(shù)據(jù) 在windows下有g(shù)host軟件,可以將整個(gè)系統(tǒng)完全復(fù)制到另一個(gè)硬盤(pán),ghost是一種磁盤(pán)鏡像技術(shù),可以將系統(tǒng)盤(pán)所有數(shù)據(jù)鏡像到另一個(gè)備份硬盤(pán)上,當(dāng)系統(tǒng)出現(xiàn)問(wèn)題,用備份的鏡像磁盤(pán),在短時(shí)間內(nèi)即可將系統(tǒng)所有數(shù)據(jù)完全恢復(fù)。 Linux下雖然也有類似ghost的工具,但是由于硬件的兼容性、恢復(fù)的復(fù)雜度等影響,ghost并不能很好的用于Linux鏡像備份,同時(shí)如果Linux系統(tǒng)磁盤(pán)分區(qū)過(guò)大,備份和恢復(fù)過(guò)程都會(huì)很長(zhǎng),因此ghost并不適合備份Linux操作系統(tǒng)。 事實(shí)上,全盤(pán)備份系統(tǒng)并不是一個(gè)好的策略,Linux操作系統(tǒng)也沒(méi)有必要完全備份,我們僅僅需要備份系統(tǒng)的所有配置文件即可,這樣備份過(guò)程迅速,恢復(fù)也快。 Linux系統(tǒng)需要備份的文件大致可以分為兩類:系統(tǒng)級(jí)配置文件和用戶級(jí)配置文件。 系統(tǒng)級(jí)配置文件主要是系統(tǒng)全局的一些配置信息,例如/etc/目錄、/home目錄、/boot目錄、/root目錄等。這些目錄對(duì)系統(tǒng)運(yùn)行至關(guān)重要,并且針對(duì)不同的系統(tǒng)應(yīng)用設(shè)置都不盡相同,如果丟失了這些文件,即使新的操作系統(tǒng)能很快安裝完畢,對(duì)系統(tǒng)也要重新配置,花費(fèi)的時(shí)間會(huì)更長(zhǎng)。 用戶級(jí)配置文件是用戶的業(yè)務(wù)應(yīng)用與系統(tǒng)相關(guān)的配置文件,這些文件是運(yùn)行系統(tǒng)業(yè)務(wù)應(yīng)用必不可少的,一旦丟失,系統(tǒng)業(yè)務(wù)就會(huì)無(wú)法啟動(dòng),例如/usr/local整個(gè)目錄、/var/www目錄、/etc整個(gè)目錄等。 重要的文件是必須要備份的,那么不需要備份的目錄有哪些呢,例如/dev目錄、/proc目錄、/mnt目錄、/tmp目錄等這些目錄都是不需要備份的,因?yàn)檫@些目錄中要么是內(nèi)存數(shù)據(jù),要么是臨時(shí)文件,沒(méi)有重要的數(shù)據(jù),備份的原則是重要數(shù)據(jù)一定要全部備份,無(wú)用數(shù)據(jù)絕不備份。 三 備份的介質(zhì)與方式 要備份數(shù)據(jù),就要有存放數(shù)據(jù)的安全容器,對(duì)存儲(chǔ)介質(zhì)的基本要求一般從存取速度、存儲(chǔ)安全、存儲(chǔ)容量三個(gè)方面進(jìn)行考慮。 存取速度是對(duì)存儲(chǔ)介質(zhì)的一個(gè)基本要求,數(shù)據(jù)的備份是一個(gè)讀寫(xiě)操作極度頻繁的過(guò)程,存取速度非常高的備份介質(zhì),可以大大縮短備份數(shù)據(jù)的時(shí)間,同時(shí)也可以減少恢復(fù)數(shù)據(jù)的時(shí)間。 存儲(chǔ)安全性是對(duì)存儲(chǔ)介質(zhì)的一個(gè)硬性要求,不安全的存儲(chǔ)設(shè)備還不如不要存儲(chǔ)介質(zhì),現(xiàn)在很多存儲(chǔ)設(shè)備都對(duì)安全性做了很多優(yōu)化,例如做raid磁盤(pán)陣列,cache讀寫(xiě)等。專業(yè)的存儲(chǔ)廠商有EMC、IBM、SUN等,都有自己的存儲(chǔ)設(shè)備。 存儲(chǔ)容量也是選擇存儲(chǔ)介質(zhì)必須要考慮的一個(gè)方面,過(guò)大的存儲(chǔ)空間會(huì)造成存儲(chǔ)設(shè)備的浪費(fèi),過(guò)小的存儲(chǔ)空間,導(dǎo)致數(shù)據(jù)存儲(chǔ)失敗,因此,必須根據(jù)備份數(shù)據(jù)的大小,選擇相應(yīng)大小的存儲(chǔ)介質(zhì)。 1.常用備份介質(zhì) 常用的存儲(chǔ)介質(zhì)有光驅(qū)、磁盤(pán)、磁帶機(jī)、軟盤(pán)等,這里重點(diǎn)介紹一下磁帶機(jī)的使用方法: Linux下使用磁帶機(jī)的方式有多種, tar命令是最經(jīng)常使用的方法,tar主要用于單機(jī)環(huán)境下,將數(shù)據(jù)直接寫(xiě)入磁帶機(jī)。磁帶機(jī)在Linux下對(duì)應(yīng)的設(shè)備名稱為/dev/stX,如果是第一個(gè)磁帶機(jī),即為/dev/st0,基本操作如下: (1)倒帶,將磁帶卷至起始位置 mt -f /dev/st0 rewind (2)擦掉磁帶上的內(nèi)容 mt -f /dev/st0 erase 新購(gòu)買(mǎi)的磁帶,打開(kāi)后即可使用,無(wú)需進(jìn)行擦寫(xiě)操作,同時(shí)當(dāng)數(shù)據(jù)寫(xiě)滿磁帶后,磁帶可以覆蓋原有數(shù)據(jù)并繼續(xù)寫(xiě)入,因此無(wú)需進(jìn)行任何擦寫(xiě)動(dòng)作,由于擦寫(xiě)對(duì)磁帶有一定的損害,建議不要執(zhí)行擦寫(xiě)操作。 (3)出帶,即將磁帶卷至初始位置然后從磁帶機(jī)內(nèi)彈出 mt –f /dev/st0 offline (4)通過(guò)tar列出磁帶上的目錄或者文件 tar tvf /dev/st0 [需要查看的文件或者目錄](méi) 如果后面不跟任何文件或目錄,則是查看磁帶上所有數(shù)據(jù),當(dāng)磁帶上還沒(méi)有任何數(shù)據(jù)時(shí),執(zhí)行此操作會(huì)報(bào)錯(cuò),不過(guò)不影響磁帶使用。 (5)通過(guò)tar備份數(shù)據(jù)到磁帶 tar cvf /dev/st0 [要寫(xiě)入的文件或目錄名] 備份數(shù)據(jù)到磁帶有兩種方式,打包壓縮后寫(xiě)入磁帶和不打包直接寫(xiě)入磁帶。這里我們推薦將數(shù)據(jù)不打包直接寫(xiě)入磁帶的方法。這樣可以提高數(shù)據(jù)存儲(chǔ)的安全性。為什么建議不打包備份呢,因?yàn)榇艓琼樞驅(qū)懭霐?shù)據(jù)的,即線性存儲(chǔ),如果將所有數(shù)據(jù)打包成一個(gè)獨(dú)立的文件,那么當(dāng)磁帶任何一個(gè)地方發(fā)生故障,都可能會(huì)導(dǎo)致這個(gè)壓縮文件解壓失敗而不可用,而如果對(duì)備份數(shù)據(jù)進(jìn)行不打包存儲(chǔ)的話,在磁帶上就有很多文件,即使磁帶某個(gè)地方發(fā)生故障,其余的文件仍然可用,這樣就大大提高了數(shù)據(jù)備份的安全性。 例如,將/data/ixdba1.tar.gz這個(gè)壓縮文件寫(xiě)入到磁帶,并覆蓋原有的內(nèi)容,可以執(zhí)行如下操作: [root@webserver /data]# tar cvf /dev/st0 /data/ixdba1.tar.gz 通過(guò)“tar cvf”將數(shù)據(jù)寫(xiě)入磁帶時(shí),每次都會(huì)覆蓋磁帶中原有的數(shù)據(jù),也就是每次都是從磁帶的開(kāi)始部分寫(xiě)入數(shù)據(jù)。磁帶機(jī)的傳輸速度比較慢,對(duì)于不是很大的備份文件,在很短時(shí)間內(nèi)就能備份完成,非常適合做系統(tǒng)級(jí)的文件備份。 (6)通過(guò)tar繼續(xù)寫(xiě)入數(shù)據(jù)到磁帶 tar rvf /dev/st0 [要寫(xiě)入的文件名] 由于磁帶是線性存儲(chǔ),數(shù)據(jù)是依次寫(xiě)入的,為了在寫(xiě)入新的數(shù)據(jù)時(shí),不覆蓋原有已經(jīng)存在的數(shù)據(jù),可以使用“tar rvf”參數(shù)組合將數(shù)據(jù)依次寫(xiě)入磁帶。 例如,依次將/data/ixdba2.tar.gz和/data/ixdba3.tar.gz備份到磁帶機(jī)上: [root@webserver /data]# tar rvf /dev/st0 /data/ixdba2.tar.gz [root@webserver /data]# tar rvf /dev/st0 /data/ixdba3.tar.gz (7)通過(guò)tar將數(shù)據(jù)從磁帶恢復(fù)到磁盤(pán) tar xvf /dev/st0 [要恢復(fù)的文件或者目錄名] 例如,首先查閱磁帶上存在的所有數(shù)據(jù): [root@webserver ~]# tar tvf /dev/st0 -rw-r--r-- root/root 320 2009-2-20 10:19:02 ixdba1.tar.gz -rw-r--r-- root/root 320 2009-2-20 10:25:10 ixdba2.tar.gz -rw-r--r-- root/root 320 2009-2-20 10:45:18 ixdba3.tar.gz 現(xiàn)在如果要恢復(fù)磁帶上的ixdba2.tar.gz文件到磁盤(pán),可以執(zhí)行如下命令: [root@webserver ~]# tar xvf /dev/st0 ixdba2.tar.gz ixdba2.tar.gz 這樣就將數(shù)據(jù)從磁帶恢復(fù)到了當(dāng)前的路徑下。 2.?dāng)?shù)據(jù)備份方式 數(shù)據(jù)的備份方式常見(jiàn)的有本地備份和異地容災(zāi)備份,可以根據(jù)對(duì)數(shù)據(jù)重要性的要求程度,選擇合理的備份方式。 本地備份就是將數(shù)據(jù)備份到本地系統(tǒng)的磁盤(pán)、磁帶或者專有存儲(chǔ)設(shè)備上,本地備份是對(duì)數(shù)據(jù)安全的一級(jí)考慮,主要是針對(duì)系統(tǒng)故障或者黑客攻擊等造成的數(shù)據(jù)丟失情況。 異地容災(zāi)是對(duì)數(shù)據(jù)和業(yè)務(wù)安全性考慮的更高指標(biāo),主要是將數(shù)據(jù)備份到另一個(gè)城市或者國(guó)家,主要是針對(duì)可能發(fā)生的自然災(zāi)害,例如地震、火災(zāi)、水災(zāi)等,當(dāng)這些自然災(zāi)害發(fā)生時(shí),本地備份數(shù)據(jù)也將全部丟失,此時(shí),就需要通過(guò)遠(yuǎn)程的容災(zāi)備份來(lái)恢復(fù)數(shù)據(jù)。 四 制定備份策略 常用的備份策略有完全備份、增量備份,同時(shí)增量備份還可以分為差異增量備份和累計(jì)增量備份,下面簡(jiǎn)單講述下它們之間的區(qū)別。 1.完全備份 完全備份就是將所有數(shù)據(jù)全部備份,對(duì)于Linux操作系統(tǒng)來(lái)說(shuō),就是將根分區(qū)下所有文件進(jìn)行備份,完全備份的好處是:所有數(shù)據(jù)都進(jìn)行了備份,系統(tǒng)任何數(shù)據(jù)丟失都能恢復(fù),并且恢復(fù)效率高;缺點(diǎn)是備份時(shí)間較長(zhǎng),備份了很多無(wú)用數(shù)據(jù),浪費(fèi)了存儲(chǔ)空間。 2.增量備份 在一個(gè)數(shù)據(jù)量很大的業(yè)務(wù)應(yīng)用中,每天對(duì)系統(tǒng)進(jìn)行完全備份是不現(xiàn)實(shí)的,這就需要增量備份策略了。增量備份就是只備份每天增加或者變化的數(shù)據(jù),而不備份系統(tǒng)中沒(méi)有變動(dòng)的數(shù)據(jù),這樣備份的數(shù)據(jù)量就大大減少了,可以縮短備份時(shí)間,但是增量備份也有缺點(diǎn),那就是恢復(fù)數(shù)據(jù)時(shí)比較復(fù)雜,需要用首次完全備份的數(shù)據(jù)和增量備份數(shù)據(jù)組合進(jìn)行恢復(fù),如果有多個(gè)增量備份文件,恢復(fù)過(guò)程將變得十分緩慢。 一個(gè)比較好的備份策略是:對(duì)于數(shù)據(jù)量不大,并且每天數(shù)據(jù)量增加不多的系統(tǒng),建議選擇完全備份,備份過(guò)程較短,恢復(fù)也很簡(jiǎn)單。對(duì)于數(shù)據(jù)量巨大,每天新增數(shù)據(jù)也很多的系統(tǒng),一定要選擇增量備份。 |
|