首頁 > linux教程 > Linux數據備份與恢復 閱讀:0更新時間:2020-03-28 01:07:13

Linux數據備份介質的選擇

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

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

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

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

除此之外,當然還要兼顧到成本。

對于一些小型設備(如臺式計算機、個人站點)的備份來說,刻錄光盤或者移動硬盤時比較合適的選擇,這些存儲介質價格低廉,且能提供足夠大的備份空間,在穩定性方面,這兩種介質通常能有 5 年左右的壽命。

大型系統的備份,需要使用磁帶機。磁帶具有容量大、保存時間長的特點,適合用于數據量大、更新頻率高的環境。市面上有大量磁帶產品,從低端到高端,只要和存儲沾點邊的硬件廠商,通常都不會放棄這個大市場。這里重點介紹一下磁帶機的使用方法。

linux 下使用磁帶機的方式有多種,tar 命令是最經常使用的方法。tar 主要用于單機環境下,將數據直接寫入磁帶機。磁帶機在 Linux 下對應的設備名稱為 /dev/stX,如果是第一個磁帶機,即為 /dev/st0?;静僮魅缦拢?/p>

  1. 倒帶,將磁帶卷至起始位置,執行命令如下:

    [root@localhost ~]# mt -f /dev/st0 rewind

  2. 擦掉磁帶上的內容。

    [root@localhost ~]# mt -f /dev/st0 erase

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

  3. 出帶,即將磁帶卷至初始位置然后從磁帶機內彈出,執行命令如下:

    [root@localhost ~]# mt -f /dev/st0 offline

  4. 通過 tar 列出磁帶上的目錄或者文件,執行命令如下:

    [root@localhost ~]# tar tvf /dev/st0  <--需要查看的文件或者目錄

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

  5. 通過 tar 備份數據到磁帶,執行如下命令:

    [root@localhost ~]# tar cvf /dev/st0 <--要寫入的文件或目錄名

    備份數據到磁帶有兩種方式,即打包壓縮后寫入磁帶和不打包直接寫入磁帶。這里我們推薦將數據不打包直接寫入磁帶的方法,這樣可以提高數據存儲的安全性。

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

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

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

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

  6. 通過 tar 繼續寫入數據到磁帶,執行命令如下:

    [root@localhost ~]# tar rvf /dev/st0 <--要寫入的文件名

    由于磁帶是線性存儲,數據是依次寫入的,因此為了在寫入新的數據時,不搜蓋原有已經存在的數據,可以使用&ldquo;tar rvf&rdquo;參數組合將數據依次寫入磁帶。

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

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

  7. 通過 tar 將數據從磁帶恢復到磁盤,執行命令如下:

    [root@localhost ~]# tar xvf /dev/st0 <--要恢復的文件或目錄名

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

    [root@localhost ~]#  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@localhost ~]# tar xvf /dev/st0 ixdba2.tar.gz
    ixdba2.tar.gz

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

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

優秀教程

国产亚洲欧美日韩