FastDFS是以純C語言實(shí)現(xiàn)的一款開源輕量級分布式文件系統(tǒng),支持Linux、FreeBSD、AIX等UNIX類系統(tǒng)。
FastDFS不是通用的文件系統(tǒng),不支持POSIX接口方式,只能通過專有API對文件進(jìn)行存取訪問,目前提供了C、Java和PHP API為互聯(lián)網(wǎng)應(yīng)用量身定做,解決大容量文件存儲(chǔ)問題。
主要功能有:文件存儲(chǔ),文件同步,文件訪問(文件上傳/下載),適合以中小文件(建議范圍:4KB < file_size<500MB)為載體的在線服務(wù),如相冊網(wǎng)站、視頻網(wǎng)站等等。
FastDFS由跟蹤服務(wù)器(Tracker Server)、存儲(chǔ)服務(wù)器(Storage Server)和客戶端(Client)構(gòu)成。
1、*-Tracker
跟蹤服務(wù)器,主要做調(diào)度工作,起負(fù)載均衡的作用。在內(nèi)存中記錄集群中所有存儲(chǔ)組和存儲(chǔ)服務(wù)器的狀態(tài)信息,是客戶端和數(shù)據(jù)服務(wù)器交互的樞紐??蛻舳嗽L問集群的時(shí)候會(huì)隨機(jī)分配一個(gè)Tracker來和客戶端交互;
2、存儲(chǔ)節(jié)點(diǎn)-Storage
存儲(chǔ)服務(wù)器(又稱:存儲(chǔ)節(jié)點(diǎn)或數(shù)據(jù)服務(wù)器),實(shí)際存儲(chǔ)數(shù)據(jù)的地方,文件和文件屬性(meta data)都保存到存儲(chǔ)服務(wù)器上。Storage server直接利用OS的文件系統(tǒng)調(diào)用管理文件。Group可以隔離不同應(yīng)用的數(shù)據(jù),不同應(yīng)用的數(shù)據(jù)放在不同group里面;
3、客戶端-Client
作為業(yè)務(wù)請求的發(fā)起方,通過專有接口,使用TCP/IP協(xié)議與*服務(wù)器或存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互。每個(gè)客戶端服務(wù)器需要安裝Nginx。
由于FastDFS產(chǎn)品非常輕量簡單,支持最小化部署,所以目前還有部分用戶在使用該產(chǎn)品。但FastDFS被使用在生產(chǎn)環(huán)境還有很多隱患和不足:
FastDFS主要缺陷
01XEOS對象存儲(chǔ)
XEOS (XSKY Enterprise Object Storage)通過全新的存儲(chǔ)技術(shù)手段,基于通用服務(wù)器硬件構(gòu)建了一個(gè)近乎無限擴(kuò)容、持續(xù)在線、可跨地域訪問的高性價(jià)比存儲(chǔ)架構(gòu)體系,在保證了數(shù)據(jù)高安全性的同時(shí),打破存儲(chǔ)規(guī)模和地域限制的壁壘,降低企業(yè) IT 建設(shè)的投入,滿足了新業(yè)務(wù)形態(tài)的多源化存儲(chǔ)需求。
XEOS完備的企業(yè)級存儲(chǔ)特性,如:多副本/EC、QoS、負(fù)載均衡、小文件歸并、統(tǒng)一命名空間、數(shù)據(jù)分層等,完美解決了FastDFS的諸多產(chǎn)品問題,平滑的適配了其使用場景。
02X3DS輔助FastDFS 平滑遷移至XEOS
X3DS(XSKY 3D data management System)是XSKY提供的立體數(shù)據(jù)管理系統(tǒng)??商峁┓墙Y(jié)構(gòu)化數(shù)據(jù)的DR(Disaster Recovery,災(zāi)難恢復(fù)),DP(Data Protection,數(shù)據(jù)保護(hù))和DM(Data Migration,數(shù)據(jù)遷移)這三大管理能力,是一個(gè)立體的三維數(shù)據(jù)管理平臺(tái)。
支持非結(jié)構(gòu)化數(shù)據(jù)的復(fù)制、遷移、備份、歸檔功能,支持豐富的數(shù)據(jù)管理策略,滿足不同用戶的個(gè)性化要求。支持多存儲(chǔ)后端協(xié)議(如:CIFS,NFS,FTP,S3,BOS,OSS,F(xiàn)astDFS等),極大的兼容了市場上主流文件傳輸協(xié)議。
支持跨廠商的文件和對象存儲(chǔ)之間數(shù)據(jù)相互移動(dòng),支持跨云的數(shù)據(jù)上云和下云,適應(yīng)性廣,避免用戶被設(shè)備廠商和公有云廠商鎖定。遷移任務(wù)支持?jǐn)帱c(diǎn)續(xù)傳,應(yīng)對海量數(shù)據(jù)遷移過程中,如發(fā)生機(jī)房掉電等故障,故障恢復(fù)后,再次啟動(dòng)遷移任務(wù)可以實(shí)現(xiàn)斷點(diǎn)續(xù)傳,有效節(jié)省遷移時(shí)間。
1、整體遷移方案架構(gòu)
2、方案特點(diǎn)
可配置遷移QoS;
支持主流協(xié)議遷移;
為保證數(shù)據(jù)可用,業(yè)務(wù)切換時(shí)需要短暫停機(jī)做最終數(shù)據(jù)一致檢查;
支持—file-from,指定文件遷移;
支持腳本工具導(dǎo)出FastDFS集群文件ID;
遷移任務(wù)支持?jǐn)帱c(diǎn)續(xù)傳。?
3、具體部署方案
整體操作流程:
創(chuàng)建源端?
創(chuàng)建目標(biāo)端?
創(chuàng)建遷移任務(wù)?
數(shù)據(jù)遷移中?
產(chǎn)品安裝部署:
1.目標(biāo)XEOS集群部署
網(wǎng)絡(luò)需要與源端集群業(yè)務(wù)網(wǎng)絡(luò)連通;
參照《星辰天合分布式存儲(chǔ)系統(tǒng)軟件安裝手冊》完成XEOS分布式對象存儲(chǔ)安裝,初始化配置,調(diào)試完畢,準(zhǔn)備就緒。?
2.信息收集,集群規(guī)劃
收集原有FastDFS集群相關(guān)信息;
結(jié)合客戶需求定制,規(guī)劃新集群相關(guān)配置信息。?
3.遷移流程規(guī)劃
遷移項(xiàng)目實(shí)施需有詳盡的方案規(guī)劃,針對不同的業(yè)務(wù)應(yīng)用或者租戶,優(yōu)化切割時(shí)間節(jié)點(diǎn);
評估重點(diǎn)業(yè)務(wù),為保證遷移的有效性和安全性,需要對驗(yàn)證遷移前后數(shù)據(jù)的一致性和完整性做整體規(guī)劃;
確定遷移步驟,順序,工具,實(shí)施人員等信息,給出具體的實(shí)施指導(dǎo)手冊和計(jì)劃,以及對應(yīng)的回退方案。?
4.目標(biāo)端集群配置
目標(biāo)端集群對應(yīng)資源的創(chuàng)建(對象資源,永久Token等);
確定新集群和應(yīng)用業(yè)務(wù)的對接。?
5.Nginx安裝
下載并配置FastDFS-Nginx-Module模塊,完成在Storage所有節(jié)點(diǎn)上Nginx的安裝;
Storage節(jié)點(diǎn)上對接配置Nginx,并設(shè)置開機(jī)自啟動(dòng);
測試Nginx模塊。?
6.數(shù)據(jù)遷移
安裝配置X3DS
X3DS產(chǎn)品支持融合部署在XEOS存儲(chǔ)節(jié)點(diǎn),不需要額外的資源消耗;
上傳解壓X3DS安裝包,一鍵安裝部署;
添加X3DS節(jié)點(diǎn)(支持單節(jié)點(diǎn)和多節(jié)點(diǎn)部署,多節(jié)點(diǎn)部署建議至少3個(gè)節(jié)點(diǎn)) ;
在目標(biāo)端XSKY存儲(chǔ)上創(chuàng)建永久Token;
參照手冊創(chuàng)建源端的FastDFS和目標(biāo)端的XEOS S3的Remote類型;
檢查業(yè)務(wù)網(wǎng)絡(luò)的連通性,待遷移數(shù)據(jù)需可以在X3DS業(yè)務(wù)節(jié)點(diǎn)訪問。?
數(shù)據(jù)遷移
部署用戶提供的文件ID列表保存在X3DS業(yè)務(wù)節(jié)點(diǎn)上;
預(yù)測試,使用小部分?jǐn)?shù)據(jù)先預(yù)測試,驗(yàn)證方案可行性;
配置遷移任務(wù);
遷移完成后,檢查一致性。?
7.遷移完成,業(yè)務(wù)切換
遷移完成后,業(yè)務(wù)切換,驗(yàn)證數(shù)據(jù)一致性。
03遷移案例
某新消費(fèi)服務(wù)平臺(tái)在新數(shù)據(jù)中心建設(shè)上采用XSKY XEOS來滿足其非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)需求。原數(shù)據(jù)存儲(chǔ)在FastDFS文件系統(tǒng)中,總文件數(shù)量超過48億個(gè),總?cè)萘砍^700TB,數(shù)據(jù)類型大部分為100-500kb的PDF文件。為了實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一管理和維護(hù),需要將原FastDFS集群上的數(shù)據(jù)遷移至新建XEOS對象存儲(chǔ)集群中。
1、遷移方式
采用在線遷移的方式進(jìn)行;
需要多次遷移,停業(yè)務(wù)完成最后的遷移;
短暫離線遷移主要用于校驗(yàn)數(shù)據(jù)一致性。?
2、第一期遷移
完成數(shù)據(jù)遷移共計(jì)600W+文件;
共計(jì)遷移時(shí)間4小時(shí)。?
3、改造后優(yōu)勢
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!