李網燦 趙勇
中國電信股份有限公司江蘇分公司
云計算的快速發展使得越來越多的企業將數據存儲放入云端。然而,由于當下云存儲在安全性、可用性、便利性、訪問速度等方面存在的問題,傳統應用并不能很好地接入云存儲。大部分公共云提供商依賴于互聯網協議(IP),通常是HTTP上的RESTAPI API方式,雖然對于創建新應用的程序很實用,但是對于原有系統兼容與適配則有非常高的成本。由于公共云技術和原有應用不兼容,需要在云存儲系統和企業應用之間搭建對象存儲網關。對象存儲網關需要具備本地高速緩存、保證數據安全、使用便捷等特點,云端存儲價格相比傳統存儲更具有優勢,能夠通過對象存儲網關助力企業輕松上云。
對象存儲網關提供基本的協議轉換和簡單的連接性,從而讓不兼容技術透明交流。網關可以讓對象存儲顯得像NAS過濾器、區塊存儲陣列、本地磁盤、備份目標,甚至是該應用本身的一個擴展。
當前用戶使用天翼云對象存儲,存在如下問題:(1)很難快速地與現有系統對接,需要對接天翼云對象存儲的SDK,這提高了用戶使用天翼云對象存儲的技術門檻;(2)對用戶的帶寬要求比較高,網速對對象存儲的讀寫速度影響較大,導致大部分用戶對高昂的帶寬費用望而卻步;(3)不支持離線讀寫,當業務系統和對象存儲網絡發生故障后,嚴重影響業務系統的正常使用。本研究根據上述問題,結合中國電信天翼云的對象存儲,對用戶快速使用對象存儲進行了重新研究與定義,研究如何利用對象存儲網關讓用戶方便快速地使用天翼云對象存儲。圖1展示了如何通過對象存儲網關連接用戶和對象存儲。

圖1 在用戶和對象存儲之間建立對象存儲網關
對象存儲網關采用B/S+C/S架構,后臺管理采用B/S架構管理對象存儲網關賬號,客戶端采用C/S架構,通過本地數據緩存機制提高云存儲服務的響應速度,通過硬件和軟件配置,實現本地RAID冗余存儲機制,建立起集本地高速存儲、云端存儲為一體的低成本、可擴展、安全便捷的云存儲。
以天翼云對象存儲為后端,依托客戶本地或各地市天翼云IDC節點作為熱數據緩存,通過互聯網或者專線,利用對象存儲網關把數據通過加密的方式上傳到天翼云對象存儲。用戶可根據自身的需求配置相應的網絡模式。系統整體架構圖如圖2所示。

圖2 對象存儲網關系統架構
存儲網關系統采用文件加密去重上傳技術,確保數據在通信傳輸的過程中的安全,防止數據在傳輸中被篡改,確保數據丟失后不會造成用戶敏感數據泄露,同時上傳數據采用加密去重方式,節省用戶存儲成本。
結合天翼云對象存儲實際情況,設計了文件加密去重。文件的數據進行分塊去重加密,用戶可自定義文件分塊的大小,每一塊采用MD5進行校驗,如果對象存儲服務器上有該文件塊,則該文件塊不需要再上傳,只記錄該文件塊所在位置,減少文件存儲容量,用戶可以設置文件是否加密上傳,解決用戶對數據上云的安全性擔憂。在存儲文件時,對象存儲網關生成用于記錄待存儲文件屬性的索引文件、生成用于記錄文件塊大小及其在原文件中位置的MAP文件,為防止本地磁盤損壞需要將索引文件和MAP加密后上傳到對象存儲服務器上,防止索引文件和MAP文件丟失。整體流程如圖3所示。

圖3 數據加密去重上傳判斷
讀取文件時,首先會讀取文件索引文件,將索引文件解密,找到對應的map文件,根據map文件找到對應的文件塊,將文件塊解密后進行重組得到需下載的文件。
上傳的數據首先在本地進行緩存保存,然后數據再進行分塊去重上傳,在本地采用一個SSD緩存磁盤提高讀寫速度,對象存儲網關采用多線程異步分塊對文件進行上傳。本地存儲的副本根據用戶使用數據頻率,對冷數據定時進行本地緩存清理,對于經常使用的熱數據,緩存在本地,不到云端實時下載,提高讀寫速度并節省對象存儲請求次數。特殊情況下,當網絡或者對象存儲后端系統發生故障時,網關會先在本地SSD中存儲數據,不會影響用戶正常的業務使用,當網絡恢復后,對象存儲網關自動進行數據同步。對象存儲網關按照緩存設計規則自動清理過期的緩存數據,保證本地緩存數據都是高頻使用的熱數據。具體如圖4所示。

圖4 對象存儲網關緩存示意圖

圖5 數據讀取示意圖
對象存儲網關通過POSIX、FUSE將云端的對象存儲服務轉化為本地的塊存儲服務,通過協議轉換,掛載到本地,此技術的數據存儲方案沿襲了用戶的使用習慣,用戶操作更加簡便,不需要改造現有的系統,輕松實現本地數據上傳到對象存儲。圖6展示了通過虛擬磁盤技術,在本地直接虛擬一個磁盤,對用戶而言,與本地普通磁盤操作方式完全一樣。

圖6 虛擬磁盤展示
對象存儲在用戶動態擴容時,在管理后臺更改用戶的存儲空間,客戶端進行重新掛載,在保留原有數據的基礎上,實現安全的擴容。控制臺獲取擴展磁盤容量的信息,而擴展磁盤容量的信息包括網絡磁盤的身份標識號碼和虛擬磁盤申請的擴容空間的大小。根據網絡磁盤申請的擴容空間大小,在管理平臺記錄擴容相關信息,管理平臺內部解析身份標識號碼,查詢到對應對象存儲授權信息,實現后端對象存儲容量的擴容;同時根據網絡磁盤空間的屬性修改并保存網絡磁盤的配置信息,將網絡磁盤的新增空間在操作系統中進行刷新展示。圖7展示了用戶動態擴容流程。

圖7 用戶動態擴容
本研究描述了對象存儲網關的整體架構設計,并結合中國電信天翼云對象存儲的特點提出如何利用中國電信天翼云對象存儲網關進行快捷地系統建設。
目前該研究成果正在江蘇電信對象存儲網關中運行,初步測試結果表明,搭建在中國電信天翼云上的對象存儲網關與傳統直接使用對象存儲的方式相比具有以下優勢:
(1)降低了客戶使用對象存儲的技術門檻。由于采用虛擬磁盤技術,使得客戶不需要改造現有系統,像普通磁盤一樣直接使用。用戶不需要單獨進行技術對接,不需要投入相應的研發人員進行系統開發,后期維護人員的數量、技術要求也大大降低,節省了運維工作量和成本。
(2)可靠性、安全性更強。文件采用分塊去重加密上傳,與傳統的對象存儲相比,大大降低數據被泄露的風險。
(3)讀寫體驗速度更高。基于本地冷熱緩存數據的設計,讀寫速度依賴于本地的緩存設備,不再依賴于高昂的帶寬,即使網絡突然中斷,客戶業務系統在不超過本地緩存設備容量的前提下完全不受影響。
(4)降低天翼云對象存儲的并發壓力。對象存儲網關的緩存設計,在一定程度上減少了客戶和對象存儲之間的交互壓力。
需要改進和完善的地方:
(1)小文件處理速度有待提高。由于采用虛擬磁盤技術,每個文件都需要一個map描述文件,所以針對海量小文件(200KB以下文件)批處理,需要頻繁的IO磁盤,速度還有待提升,后續需要采用“內存+本地磁盤”相結合的方式進行優化。
(2)需要增加自動同步功能。目前用戶備份需要手動復制數據,后續需要支持用戶選擇同步的文件夾進行自動同步。