1. 程式人生 > >Linux作業系統備份之三:通過二進位制拷貝(dd)方式實現Linux作業系統資料的備份

Linux作業系統備份之三:通過二進位制拷貝(dd)方式實現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回去。