FastDFS是以純C語言實現的一款開源輕量級分佈式文件系統,支持Linux、FreeBSD、AIX等UNIX類系統。後端
FastDFS不是通用的文件系統,不支持POSIX接口方式,只能經過專有API對文件進行存取訪問,目前提供了C、Java和PHP API爲互聯網應用量身定作,解決大容量文件存儲問題。安全
主要功能有:文件存儲,文件同步,文件訪問(文件上傳/下載),適合以中小文件(建議範圍:4KB < file_size服務器
FastDFS由跟蹤服務器(Tracker Server)、存儲服務器(Storage Server)和客戶端(Client)構成。網絡
一、跟蹤器-Tracker架構
跟蹤服務器,主要作調度工做,起負載均衡的做用。在內存中記錄集羣中全部存儲組和存儲服務器的狀態信息,是客戶端和數據服務器交互的樞紐。客戶端訪問集羣的時候會隨機分配一個Tracker來和客戶端交互;負載均衡
二、存儲節點-Storage分佈式
存儲服務器(又稱:存儲節點或數據服務器),實際存儲數據的地方,文件和文件屬性(meta data)都保存到存儲服務器上。Storage server直接利用OS的文件系統調用管理文件。Group能夠隔離不一樣應用的數據,不一樣應用的數據放在不一樣group裏面;ide
三、客戶端-Client工具
做爲業務請求的發起方,經過專有接口,使用TCP/IP協議與跟蹤器服務器或存儲節點進行數據交互。每一個客戶端服務器須要安裝Nginx。測試
因爲FastDFS產品很是輕量簡單,支持最小化部署,因此目前還有部分用戶在使用該產品。但FastDFS被使用在生產環境還有不少隱患和不足:
FastDFS主要缺陷
01
XEOS對象存儲
XEOS (XSKY Enterprise Object Storage)經過全新的存儲技術手段,基於通用服務器硬件構建了一個近乎無限擴容、持續在線、可跨地域訪問的高性價比存儲架構體系,在保證了數據高安全性的同時,打破存儲規模和地域限制的壁壘,下降企業 IT 建設的投入,知足了新業務形態的多源化存儲需求。
XEOS完備的企業級存儲特性,如:多副本/EC、QoS、負載均衡、小文件歸併、統一命名空間、數據分層等,完美解決了FastDFS的諸多產品問題,平滑的適配了其使用場景。
02
X3DS輔助FastDFS 平滑遷移至XEOS
X3DS(XSKY 3D data management System)是XSKY提供的立體數據管理系統。可提供非結構化數據的DR(Disaster Recovery,災難恢復),DP(Data Protection,數據保護)和DM(Data Migration,數據遷移)這三大管理能力,是一個立體的三維數據管理平臺。
支持非結構化數據的複製、遷移、備份、歸檔功能,支持豐富的數據管理策略,知足不一樣用戶的個性化要求。支持多存儲後端協議(如:CIFS,NFS,FTP,S3,BOS,OSS,FastDFS等),極大的兼容了市場上主流文件傳輸協議。
支持跨廠商的文件和對象存儲之間數據相互移動,支持跨雲的數據上雲和下雲,適應性廣,避免用戶被設備廠商和公有云廠商鎖定。遷移任務支持斷點續傳,應對海量數據遷移過程當中,如發生機房掉電等故障,故障恢復後,再次啓動遷移任務能夠實現斷點續傳,有效節省遷移時間。
一、總體遷移方案架構
二、方案特色
可配置遷移QoS;
支持主流協議遷移;
爲保證數據可用,業務切換時須要短暫停機作最終數據一致檢查;
支持—file-from,指定文件遷移;
支持腳本工具導出FastDFS集羣文件ID;
遷移任務支持斷點續傳。
三、具體部署方案
總體操做流程:
建立源端
建立目標端
建立遷移任務
數據遷移中
產品安裝部署:
1.
目標XEOS集羣部署
網絡須要與源端集羣業務網絡連通;
參照《星辰天合分佈式存儲系統軟件安裝手冊》完成XEOS分佈式對象存儲安裝,初始化配置,調試完畢,準備就緒。
2.
信息收集,集羣規劃
收集原有FastDFS集羣相關信息;
結合客戶需求定製,規劃新集羣相關配置信息。
3.
遷移流程規劃
遷移項目實施需有詳盡的方案規劃,針對不一樣的業務應用或者租戶,優化切割時間節點;
評估重點業務,爲保證遷移的有效性和安全性,須要對驗證遷移先後數據的一致性和完整性作總體規劃;
肯定遷移步驟,順序,工具,實施人員等信息,給出具體的實施指導手冊和計劃,以及對應的回退方案。
4.
目標端集羣配置
目標端集羣對應資源的建立(對象資源,永久Token等);
肯定新集羣和應用業務的對接。
5.
Nginx安裝
下載並配置FastDFS-Nginx-Module模塊,完成在Storage全部節點上Nginx的安裝;
Storage節點上對接配置Nginx,並設置開機自啓動;
測試Nginx模塊。
6.
數據遷移
安裝配置X3DS
X3DS產品支持融合部署在XEOS存儲節點,不須要額外的資源消耗;
上傳解壓X3DS安裝包,一鍵安裝部署;
添加X3DS節點(支持單節點和多節點部署,多節點部署建議至少3個節點) ;
在目標端XSKY存儲上建立永久Token;
參照手冊建立源端的FastDFS和目標端的XEOS S3的Remote類型;
檢查業務網絡的連通性,待遷移數據需能夠在X3DS業務節點訪問。
數據遷移
部署用戶提供的文件ID列表保存在X3DS業務節點上;
預測試,使用小部分數據先預測試,驗證方案可行性;
配置遷移任務;
遷移完成後,檢查一致性。
7.
遷移完成,業務切換
遷移完成後,業務切換,驗證數據一致性。
03
遷移案例
某新消費服務平臺在新數據中心建設上採用XSKY XEOS來知足其非結構化數據存儲需求。原數據存儲在FastDFS文件系統中,總文件數量超過48億個,總容量超過700TB,數據類型大部分爲100-500kb的PDF文件。爲了實現數據的統一管理和維護,須要將原FastDFS集羣上的數據遷移至新建XEOS對象存儲集羣中。
一、遷移方式
採用在線遷移的方式進行;
須要屢次遷移,停業務完成最後的遷移;
短暫離線遷移主要用於校驗數據一致性。
二、第一期遷移
完成數據遷移共計600W+文件;
共計遷移時間4小時。
三、改造後優點