天天看點

Linux作業系統備份之三:通過二進制拷貝(dd)方式實作Linux作業系統資料的備份

前面有兩篇文章,《Linux作業系統備份之一:使用LVM快照實作Linux作業系統資料的線上備份》和《Linux作業系統備份之二:通過tar拷貝分區實作Linux操作資料的線上備份》,分别介紹了兩種線上備份作業系統的方法。

前面兩種,都是為了不中斷業務而使用的較為精巧的備份。

今天我們介紹另外一種粗曠,但是相對簡單的備份方法:通過dd指令二進制拷貝方式備份作業系統資料。dd拷貝的方式不能線上實施,因為dd是二進制

的塊拷貝,若拷貝過程中有寫檔案操作,會導緻檔案系統不一緻(如某個節點建立到一半被dd拷貝走了),是以,這種方式必須進入記憶體操作系的單使用者模式下操

作,實施過程中不能挂接任何檔案系統。是以說是比較粗曠的方法。

環境要求

需要準備好裁減的記憶體作業系統。

準備用一台PC,作為DHCP伺服器,同時也作為備份檔案存放的伺服器(SSH Server)。

PC與Server之間建立SSH信任關系。

備份流程

1)在PC機上啟動DHCP Server和TFTP Server。

2)将Server設定為從網絡啟動,并重新開機。

3)Server啟動後DHCP Client請求到PC機上的DHCP Server後,配置設定到了臨時IP位址,然後通過TFTP加在記憶體作業系統。

4)我們的備份腳本也打包在記憶體操作性系統中,随記憶體操作性系統啟動。然後啟動備份。

5)腳本分成兩部分:排程和備份。排程腳本根據目前的CPU核數量,啟動同樣數量的備份腳本。排程腳本計算好塊大小,給每個備份腳本制定拷貝的塊範圍,直到整個作業系統盤(sda)拷貝完成位置。

6)排程腳本在啟動備份腳本之前,還會先mount一份記憶體檔案系統(ramfs),用于臨時存放拷貝的包。記憶體檔案系統的大小要根據伺服器自身的記憶體大小和每次塊拷貝的大小來确定。

7)備份腳本拷貝完成之後打包并通過scp傳輸到PC機器上,然後退出。排程腳本又啟動一個備份腳本,一直到整個sda拷貝完成為止。

8)最後重新開機作業系統完成備份。

恢複流程

恢複是一個逆向的過程,将壓縮包逐個解壓然後dd回去。