国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

對Linux上使用LUKS加密的部分進行備份

2020-07-10 11:18:54
字體:
來源:轉載
供稿:網友

我們中有些人出于安全原因,在家里或者VPS上通過Linux統一密鑰配置(LUKS)為硬盤驅動器加密,而這些驅動器的容量很快會增長到數十或數百GB。因此,雖然我們享受著LUKS設備帶來的安全感,但是我們也該開始考慮一個可能的遠程備份方案了。對于安全的非現場備份,我們將需要能在LUKS加密的設備上以塊級別操作的東西。因此,最后我們發現這么個狀況,我們每次都需要傳輸想要做備份的整個LUKS設備(比如說200GB大)。很明顯,這是不可行的。我們該怎么來處理這個問題呢?
一個解決方案: Bdsync

這時,一個卓越的開源工具來拯救我們了,它叫Bdsync(多虧了Rolf Fokkens)。顧名思義,Bdsync可以通過網絡同步“塊設備”。對于快速同步,Bdsync會生成并對比本地/遠程塊設備的塊的MD5校驗和,只同步差異部分。rsync在文件系統級別可以做的,Bdsync可以在塊設備級別完成。很自然,對于LUKS加密的設備它也能工作得很好。相當地靈巧!

使用Bdsync,首次備份將拷貝整個LUKS塊設備到遠程主機,因而會花費大量時間來完成。然而,在初始備份后,如果我們在LUKS設備新建一些文件,再次備份就會很快完成,因為我們只需拷貝修改過的塊。經典的增量備份在起作用了!
安裝Bdsync到Linux

Bdsync并不包含在Linux發行版的標準倉庫中,因而你需要從源代碼來構建它。使用以下針對特定版本的指令來安裝Bdsync及其手冊頁到你的系統中。
Debian,Ubuntu或Linux Mint

   

復制代碼
代碼如下:
$ sudo apt-get install git gcc libssl-dev
$ git clone https://github.com/TargetHolding/bdsync.git
$ cd bdsync
$ make
$ sudo cp bdsync /usr/local/sbin
$ sudo mkdir -p /usr/local/man/man1
$ sudo sh -c 'gzip -c bdsync.1 > /usr/local/man/man1/bdsync.1.gz'

Fedora或CentOS/RHEL

   

復制代碼
代碼如下:
$ sudo yum install git gcc openssl-devel
$ git clone https://github.com/TargetHolding/bdsync.git
$ cd bdsync
$ make
$ sudo cp bdsync /usr/local/sbin
$ sudo mkdir -p /usr/local/man/man1
$ sudo sh -c 'gzip -c bdsync.1 > /usr/local/man/man1/bdsync.1.gz'

對LUKS加密的設備實施非現場增量備份

我假定你已經準備好了一個LUKS加密的塊設備作為備份源(如,/dev/LOCDEV)。同時,我假定你也有一臺遠程主機,用以作為源設備的備份點(如,/dev/REMDEV)。

你需要在兩臺系統上具有root帳號訪問權限,并且設置從本地訪問遠程的無密碼SSH訪問。最后,你需要安裝Bdsync到兩臺主機上。

要在本地主機上初始化一個遠程備份進程,我們需要以root執行以下命令:

   

復制代碼
代碼如下:
# bdsync "ssh root@remote_host bdsync --server" /dev/LOCDEV /dev/REMDEV | gzip > /some_local_path/DEV.bdsync.gz

這里需要進行一些說明。Bdsync客戶端將以root打開一個到遠程主機的SSH連接,并執行帶有--server選項的Bdsync客戶端。明確說明一下,/dev/LOCDEV是我們的本地主機上的源LUKS塊設備,而/dev/REMDEV是遠程主機上的目標塊設備。它們可以是/dev/sda(作為整個磁盤),或者/dev/sda2(作為單個分區)。本地Bdsync客戶端的輸出結果隨后被管道輸送到gzip,用來在本地主機中創建DEV.bdsync.gz(所謂的二進制補丁文件)。

你第一次運行上面的命令的時候,它會花費很長一段時間,這取決于你的互聯網/局域網速度,以及/dev/LOCDEV的大小。記住,你必須有兩個大小相同的塊設備(/dev/LOCDEV和/dev/REMDEV)。

下一步是要將補丁文件從本地主機拷貝到遠程主機。一種方式是使用scp:

   

復制代碼
代碼如下:
# scp /some_local_path/DEV.bdsync.gz root@remote_host:/remote_path

最后一步,是要在遠程主機上執行以下命令,它們會將補丁文件應用到/dev/REMDEV:

   

復制代碼
代碼如下:
# gzip -d < /remote_path/DEV.bdsync.gz | bdsync --patch=/dev/DSTDEV

我推薦在使用真實數據部署Bdsync前,使用一些(沒有任何重要數據)小分區來做這些測試。在你完全弄懂整個設置是如何工作之后,你可以開始備份真實數據。
尾聲

小結之,我們演示了如何使用Bdsync來為LUKS設備實施增量備份。和rsync一樣,每次備份只有一小部分數據,而不是整個LUKS設備,需要被推送到非現場備份點,這樣會節省帶寬和備份時間。剩下來,需要通過SSH或SCP來保證所有數據傳輸的安全,事實上設備自身是由LUKS加密的。也可以通過使用可以運行bdsync的專用用戶(而非root)來改進該配置。我們也可以將bdsync用于任何塊設備,如LVM卷或RAID磁盤,也可以很輕易地設置Bdsync備份本地磁盤到USB驅動器上。如你所見,它有著無限可能性!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳东县| 阿拉尔市| 昌黎县| 化德县| 广安市| 湘乡市| 清涧县| 连南| 巴东县| 望谟县| 呈贡县| 梁河县| 宽甸| 宁城县| 山东| 岳池县| 鹤岗市| 荆州市| 绥中县| 会东县| 罗定市| 章丘市| 陇西县| 和林格尔县| 绩溪县| 浏阳市| 宣恩县| 禹城市| 昌宁县| 息烽县| 永泰县| 澜沧| 汽车| 右玉县| 永胜县| 新晃| 宽城| 新余市| 安乡县| 九龙县| 哈密市|