當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] Amazon S3 和 Google Cloud Storage 之類的商業(yè)云存儲(chǔ)服務(wù)以能承受的價(jià)格提供了高可用性、可擴(kuò)展、無限容量的對(duì)象存儲(chǔ)服務(wù)。為了加速這些云產(chǎn)品的廣泛采用,這些提供商為

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

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

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

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

準(zhǔn)備工作

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

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

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

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

在 Linux 上安裝 S3QL

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

對(duì)于 Debian、Ubuntu 或 Linux Mint:

$ sudo apt-get install s3ql

對(duì)于 Fedora:

$ sudo yum install s3ql

對(duì)于 Arch Linux,使用 AUR。

首次配置 S3QL

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

$ 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 需要預(yù)先通過 AWS 管理面板來創(chuàng)建。

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

$ chmod 600 ~/.s3ql/authinfo2

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

現(xiàn)在你已經(jīng)準(zhǔn)備好可以在 AWS S3 上創(chuàng)建一個(gè) S3QL 文件系統(tǒng)了。

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

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

你會(huì)被要求輸入一個(gè)加密口令。請(qǐng)輸入你在 ~/.s3ql/autoinfo2 中通過“fs-passphrase”指定的那個(gè)口令。

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

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

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

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

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

掛載一個(gè) S3QL 文件系統(tǒng)不需要特權(quán)用戶,只要確定你對(duì)該掛載點(diǎn)有寫權(quán)限即可。

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

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

因?yàn)樾阅茉?,S3QL 文件系統(tǒng)維護(hù)了一份本地文件緩存,里面包括了最近訪問的(部分或全部的)文件。你可以通過“--cachesize”和“--max-cache-entries”選項(xiàng)來自定義文件緩存的大小。

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

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

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

$ df ~/mnt_s3ql$ mount | grep s3ql

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

想要安全地卸載一個(gè)(可能含有未提交數(shù)據(jù)的)S3QL 文件系統(tǒng),請(qǐng)使用 umount.s3ql 命令。它將會(huì)等待所有數(shù)據(jù)(包括本地文件系統(tǒng)緩存中的部分)成功傳輸?shù)胶蠖朔?wù)器。取決于等待寫的數(shù)據(jù)的多少,這個(gè)過程可能需要一些時(shí)間。[!--empirenews.page--]

$ umount.s3ql ~/mnt_s3ql

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

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

$ s3qlstat ~/mnt_s3ql

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

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

S3QL 使用案例:Rsync 備份

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

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

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

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

這些文件將首先被復(fù)制到本地文件緩存中,然后在后臺(tái)再逐步地同步到后端服務(wù)器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉