不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦>學習電腦>操作系統(tǒng)>Linux教程>

Linux使用S3QL創(chuàng)建加密文件系統(tǒng)的方法

時間: 孫勝652 分享

  Linux系統(tǒng)操作中,S3QL可用于創(chuàng)建一個加密文件系統(tǒng),能夠在線存儲數據,那么基于Amazon S3的S3QL要如何創(chuàng)建一個云端加密文件系統(tǒng)呢?隨學習啦小編一起來了解下吧。

  Amazon S3 和 Google Cloud Storage 之類的商業(yè)云存儲服務以能承受的價格提供了高可用性、可擴展、無限容量的對象存儲服務。為了加速這些云產品的廣泛采用,這些提供商為他們的產品通過明確的 API 和 SDK 培養(yǎng)了一個良好的開發(fā)者生態(tài)系統(tǒng)。而基于云的文件系統(tǒng)便是這些活躍的開發(fā)者社區(qū)中的典型產品,已經有了好幾個開源的實現。

  S3QL 便是最流行的開源云端文件系統(tǒng)之一。它是一個基于 FUSE 的文件系統(tǒng),提供了好幾個商業(yè)或開源的云存儲后端,比如 Amazon S3、Google Cloud Storage、Rackspace CloudFiles,還有 OpenStack。作為一個功能完整的文件系統(tǒng),S3QL 擁有不少強大的功能:最大 2T 的文件大小、壓縮、UNIX 屬性、加密、基于寫入時復制的快照、不可變樹、重復數據刪除,以及軟、硬鏈接支持等等。寫入 S3QL 文件系統(tǒng)任何數據都將首先被本地壓縮、加密,之后才會傳輸到云后端。當你試圖從 S3QL 文件系統(tǒng)中取出內容的時候,如果它們不在本地緩存中,相應的對象會從云端下載回來,然后再即時地解密、解壓縮。

  需要明確的是,S3QL 的確也有它的限制。比如,你不能把同一個 S3FS 文件系統(tǒng)在幾個不同的電腦上同時掛載,只能有一臺電腦同時訪問它。另外,ACL(訪問控制列表)也并沒有被支持。

  在這篇教程中,我將會描述“如何基于 Amazon S3 用 S3QL 配置一個加密文件系統(tǒng)”。作為一個使用范例,我還會說明如何在掛載的 S3QL 文件系統(tǒng)上運行 rsync 備份工具。

  準備工作

  本教程首先需要你創(chuàng)建一個 Amazon AWS 帳號(注冊是免費的,但是需要一張有效的信用卡)。

  然后 創(chuàng)建一個 AWS access key(access key ID 和 secret access key),S3QL 使用這些信息來訪問你的 AWS 帳號。

  之后通過 AWS 管理面板訪問 AWS S3,并為 S3QL 創(chuàng)建一個新的空 bucket。

  為最佳性能考慮,請選擇一個地理上距離你最近的區(qū)域。

  在 Linux 上安裝 S3QL

  在大多數 Linux 發(fā)行版中都有預先編譯好的 S3QL 軟件包。

  對于 Debian、Ubuntu 或 Linux Mint:

  $ sudo apt-get install s3ql

  對于 Fedora:

  $ sudo yum install s3ql

  對于 Arch Linux,使用 AUR。

  首次配置 S3QL

  在 ~/.s3ql 目錄中創(chuàng)建 autoinfo2 文件,它是 S3QL 的一個默認的配置文件。這個文件里的信息包括必須的 AWS access key,S3 bucket 名,以及加密口令。這個加密口令將被用來加密一個隨機生成的主密鑰,而主密鑰將被用來實際地加密 S3QL 文件系統(tǒng)數據。

  $ mkdir ~/.s3ql

  $ vi ~/.s3ql/authinfo2

  [s3]

  storage-url: s3://[bucket-name]

  backend-login:[your-access-key-id]

  backend-password:[your-secret-access-key]

  fs-passphrase:[your-encryption-passphrase]

  指定的 AWS S3 bucket 需要預先通過 AWS 管理面板來創(chuàng)建。

  為了安全起見,讓 authinfo2 文件僅對你可訪問。

  $ chmod 600~/.s3ql/authinfo2

  創(chuàng)建 S3QL 文件系統(tǒng)

  現在你已經準備好可以在 AWS S3 上創(chuàng)建一個 S3QL 文件系統(tǒng)了。

  使用 mkfs.s3ql 工具來創(chuàng)建一個新的 S3QL 文件系統(tǒng)。這個命令中的 bucket 名應該與 authinfo2 文件中所指定的相符。使用“--ssl”參數將強制使用 SSL 連接到后端存儲服務器。默認情況下,mkfs.s3ql 命令會在 S3QL 文件系統(tǒng)中啟用壓縮和加密。

  $ mkfs.s3ql s3://[bucket-name] --ssl

  你會被要求輸入一個加密口令。請輸入你在 ~/.s3ql/autoinfo2 中通過“fs-passphrase”指定的那個口令。

  如果一個新文件系統(tǒng)被成功創(chuàng)建,你將會看到這樣的輸出:

  掛載 S3QL 文件系統(tǒng)

  當你創(chuàng)建了一個 S3QL 文件系統(tǒng)之后,下一步便是要掛載它。

  首先創(chuàng)建一個本地的掛載點,然后使用 mount.s3ql 命令來掛載 S3QL 文件系統(tǒng)。

  $ mkdir ~/mnt_s3ql

  $ mount.s3ql s3://[bucket-name] ~/mnt_s3ql

  掛載一個 S3QL 文件系統(tǒng)不需要特權用戶,只要確定你對該掛載點有寫權限即可。

  視情況,你可以使用“--compress”參數來指定一個壓縮算法(如 lzma、bzip2、zlib)。在不指定的情況下,lzma 將被默認使用。注意如果你指定了一個自定義的壓縮算法,它將只會應用到新創(chuàng)建的數據對象上,并不會影響已經存在的數據對象。

  $ mount.s3ql --compress bzip2 s3://[bucket-name] ~/mnt_s3ql

  因為性能原因,S3QL 文件系統(tǒng)維護了一份本地文件緩存,里面包括了最近訪問的(部分或全部的)文件。你可以通過“--cachesize”和“--max-cache-entries”選項來自定義文件緩存的大小。

  如果想要除你以外的用戶訪問一個已掛載的 S3QL 文件系統(tǒng),請使用“--allow-other”選項。

  如果你想通過 NFS 導出已掛載的 S3QL 文件系統(tǒng)到其他機器,請使用“--nfs”選項。

  運行 mount.s3ql 之后,檢查 S3QL 文件系統(tǒng)是否被成功掛載了:

  $ df ~/mnt_s3ql

  $ mount | grep s3ql

  卸載 S3QL 文件系統(tǒng)

  想要安全地卸載一個(可能含有未提交數據的)S3QL 文件系統(tǒng),請使用 umount.s3ql 命令。它將會等待所有數據(包括本地文件系統(tǒng)緩存中的部分)成功傳輸到后端服務器。取決于等待寫的數據的多少,這個過程可能需要一些時間。

  $ umount.s3ql ~/mnt_s3ql

  查看 S3QL 文件系統(tǒng)統(tǒng)計信息及修復 S3QL 文件系統(tǒng)

  若要查看 S3QL 文件系統(tǒng)統(tǒng)計信息,你可以使用 s3qlstat 命令,它將會顯示諸如總的數據、元數據大小、重復文件刪除率和壓縮率等信息。

  $ s3qlstat ~/mnt_s3ql

  你可以使用 fsck.s3ql 命令來檢查和修復 S3QL 文件系統(tǒng)。與 fsck 命令類似,待檢查的文件系統(tǒng)必須首先被卸載。

  $ fsck.s3ql s3://[bucket-name]

  S3QL 使用案例:Rsync 備份

  讓我用一個流行的使用案例來結束這篇教程:本地文件系統(tǒng)備份。為此,我推薦使用 rsync 增量備份工具,特別是因為 S3QL 提供了一個 rsync 的封裝腳本(/usr/lib/s3ql/pcp.py)。這個腳本允許你使用多個 rsync 進程遞歸地復制目錄樹到 S3QL 目標。

  $ /usr/lib/s3ql/pcp.py -h

  這個命令將會使用 4 個并發(fā)的 rsync 連接來備份 ~/Documents 里的所有內容到一個 S3QL 文件系統(tǒng)。

  $ /usr/lib/s3ql/pcp.py -a --quiet --processes=4~/Documents ~/mnt_s3ql

  這些文件將首先被復制到本地文件緩存中,然后在后臺再逐步地同步到后端服務器。

  上面就是Linux使用S3QL創(chuàng)建加密文件系統(tǒng)的方法介紹了,此外,S3QL文件系統(tǒng)只能有一臺電腦訪問它,不可同時掛載在多個電腦上。

Linux使用S3QL創(chuàng)建加密文件系統(tǒng)的方法

Linux系統(tǒng)操作中,S3QL可用于創(chuàng)建一個加密文件系統(tǒng),能夠在線存儲數據,那么基于Amazon S3的S3QL要如何創(chuàng)建一個云端加密文件系統(tǒng)呢?隨學習啦小編一起來了解下吧。 Amazon S3 和 Google Cloud Storage 之類的商業(yè)云存儲服務以能承受的價
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • Linux安裝使用eCryptFS加密文件的方法
    Linux安裝使用eCryptFS加密文件的方法

    eCryptFS是Linux系統(tǒng)中的文件加密系統(tǒng),能夠對文件或目錄進行加密,且加密級別高,安全性強于一般軟件,下面學習啦小編就給大家介紹下Linux如何使用eCr

  • Linux怎么開啟回收站功能
    Linux怎么開啟回收站功能

    Linux系統(tǒng)有回收站嗎?答案是否定的,Linux系統(tǒng)并沒有Windows中的回收站,但是Linux可以實現回收站的功能,具體要如何實現呢?下面學習啦小編就給大家介紹下

  • Linux如何使用awk進行數組排序
    Linux如何使用awk進行數組排序

    Linux系統(tǒng)操作中,awk是款文本處理工具,提供多種功能,那么如何使用awk進行數組排序呢?其實awk數組排序的方法有很多種,下面學習啦小編就給大家詳細介

  • Linux如何開啟回收站功能
    Linux如何開啟回收站功能

    Linux系統(tǒng)有回收站嗎?答案是否定的,Linux系統(tǒng)并沒有Windows中的回收站,但是Linux可以實現回收站的功能,具體要如何實現呢?下面學習啦小編就給大家介紹下

319186