1. 程式人生 > >大咖說:網盤也能私人定制?我信!

大咖說:網盤也能私人定制?我信!

雲平臺 str 通用 基本功 附件 安全組 嵌入 設置 用戶

網盤服務想必大家都很熟悉了,好多互聯網公司都有提供,免費註冊開通就能使用。

然而這些公共網盤服務用久了總覺得不爽,免費的要麽容量小,要麽限速,收費的又太貴,功能或者其他方面也總有這樣那樣的不足。

網盤這東西,說到底不就是雲平臺上提供的存儲服務麽!那麽如果我說能基於 Azure 存儲服務自己搭建出個人專用的網盤,你信不信?分分鐘搞定給你看!

韓源

微軟資深工程師,存儲和災備專家

通過本文內容介紹如何通過 Azure 搭建企業或個人的私有雲盤來實現數據轉移、共享、備份等功能。

私有網盤需求

傳統的拷貝等方式,屬於串行操作,每個步驟都必須完成,才能進行下一步,並且需要人工幹預。一些同步軟件例如 rsync、synctoys 等雖然可自動化同步,但是每次需要手工執行或者放入 crontab 裏定期執行,無法完全自動化。所以我們希望通過私有網盤來解決這些問題

一個合格的私有網盤應具備如下基本功能:

透明:無需人工幹預,放入同步文件夾的文件可自動同步

安全:傳輸及保存可加密

管理:可為不同用戶分配不同的讀寫或禁止權限

跨平臺:可在 Windows、Linux、Mac、iOS、Android,甚至嵌入式設備,如樹莓 Pi 上使用

斷點續傳:如設備離線、重新上線後可自動繼續上傳下載

有些客戶甚至需要更多的特性,例如:

分塊傳輸:避免大文件修改後整體上傳,提升效率

多目錄同步:無需將所有文件放置在一個固定目錄

快速傳遞:可設置多個服務器,自動選擇最快節點,全局同步

這些功能也是我們搭建私有網盤的目標。

準備工作

Azure

當然,首先得有 Azure 賬號,如果需要國內外都可以快速同步,最好是同時具備 azure.cn 和 azure.com 的賬號。

同步軟件

強烈推薦 Resilio Sync(以下簡稱 Resilio)。

該軟件有全平臺的客戶端,並且通過 P2P 方式進行同步,也就是說,某個文件只要在一個節點上有完整版,其它節點即可同步。例如,企業裏,員工 A 完成一個文件後需要傳給國外的員工 B 進行下一步工作。如果使用 Resilio,只要這個文件在同步文件夾裏,A 保存後自動向 Azure 服務器和 B 的電腦裏同步文件,由於 Azure 在國內,速度較快,很快完成了同步。此時 A 的電腦無需再保持在線,服務器會自動將剩余部分同步到 B 的電腦裏。

Resilio 有多個版本,區別如下:

技術分享

對普通用戶,免費版即可滿足需求。

私有網盤搭建

服務器安裝配置

1,在 Azure 新建一臺虛機,OS 選擇 CentOS7.3,Resilio 對性能要求不高,使用 D1v2 即可;其它如網絡等設置根據實際要求配置,PublicIP 最好使用固定 IP。為了方便測試,在 NSG 中添加一條規則,允許所有入站訪問。

技術分享

2,通過 SSH 工具連接到這個虛擬機,將 Resilio 加入到 YUM 源,並安裝 Resilio 軟件。

技術分享

4,在其他電腦上,通過瀏覽器訪問 http://ip:8123 打開管理界面,配置用戶名和密碼。

5,為該設備命名,並同意協議:

6,輸入設置的用戶名和口令進入管理界面:

技術分享

技術分享

私有網盤的功能擴展

通過 Resilio 搭建的私有網盤將以 P2P 的方式同步,即是否存在同步服務器並不影響文件操作,但是配置同步服務器可以實現許多更高級的功能。

同步服務器的高可靠

Azure 提供的 99.95% 的 SLA 需要通過兩臺在不同故障域和更新域的服務器來實現。所以,如果要保證同步服務器的持續在線,需要使用可用性集(Av set)來實現。

可用性集將同樣功能的多臺虛機分布在不同的故障域和更新域,當某個域出現故障或者更新重啟時,其它域的虛機可持續提供服務,避免業務中斷。

下文將介紹如何把 Resilio 部署到可用性集,實現高可用。

可用性集必須在創建虛機時配置,如需加入或移除可用性集,必須重新創建虛機。

按照之前的方式創建一臺 CentOS7.3 虛機 SyncDemo01,在可用性集選項新建一個可用性集 SyncDemoSet:

技術分享

然後創建第二臺虛機 SyncDemo02,配置同 SyncDemo01,使用 SyncDemo02 相同的 vNet、子網、網絡安全組等,可用性集選擇第一臺創建的可用性集。

由於采用了 P2P 同步方式,Resilio 並不關心中心節點,所以 Resilio 高可靠最簡單的實現方式是把這兩臺服務器當作兩臺獨立的 Resilio 服務器,分別安裝配置好軟件,在其中一臺建立共享文件夾,並在另一臺添加(同客戶機的共享文件夾添加方式),可用性集保證了兩臺同步服務器不會同時宕機,始終有一臺提供同步服務。

跨區域同步

某客戶有中外兩個辦公室,如果沒有同步服務器,所有同步都需要在客戶員工的工作電腦完成,面臨兩個問題:

1.跨國同步受到骨幹網帶寬影響,速度較慢,員工必須等到同步完成才能關閉電腦,造成下班時間拖延,或者員工只能提前停止工作,等到在下班前完成與對端員工電腦的同步;而兩地由於時差,可能根本沒有交叉的時間可供同步

2.數據保存在員工電腦裏,存在丟失風險

基於這種需求,可在該客戶兩個辦公地點較近的 Azure Region(或者更多地點)配置兩套 Resilion 同步服務器,當地員工放入共享文件夾的文件自動同步到就近 Azure Region 的同步服務器,不受跨國帶寬的影響,可迅速完成。各 Region 同步服務器之間的數據同步可後臺自動進行,無需員工電腦在線,不影響員工下班。另一地點員工上班時,共享文件會自動從就近的同步服務器同步到員工電腦,因此可盡快開展工作。由於同步基於互聯網進行,員工甚至可帶電腦回家同步。同時如果員工電腦出現損壞、丟失等情況,數據在 Azure 的服務器上仍有備份,無須擔心數據丟失。

文件版本管理

Resilio 提供了版本管理功能,默認保存 30 天歷史文件記錄,在共享文件夾的 Preference 中可以修改是否保存歷史版本:

技術分享

技術分享

在 Resilio 客戶端的 Preferences-Advanced-Openpower preferences-sync_trash_ttl 選項中,可以設置歷史版本的保留天數:

技術分享

通過不同的歷史版本保留策略,可以設置在客戶機不保留歷史版本或很短時間的歷史版本,節約客戶機硬盤空間;在服務器端可以設置長時間的歷史版本保留策略,實現對歷史文件的長時間回溯。

總結

Resilio 還具備很多其他功能,例如指定文件同步(文件在客戶機只有一個鏈接,使用時下載,節約客戶機空間)、權限管理、企業版還有傳輸加速等高級功能。

結合 Azure 上部署的同步服務器,完全可以滿足企業和個人的私有網盤需求,並可擴充很多擴展功能如協同辦公、版本管理、替代郵件附件等,更好的促進工作效率。

註: 本文的私有網盤解決方案只為閱讀者提供一個思路,由於涉及到非微軟認證的第三方軟件,故不對整體方案的 SLA 及數據安全提供保障。

=

沒想到吧,就是這麽簡單,就是這麽強大!只要善於開腦洞,就能輕松玩出這麽有趣的花樣。如果你喜歡「折騰」,還能在上文這個雲盤的基礎上擴展出協同辦公、權限管理、傳輸加速之類的功能。童鞋,你不打算自己試一試?

立即訪問http://market.azure.cn

大咖說:網盤也能私人定制?我信!