佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫(kù) > 對(duì)Linux上使用LUKS加密的部分進(jìn)行備份

對(duì)Linux上使用LUKS加密的部分進(jìn)行備份

熱門標(biāo)簽:硅谷的囚徒呼叫中心 外呼系統(tǒng) 電話機(jī)器人搭建 家政服務(wù)網(wǎng)絡(luò) 美團(tuán) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 解決方案 服務(wù)器配置

我們中有些人出于安全原因,在家里或者VPS上通過Linux統(tǒng)一密鑰配置(LUKS)為硬盤驅(qū)動(dòng)器加密,而這些驅(qū)動(dòng)器的容量很快會(huì)增長(zhǎng)到數(shù)十或數(shù)百GB。因此,雖然我們享受著LUKS設(shè)備帶來的安全感,但是我們也該開始考慮一個(gè)可能的遠(yuǎn)程備份方案了。對(duì)于安全的非現(xiàn)場(chǎng)備份,我們將需要能在LUKS加密的設(shè)備上以塊級(jí)別操作的東西。因此,最后我們發(fā)現(xiàn)這么個(gè)狀況,我們每次都需要傳輸想要做備份的整個(gè)LUKS設(shè)備(比如說200GB大)。很明顯,這是不可行的。我們?cè)撛趺磥硖幚磉@個(gè)問題呢?
一個(gè)解決方案: Bdsync

這時(shí),一個(gè)卓越的開源工具來拯救我們了,它叫Bdsync(多虧了Rolf Fokkens)。顧名思義,Bdsync可以通過網(wǎng)絡(luò)同步“塊設(shè)備”。對(duì)于快速同步,Bdsync會(huì)生成并對(duì)比本地/遠(yuǎn)程塊設(shè)備的塊的MD5校驗(yàn)和,只同步差異部分。rsync在文件系統(tǒng)級(jí)別可以做的,Bdsync可以在塊設(shè)備級(jí)別完成。很自然,對(duì)于LUKS加密的設(shè)備它也能工作得很好。相當(dāng)?shù)仂`巧!

使用Bdsync,首次備份將拷貝整個(gè)LUKS塊設(shè)備到遠(yuǎn)程主機(jī),因而會(huì)花費(fèi)大量時(shí)間來完成。然而,在初始備份后,如果我們?cè)贚UKS設(shè)備新建一些文件,再次備份就會(huì)很快完成,因?yàn)槲覀冎恍杩截愋薷倪^的塊。經(jīng)典的增量備份在起作用了!
安裝Bdsync到Linux

Bdsync并不包含在Linux發(fā)行版的標(biāo)準(zhǔn)倉(cāng)庫(kù)中,因而你需要從源代碼來構(gòu)建它。使用以下針對(duì)特定版本的指令來安裝Bdsync及其手冊(cè)頁到你的系統(tǒng)中。
Debian,Ubuntu或Linux Mint

   

復(fù)制代碼
代碼如下:
$ 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

   

復(fù)制代碼
代碼如下:
$ 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'

對(duì)LUKS加密的設(shè)備實(shí)施非現(xiàn)場(chǎng)增量備份

我假定你已經(jīng)準(zhǔn)備好了一個(gè)LUKS加密的塊設(shè)備作為備份源(如,/dev/LOCDEV)。同時(shí),我假定你也有一臺(tái)遠(yuǎn)程主機(jī),用以作為源設(shè)備的備份點(diǎn)(如,/dev/REMDEV)。

你需要在兩臺(tái)系統(tǒng)上具有root帳號(hào)訪問權(quán)限,并且設(shè)置從本地訪問遠(yuǎn)程的無密碼SSH訪問。最后,你需要安裝Bdsync到兩臺(tái)主機(jī)上。

要在本地主機(jī)上初始化一個(gè)遠(yuǎn)程備份進(jìn)程,我們需要以root執(zhí)行以下命令:

   

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

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

你第一次運(yùn)行上面的命令的時(shí)候,它會(huì)花費(fèi)很長(zhǎng)一段時(shí)間,這取決于你的互聯(lián)網(wǎng)/局域網(wǎng)速度,以及/dev/LOCDEV的大小。記住,你必須有兩個(gè)大小相同的塊設(shè)備(/dev/LOCDEV和/dev/REMDEV)。

下一步是要將補(bǔ)丁文件從本地主機(jī)拷貝到遠(yuǎn)程主機(jī)。一種方式是使用scp:

   

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

最后一步,是要在遠(yuǎn)程主機(jī)上執(zhí)行以下命令,它們會(huì)將補(bǔ)丁文件應(yīng)用到/dev/REMDEV:

   

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

我推薦在使用真實(shí)數(shù)據(jù)部署B(yǎng)dsync前,使用一些(沒有任何重要數(shù)據(jù))小分區(qū)來做這些測(cè)試。在你完全弄懂整個(gè)設(shè)置是如何工作之后,你可以開始備份真實(shí)數(shù)據(jù)。
尾聲

小結(jié)之,我們演示了如何使用Bdsync來為L(zhǎng)UKS設(shè)備實(shí)施增量備份。和rsync一樣,每次備份只有一小部分?jǐn)?shù)據(jù),而不是整個(gè)LUKS設(shè)備,需要被推送到非現(xiàn)場(chǎng)備份點(diǎn),這樣會(huì)節(jié)省帶寬和備份時(shí)間。剩下來,需要通過SSH或SCP來保證所有數(shù)據(jù)傳輸?shù)陌踩?,事?shí)上設(shè)備自身是由LUKS加密的。也可以通過使用可以運(yùn)行bdsync的專用用戶(而非root)來改進(jìn)該配置。我們也可以將bdsync用于任何塊設(shè)備,如LVM卷或RAID磁盤,也可以很輕易地設(shè)置Bdsync備份本地磁盤到USB驅(qū)動(dòng)器上。如你所見,它有著無限可能性!

標(biāo)簽:北海 烏蘭察布 韶關(guān) 邢臺(tái) 臨沂 撫州 南昌 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《對(duì)Linux上使用LUKS加密的部分進(jìn)行備份》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    革吉县| 景洪市| 德庆县| 金平| 新平| 平邑县| 连江县| 历史| 德庆县| 湘潭市| 商都县| 千阳县| 阿尔山市| 华宁县| 龙泉市| 大姚县| 玉田县| 万荣县| 阿克| 鹿泉市| 焦作市| 安国市| 涞源县| 丹江口市| 浦县| 确山县| 当阳市| 西林县| 衢州市| 大兴区| 离岛区| 西畴县| 桂东县| 扬州市| 长阳| 银川市| 石首市| 米泉市| 临漳县| 珲春市| 宕昌县|