歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

淺談Linux系統的備份策略

一  為何要備份Linux系統

一個應用中的Linux系統,受內部環境影響、底層硬件的影響、外來黑客的攻擊,出現問題是難免的,作為一名系統管理人員,自身的職責並不是要保證系統永遠不出現問題,事實上也是不可能的,而是在系統出現故障或者崩潰時,能以最快的速度,在最短的時間內恢復系統的運行,保證數據的安全,將故障帶來的損失降到最低點。

這就要求系統管理人員對操作系統和業務應用有一個合理的備份恢復策略,完美的備份策略可以保證業務的零宕機時間和數據的完全恢復。由於業務是運行在操作系統之上,因此操作系統的備份與恢復效率直接關系到整個業務系統的恢復程度。所以操作系統的備份變得至關重要。

二  Linux系統需要備份的數據

在windows下有ghost軟件,可以將整個系統完全復制到另一個硬盤,ghost是一種磁盤鏡像技術,可以將系統盤所有數據鏡像到另一個備份硬盤上,當系統出現問題,用備份的鏡像磁盤,在短時間內即可將系統所有數據完全恢復。

Linux下雖然也有類似ghost的工具,但是由於硬件的兼容性、恢復的復雜度等影響,ghost並不能很好的用於Linux鏡像備份,同時如果Linux系統磁盤分區過大,備份和恢復過程都會很長,因此ghost並不適合備份Linux操作系統。

事實上,全盤備份系統並不是一個好的策略,Linux操作系統也沒有必要完全備份,我們僅僅需要備份系統的所有配置文件即可,這樣備份過程迅速,恢復也快。

Linux系統需要備份的文件大致可以分為兩類:系統級配置文件和用戶級配置文件。

系統級配置文件主要是系統全局的一些配置信息,例如/etc/目錄、/home目錄、/boot目錄、/root目錄等。這些目錄對系統運行至關重要,並且針對不同的系統應用設置都不盡相同,如果丟失了這些文件,即使新的操作系統能很快安裝完畢,對系統也要重新配置,花費的時間會更長。

用戶級配置文件是用戶的業務應用與系統相關的配置文件,這些文件是運行系統業務應用必不可少的,一旦丟失,系統業務就會無法啟動,例如/usr/local整個目錄、/var/www目錄、/etc整個目錄等。

重要的文件是必須要備份的,那麼不需要備份的目錄有哪些呢,例如/dev目錄、/proc目錄、/mnt目錄、/tmp目錄等這些目錄都是不需要備份的,因為這些目錄中要麼是內存數據,要麼是臨時文件,沒有重要的數據,備份的原則是重要數據一定要全部備份,無用數據絕不備份。

三 備份的介質與方式

要備份數據,就要有存放數據的安全容器,對存儲介質的基本要求一般從存取速度、存儲安全、存儲容量三個方面進行考慮。

存取速度是對存儲介質的一個基本要求,數據的備份是一個讀寫操作極度頻繁的過程,存取速度非常高的備份介質,可以大大縮短備份數據的時間,同時也可以減少恢復數據的時間。

存儲安全性是對存儲介質的一個硬性要求,不安全的存儲設備還不如不要存儲介質,現在很多存儲設備都對安全性做了很多優化,例如做raid磁盤陣列,cache讀寫等。專業的存儲廠商有EMC、IBM、SUN等,都有自己的存儲設備。

存儲容量也是選擇存儲介質必須要考慮的一個方面,過大的存儲空間會造成存儲設備的浪費,過小的存儲空間,導致數據存儲失敗,因此,必須根據備份數據的大小,選擇相應大小的存儲介質。

1.常用備份介質

常用的存儲介質有光驅、磁盤、磁帶機、軟盤等,這裡重點介紹一下磁帶機的使用方法:

Linux下使用磁帶機的方式有多種, tar命令是最經常使用的方法,tar主要用於單機環境下,將數據直接寫入磁帶機。磁帶機在Linux下對應的設備名稱為/dev/stX,如果是第一個磁帶機,即為/dev/st0,基本操作如下:

(1)倒帶,將磁帶卷至起始位置

 mt -f /dev/st0 rewind

(2)擦掉磁帶上的內容

 mt -f /dev/st0 erase

新購買的磁帶,打開後即可使用,無需進行擦寫操作,同時當數據寫滿磁帶後,磁帶可以覆蓋原有數據並繼續寫入,因此無需進行任何擦寫動作,由於擦寫對磁帶有一定的損害,建議不要執行擦寫操作。

(3)出帶,即將磁帶卷至初始位置然後從磁帶機內彈出

 mt –f /dev/st0 offline

(4)通過tar列出磁帶上的目錄或者文件

 tar tvf /dev/st0 [需要查看的文件或者目錄]

 如果後面不跟任何文件或目錄,則是查看磁帶上所有數據,當磁帶上還沒有任何數據時,執行此操作會報錯,不過不影響磁帶使用。

(5)通過tar備份數據到磁帶

 tar cvf /dev/st0 [要寫入的文件或目錄名]

備份數據到磁帶有兩種方式,打包壓縮後寫入磁帶和不打包直接寫入磁帶。這裡我們推薦將數據不打包直接寫入磁帶的方法。這樣可以提高數據存儲的安全性。為什麼建議不打包備份呢,因為磁帶是順序寫入數據的,即線性存儲,如果將所有數據打包成一個獨立的文件,那麼當磁帶任何一個地方發生故障,都可能會導致這個壓縮文件解壓失敗而不可用,而如果對備份數據進行不打包存儲的話,在磁帶上就有很多文件,即使磁帶某個地方發生故障,其余的文件仍然可用,這樣就大大提高了數據備份的安全性。

例如,將/data/ixdba1.tar.gz這個壓縮文件寫入到磁帶,並覆蓋原有的內容,可以執行如下操作:

[root@webserver /data]# tar cvf /dev/st0  /data/ixdba1.tar.gz

通過“tar cvf”將數據寫入磁帶時,每次都會覆蓋磁帶中原有的數據,也就是每次都是從磁帶的開始部分寫入數據。磁帶機的傳輸速度比較慢,對於不是很大的備份文件,在很短時間內就能備份完成,非常適合做系統級的文件備份。

(6)通過tar繼續寫入數據到磁帶

 tar rvf /dev/st0 [要寫入的文件名]

 由於磁帶是線性存儲,數據是依次寫入的,為了在寫入新的數據時,不覆蓋原有已經存在的數據,可以使用“tar rvf”參數組合將數據依次寫入磁帶。

例如,依次將/data/ixdba2.tar.gz和/data/ixdba3.tar.gz備份到磁帶機上:

[root@webserver /data]# tar rvf /dev/st0  /data/ixdba2.tar.gz

[root@webserver /data]# tar rvf /dev/st0  /data/ixdba3.tar.gz

(7)通過tar將數據從磁帶恢復到磁盤

 tar xvf /dev/st0 [要恢復的文件或者目錄名]

 例如,首先查閱磁帶上存在的所有數據:

[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

現在如果要恢復磁帶上的ixdba2.tar.gz文件到磁盤,可以執行如下命令:

[root@webserver ~]# tar xvf /dev/st0 ixdba2.tar.gz

ixdba2.tar.gz

這樣就將數據從磁帶恢復到了當前的路徑下。

2.數據備份方式

數據的備份方式常見的有本地備份和異地容災備份,可以根據對數據重要性的要求程度,選擇合理的備份方式。

本地備份就是將數據備份到本地系統的磁盤、磁帶或者專有存儲設備上,本地備份是對數據安全的一級考慮,主要是針對系統故障或者黑客攻擊等造成的數據丟失情況。

異地容災是對數據和業務安全性考慮的更高指標,主要是將數據備份到另一個城市或者國家,主要是針對可能發生的自然災害,例如地震、火災、水災等,當這些自然災害發生時,本地備份數據也將全部丟失,此時,就需要通過遠程的容災備份來恢復數據。

四  制定備份策略

常用的備份策略有完全備份、增量備份,同時增量備份還可以分為差異增量備份和累計增量備份,下面簡單講述下它們之間的區別。

1.完全備份

完全備份就是將所有數據全部備份,對於Linux操作系統來說,就是將根分區下所有文件進行備份,完全備份的好處是:所有數據都進行了備份,系統任何數據丟失都能恢復,並且恢復效率高;缺點是備份時間較長,備份了很多無用數據,浪費了存儲空間。

2.增量備份

在一個數據量很大的業務應用中,每天對系統進行完全備份是不現實的,這就需要增量備份策略了。增量備份就是只備份每天增加或者變化的數據,而不備份系統中沒有變動的數據,這樣備份的數據量就大大減少了,可以縮短備份時間,但是增量備份也有缺點,那就是恢復數據時比較復雜,需要用首次完全備份的數據和增量備份數據組合進行恢復,如果有多個增量備份文件,恢復過程將變得十分緩慢。

一個比較好的備份策略是:對於數據量不大,並且每天數據量增加不多的系統,建議選擇完全備份,備份過程較短,恢復也很簡單。對於數據量巨大,每天新增數據也很多的系統,一定要選擇增量備份。

本文出自 “技術成就夢想” 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/526067

Copyright © Linux教程網 All Rights Reserved