文件類數據存儲系統架構優化實踐經驗
需求分析和技術路線篇
對于很多中小金融機構來講,由于歷史原因,企業的存儲形態往往較為單一,存儲系統并未做分類和分級建設。比如,對于集中式存儲來講,只有SAN存儲,而并未使用NAS存儲。這樣一來,對于文件共享場景,很多企業有用到GPFS來構建分布式集群文件系統來滿足業務系統文件共享場景需求。
實際上,GPFS是一種高性能的并行文件系統,其底座很多也是使用FC組網的SAN存儲。GPFS大多適用于高性能計算場景,或者是和企業其他IT技術生態捆綁使用。另一方面,GPFS在構建同城或異地容災時,也有一定的局限性,很多也是基于底層SAN存儲來做的數據級容災。
如果從企業的存儲系統發展來看,隨著企業存儲管理的精細化,可以看到,GPFS和NAS的使用場景也開始逐漸分流,兩種技術分別適用于不同的業務場景中,可以說兩者是“術業有專攻”。對于低時延的高性能場景或者是多業務系統之間文件交互場景,即插即用的NAS存儲可以說帶來了極大的便利。此外,集中式的NAS存儲也有成熟的雙活以及異步復制解決方案,很好的匹配了企業的文件高可用性建設需求。
此外,在海量非結構化數據存儲優化方面,對象存儲技術扮演了重要角色。近年來,對象存儲憑借其優異的成本優勢、強大的橫向和快速擴展能力以及豐富的服務接口特性在國內取得了快速發展,同時交付了很多成功案例。而對于傳統的銀行業,對象存儲也有不少落地案例。從應用場景來看,主要用于對接ECM內容管理平臺和備份系統的分層建設中。
一、背景和必要性
目前,我行的非結構化數據主要存儲在構建于傳統集中式塊存儲之上的IBM GPFS并行文件系統中。這些非結構化數據的文件數量和容量隨著業務規模的發展呈逐年激增的趨勢,而這種使用存儲的方式靈活性不高,同時帶來了過高的成本開銷。
GPFS構建在FC SAN存儲之上,消耗了較多的SAN存儲資源以及中間的FC交換網絡資源。而從使用場景來看,GPFS主要用于前端的應用服務器集群,隨著行里云平臺的廣泛使用,這種應用服務器外聯FC SAN存儲的架構也給應用服務器入云帶來了制約,進而由于消耗了更多的物理服務器也會帶來額外的成本開銷。另外,由于GPFS和數據庫類的應用爭搶存儲資源,也給這些聯機交易類系統帶來了一定的性能沖擊。隨著行里的業務種類越來越豐富,不同類型數據的合理存放成為亟待解決的問題。
針對上述問題,我行2018年引入了中低端NAS存儲設備,用于存儲文件類的數據,為數據的分類存儲提供了便利,使得存儲的使用方式更趨于合理化。然而,按照我行存儲資源池的分級架構建設規劃,需要額外建設具備雙活能力的高端NAS存儲系統,滿足GPFS場景中重要業務系統的文件共享需求和同城雙活的高可用需求。為此,我行近兩年來構建了高端NAS同城雙活架構,同時,異地部署了一臺低端NAS存儲,進而實現了依托NAS存儲復制技術的3DC高可用架構。而現有的中低端NAS存儲,可以繼續承載GPFS場景中的一般重要業務系統的文件存儲需求。
除了非結構化數據存儲架構優化之外,我行另一個需要逐步優化的場景是系統間的文件交互。目前,我行使用專門的文件傳輸工具進行各系統間的文件傳遞,軟件架構較為復雜,同時運維難度也略大。此外,由于各業務系統分布在不同的網絡區域,跨區的文件傳輸流量也會給各區域的邊界防火墻帶來性能壓力。為此,我們可以借助NAS存儲構建文件交互平臺,不但省去了文件在各系統間的頻繁傳遞,提高業務系統效率,同時,依托NAS存儲的多網絡區域覆蓋能力,可以避免產生跨區流量,進而規避對邊界防火墻的性能沖擊。
下面兩張圖分別是NAS引進前、后的文件類數據存儲系統高可用架構圖:
圖一 構建在SAN存儲復制技術上的文件高可用架構
圖二 依托NAS存儲3DC方案構建的文件高可用架構
實際上,在我行的整體存儲體系和存儲架構規劃中,SAN存儲、NAS存儲和對象存儲有其各自的定位和應用場景。SAN存儲適用于存儲結構化數據,如數據庫類應用,滿足其高并發、低延遲的高性能需求。NAS存儲適用于多服務器共享文件場景或構建文件傳輸平臺,對性能要求沒有SAN存儲高,但成本要低。對象存儲適用于存儲海量非結構化數據(文件、影印件、音視頻等),當文件數量達到數十億、存儲容量達到幾十PB以上的量級時,其性能和總體擁有成本較之于NAS更具優勢。
二、技術路線對比
對于文件類數據存儲的解決方案,實際上我們從業界不難看到基本包括分布式集群文件系統、分布式NAS存儲、傳統集中式NAS存儲以及對象存儲等。
這些存儲技術各具特色,分別適用不同的業務場景。比如分布式集群文件系統或者稱為并行文件系統解決方案,例如:GPFS、Cephfs、GlusterFS、HDFS、GFS等。對于這些集群文件系統,有些存在元數據節點,有些則是沒有元數據節點的對稱架構,另外在文件的分片尺寸上也略有區別,但總體上來講,這些分布式文件系統或者是分布式NAS存儲基本適用于高性能計算場景或者是大文件處理場景中。而對于一般文件共享場景以及多系統文件交互場景,采用傳統集中式NAS存儲則更為便捷。
如果從文件規模角度來看,對于文件數量在千萬級以下,文件容量在百TB級別,傳統NAS技術可以承載。而對于文件數量在億級別,文件容量在幾十PB以上的情況下,采用對象存儲則更能凸顯價值。
對象存儲可以說是云存儲中一個重要技術分支,是近年來在國內發展最快的存儲形態之一。無論是在傳統行業還是互聯網行業都有很多落地案例。在架構體系形態上,由于對象存儲用于存儲和處理海量的非結構化數據,例如文件、圖片、音視頻、影印件等,所以要求其有強大的擴展能力,而無疑采用分布式架構更便于橫向、快速的擴展。在應用形態上,對象存儲暴露給前端的主要是S3協議,一種面向Web的RESTful API接口,需要前端應用針對這種特別的接口進行定制化開發。而為了兼容老的應用,對象存儲在前端還可以進行特別“包裝”,從而可以提供豐富的NAS接口協議,甚至和Hadoop大數據平臺還有S3A接入適配協議。
從對象存儲在銀行業的應用場景來看,可以分為兩個大類,分別是業務系統處理和歷史數據備份及歸檔。在業務系統支持上,對象存儲可以對接ECM內容管理平臺,作為后端的數據存儲系統。這樣一方面可以有效發揮其處理海量非結構化數據的性能和成本優勢。另一方面,對象存儲還可以提供豐富的業務附加功能,如業務元數據Metadata標簽,便于對業務數據做標記,提高業務數據快速檢索能力。另一個場景可以用在備份系統的分層建設中。對象存儲可以作為備份系統中磁帶介質層的上層,用于作為近線備份的存儲,提升歷史數據的檢索效率。此外,在大數據平臺場景中,對象存儲憑借S3A適配協議可以實現和大數據平臺的對接,提供歷史數據歸檔能力。
三、存儲分類分級建設
通過項目實施,實現了我行NAS文件存儲資源池的分級建設。隨著NAS應用的推廣和落地,逐漸降低了塊存儲使用成本,提高了存儲的使用靈活度,實現不同類型業務數據的合理存儲。特別是借助高端NAS存儲設備構建同城雙活架構,實現了重要業務系統對于文件存儲的高可用需求。較之于先前的GPFS方案,在RPO同為0的情況下,RTO指標得到極大提升。最后,利用NAS存儲構建業務系統間文件交互平臺,顯著提升了業務處理效率。
可以說,在企業IT基礎架構優化中,很難有一種技術可以完美替代另一種技術。就如同對象存儲的引入并不是對現有企業存儲架構的徹底顛覆,而是一種技術的有力補充,分類分級建設的存儲資源池可以匹配各自適用的業務場景。傳統集中式SAN存儲以其高并發、低延遲的特性,適用于數據庫類業務場景。NAS文件存儲資源池用于解決文件共享或者是系統間的文件交互場景。而對于音頻、視頻等非結構化數據的處理,采用對象存儲則更為合理。正是這些技術的相互補充,才得以最大化地發揮各種技術的效能,從而更好地支撐前端業務系統的穩定、高效運行。
GPFS遷移實踐篇
在計劃進行GPFS向NAS轉型前,要對目標NAS存儲做好規劃和設計。為了保證NAS存儲可以很好地支撐業務需求,同時確保NAS存儲系統自身的架構健壯性和性能,可以從容量、性能、架構以及規范等層面對NAS存儲進行詳細設計。
而對于GPFS向NAS的遷移,要以項目管理的方式進行工作推進。首先是人員的準備,要明確各個條線的工作職責,從而便于各條線做好配合,進而可以保證項目的交付質量。對于具體的遷移工作,要按遷移前、遷移中和遷移后做好整個遷移工作的閉環管理。此外,要做好經驗總結,通過持續的PDCA,可以使后續的遷移工作更順暢和高效。
一、目標NAS存儲的規劃和設計
在進行GPFS向NAS技術轉型之前,要對目標的NAS存儲做好規劃。可以從容量設計、性能設計、架構設計、規范設計等方面對目標NAS存儲提前進行規劃。
具體來講,對于容量設計方面,要以GPFS臺賬為依據,梳理GPFS文件總容量,此外,需要考慮存儲容量年增長率因素,評估出滿足業務至少3-5年的存儲容量需求。對于性能設計,可以利用存儲性能監控工具,形成GPFS業務系統的性能基線,并充分考慮波峰(帶寬和OPS),以此作為存儲配置的依據。在做性能統計時,有幾個注意事項。一是GPFS業務系統在存儲上往往較為分散,不同的業務系統服務器會分布在不同的存儲設備上,這也是匯總性能數據的一個難點和要注意的地方。二是要特別關注交易量大的系統,抓住帶來存儲性能消耗的幾個關鍵系統。三是要建立典型業務高峰時點的性能基線,如季度結息、年終決算、雙十一等。四是在做性能分析時,要注意辨別共用存儲資源的情況。例如GPFS和數據庫業務共用存儲前端口的情況,在做性能數據收集時,要收集GPFS涉及LUN的性能,而不是端口的性能數據。因為端口屬于共用資源,除了GPFS流量,還包括數據庫業務貢獻的流量。對于架構設計,存儲系統首先沒有單點故障,然后用于承載重要系統的NAS存儲構建基于存儲復制技術的3DC架構。
此外,為了提升NAS存儲系統各張網絡的健壯性和性能,建議構建功能獨立、物理隔離的網絡。對于業務網絡,可以通過LACP鏈路聚合的方式擴充存儲側的網絡帶寬。最后,對于規范設計方面,要充分利用NAS存儲提供的租戶特性,實現各業務系統的安全隔離。有關NAS存儲的架構設計將在后續的文章中進行更詳細地說明。
下圖是華為高端NAS雙活系統網絡拓撲圖,從圖中可以看出,正是采用了四網分離的網絡架構,即業務網絡、復制網絡、仲裁網絡、管理網絡分離,才得以保障各張網絡的高可用和高性能。
圖三 華為高端NAS雙活系統網絡拓撲圖
二、遷移原則
在GPFS向NAS遷移工作實施前,為了保證遷移質量,同時提升遷移效率,首先制定了遷移的四大原則。
第一是“先做減法”原則,一方面,對于已下線及待下線的系統,積極推動系統下線流程,然后回收所用存儲資源。另一方面,推動各業務系統歷史數據清理,降低數據遷移量。
第二是“以靜制動”原則,對于有改造計劃的系統,待系統改造完成后,再決定是否遷移或回收老系統所用存儲資源。
第三是“分批推進”原則,為了平穩、高效地完成遷移任務,合理劃分遷移批次。此外,遷移工作要由易到難,從簡到繁,不斷積累經驗。
第四是“精細方案”原則,首先,遷移方案要做實做細,要做好遷移前、遷移中、遷移后整個遷移工作的閉環管理。此外,針對不同業務系統,需要定制最佳的個性化遷移方案。比如對于文件目錄很深、文件數量特別大的系統,可以采用分批次的遷移方案。
三、遷移方案
如前所述,為了做好整個數據遷移工作的閉環管理,下面將從遷移前的準備工作、遷移實施過程以及遷移后的收尾工作等環節對遷移方案進行展開陳述。
(一)遷移前的準備工作
人員是項目實施的關鍵因素,在遷移項目中,各個技術條線要做到分工明確,進而才可實現通力合作。系統條線作為提供和保障IT基礎設施的技術條線,將作為整個遷移項目的項目經理角色,負責牽頭整個數據遷移項目。應用條線配合確認和推進已下線和待下線系統的下線流程,同時,在數據遷移完成后,配合進行必要的業務驗證工作。網絡條線在遷移工作中負責開通相關的網絡訪問關系,提供網絡方面的技術支持。生產管理條線則負責組織落實相關變更的方案評審以及對外的監管報備工作。
決定遷移項目質量的另一個關鍵因素是要有一份清晰且精準的GPFS臺賬。關于臺賬的準備,可以采用管理維度和技術維度相輔相成的策略。對于管理維度,日常運維工作中形成的完整且及時更新的GPFS臺賬作為基線。而對于技術維度,一方面可以通過運維自動化平臺,編制GPFS文件系統信息導出腳本,形成GPFS全量信息報表。另一方面,可以借助CMDB平臺導出GPFS相關報表。通過上述管理和技術的融合,最終形成一份全量的GPFS臺賬,從而可以指導后續的遷移工作。
(二)遷移實施
- 目標NAS存儲分配到位
對于一般重要業務系統分配低端NAS存儲,NAS存儲采用本地部署方案,而對于重要系統則分配高端NAS存儲,采用NAS同城雙活架構。
- 數據遷移操作流程
將分配的目標NAS存儲掛載到臨時目錄上,如/qianyi
將GPFS掛載點目錄下的內容全部拷貝到上述的目標路徑下
待拷貝完成后,卸載掉GPFS以及目標NAS文件系統
將目標NAS文件系統掛載到原GPFS掛載點上
對于停機窗口充足的系統,建議在第二步開始前,停止使用GPFS的應用程序。對于停機窗口有限的系統,第三步的拷貝可以使用rsync等支持增量拷貝以及斷點續傳的命令。對于目錄結構深、海量小文件的系統,可以分批次進行數據遷移,如先遷移近期使用的文件及目錄,后續再分批次遷移歷史文件。
(三)遷移收尾工作
數據遷移完成后,需要組織應用人員進行業務驗證,驗證新的目標存儲可以正常承載業務運行。
為了應對可能發生的遺漏文件的快速查找需求,需要將原GPFS目錄掛載到臨時目錄下,具體操作步驟如下:
待新的NAS投產且平穩運行后,經過一段時間的觀察期,可以組織對先前GPFS資源的回收。
四、遇到的問題和解決方法
在做數據遷移時,要充分考慮每個業務系統的文件生成和訪問特性。因為不同的系統對不同日期目錄的操作方式會有差異,這也是為什么要針對各個系統做定制化的遷移方案。
比如,有的系統在數據遷移窗口期間不會訪問歷史日期目錄,只會在當前日期目錄下生成文件。對于這樣的業務系統,我們可以利用短暫的窗口,先將GPFS和NAS的掛載點進行切換。這樣一來,新的文件就會直接落地到NAS上,然后再遷移其他的目錄和文件。
在windows操作系統中做數據拷貝時,我們往往會遇到內存資源不足的情況,這個一般是與一次性拷貝的文件太多有關。對于這個問題,可以在每天的業務空閑時段,按目錄分批次進行拷貝。
對于windows操作系統,在掛載NAS存儲(映射網絡驅動器)時,你會發現重啟服務器后,之前掛載的網絡驅動器不見了。這是因為在映射網絡驅動器時,沒有注意有些附加選項。如下圖,在映射網絡驅動器時,注意要把“登錄時重新連接”選項勾選上。然后,注意選擇使用其他憑據連接,這樣會彈出訪問NAS存儲的用戶名和密碼,同時要注意選擇讓windows記住用戶名和密碼。
圖四 Windows映射網絡驅動器
另外,對于Linux或AIX操作系統,同樣也要注意把NFS的Mount掛載命令寫入開機自啟文件里,如對于Suse Linux操作系統,是/etc/init.d/after.local文件;對于紅帽Linux,是/etc/rc.d/rc.local;AIX一般可以寫入/etc/filesystems文件里。這里面如果是AIX HA場景,因為一般NFS文件系統是隨服務IP一起的,所以可以把NFS的掛載和卸載命令寫入ha的啟停腳本里。
在做數據遷移時,有時會遇到拷到目標目錄中的文件時間戳、文件的屬主屬組或是權限會發生改變,這是因為在執行拷貝時沒有用對選項。比如對于cp命令,注意使用-a選項,這個選項包含了-p all的功能,也就是拷貝時會保留文件或目錄的上述元數據信息。
在數據遷移過程中,還有個典型問題,就是由于沒有更改GPFS的掛載點定義,而只是臨時將GPFG文件系統卸載掉。這樣一來,在系統重啟時,會造成GPFS和NAS的掛載點沖突。如果GPFS成功掛載了,那么新的業務文件就會寫入到GPFS文件系統中,進而給整個遷移工作帶來麻煩。這也是前文提到的一定要做好遷移工作的閉環管理,注意按上文方法徹底調整GPFS的掛載點。
五、遷移總結
目前,GPFS遷移NAS的工作還在平穩、高效地推進中。通過項目實施,也收獲了不少經驗。
從技術維度來看,一是對于目標NAS存儲設備的架構規劃要以目前業務系統的實際需求出發,特別注意性能基線的建立。二是要結合應用場景,靈活使用存儲的特性,比如租戶隔離特性。三是在遷移前針對各個系統定制個性化的遷移方案,在遷移中注意文件屬性保留的拷貝選項,在遷移后要調整GPFS的配置,尤其是更改其掛載點。
從管理維度來看,一是要將每一個存儲遷移工作以項目管理的方式進行推進,做好各技術和管理條線的職責分工,各專業條線通力合作,才能實現高質量的項目交付。二是對于遷移工作,要“巧干”,首先制定工作原則。例如文中提到的“先做減法”、“以靜制動”,這實際上也是對業務系統以及歷史數據生命周期管理的實踐和完善,借存儲遷移項目的契機,可以促進對業務系統下線的推動,同時完成歷史數據的清理。三是對遷移工作要做好閉環管理,特別要重視遷移后的收尾以及總結。
NAS存儲使用經驗和效果篇
數據只有做好分類存儲和管理,才能發揮基礎設施的最大效能。為此,行里從2018年開始引入中低端NAS存儲,到目前NAS存儲的3DC架構落地,完備的NAS存儲資源池為我行非結構化數據存儲系統架構優化提供了基礎設施平臺。通過近年來NAS存儲的推廣使用,逐漸降低了塊存儲使用成本,提高了存儲的使用靈活度,實現了不同類型業務數據的合理存儲。
如果說FC網絡是傳統集中式SAN存儲的核心,那么IP網絡無疑是NAS存儲的關鍵。因此,在配置NAS存儲時,特別是對于跨數據中心的NAS雙活架構的搭建,提前規劃好各張不同功能的網絡就顯得尤為重要了。此外,通過結合業務使用場景,充分利用華為NAS存儲提供的租戶特性,不但實現了業務系統間的安全隔離,同時也實現了基于單個業務系統的細粒度災備切換能力。
一、技術方案
從2018年開始引入中低端NAS存儲,到高端NAS雙活系統投產,以及如今的NAS 3DC架構的落地,完備的NAS存儲資源池為我行非結構化數據存儲系統架構優化提供了基礎設施平臺。如上圖二是我行兩地三中心的NAS存儲架構,最左面是采用本地部署模式的低端NAS存儲系統,右面部分是華為的兩地三中心NAS架構,它是采用cascade串行級聯模式的數據復制架構。
下面將重點剖析NAS雙活架構。兩臺華為高端18500雙活NAS設備分別部署在我行生產機房和同城災備機房,構建同城NAS雙活系統,為我行新核心、重要以及重要支撐系統提供文件交互、文件共享服務和文件高可用容災服務。
(一)網絡架構
如圖三是華為高端NAS雙活系統網絡拓撲圖。
整個網絡架構共涉及4個網絡平面,分別是業務網絡平面、復制網絡平面、仲裁網絡平面以及管理網絡平面。每張網絡的拓撲和功能介紹如下:
- 業務網絡平面
高端NAS雙活系統同時接入新核心區和業務三區,其中A、B控接入業務三區;C、D控接入新核心區,形成兩個故障漂移組(fail group)。每個控制器通過2條10GbE光纖接入業務交換機,形成一個20GbE的端口組(LACP)。接入同一網絡區域的控制器之間采用A-A(雙active)互備的工作模式,當任一個控制器出現硬件故障或業務網絡中斷時,存儲系統會自動將業務地址切換到另一個活動的控制器上,切換時間控制在5秒以內,對前端業務系統可以做到無感知。
- 復制網絡平面
每臺存儲通過4個40GbE的全互聯連接接入2臺40GbE的內部復制交換機,兩中心的4臺復制交換機通過2條平行連接的10GbE DWDM線路連接,構建了NAS同城雙活數據復制鏈路。通過存儲系統內部的配置,共形成8條負載均衡的冗余ISL(Inter Switch Link)數據復制鏈路。
- 仲裁網絡平面
每臺存儲設備通過2塊仲裁網卡,和2臺仲裁物理服務器(HA主備架構)構建成2個獨立vlan的高可用仲裁網絡。對于仲裁模塊,從仲裁網絡鏈路到仲裁軟件,再到底層的仲裁服務器均實現了雙冗余,規避了仲裁系統的單點故障,從而極大提升了仲裁的高可用性。
圖五 復制和仲裁鏈路
- 管理網絡平面
每臺存儲通過2個管理網口接入網管網,用于存儲設備的日常管理和存儲監控管理。
如上所述,高端NAS雙活系統的網絡按照功能劃分為四個物理隔離的平行網絡平面,每個網絡平面只承載各自功能模塊的流量。這樣的網絡架構設計,既保證了各個網絡的安全性,也提升了每個網絡平面的吞吐性能。
業務網絡平面既可以支持兩中心大二層打通的網絡架構,也支持不打通大二層,使用各中心獨立IP地址的方案。為了遵從我行整體的網絡規劃,我們采用了后者即獨立IP的方案。兩種網絡架構在存儲端的RTO指標是一致的,而最主要的區別主要在于大二層打通的架構可以獲得更好的主機端全局的RTO指標。在大二層打通的情況下,當發生站點切換時,主機側可以無感知的恢復NAS連接。而對于獨立IP的方案,需要主機側重新執行NAS存儲的掛載。為了進一步提升該方案中主機側的RTO指標,利用我行自動化災備切換系統編排NAS站點切換流程,定制了各系統的切換腳本。腳本的核心邏輯是這樣的:第一,更改客戶端操作系統中的NAS自動掛載命令。將主站點的掛載命令注釋掉,同時去掉從站點掛載命令的注釋。第二,卸載主站點的NAS掛載。如果遇到卸載失敗的情況,需要判斷是否有進程占用,如果有應用進程占用導致無法卸載,則需要停止應用程序再卸載主站點的NAS掛載。第三,掛載從站點的NAS。如果在第二步中停止了應用程序,則需要在從站點的NAS成功掛載后啟動應用程序。對于回切流程,也按照上述同樣的邏輯進行回切腳本設計。
(二)軟件架構
在軟件層面,為了提升安全性和易管理性,華為高端NAS系統采用基于租戶的方式實現業務系統邏輯隔離。租戶是文件系統、網絡邏輯端口的存儲資源集合。針對我行的實際業務場景,設計了兩類租戶,一類是業務系統交互,另一類是業務系統獨自使用。對于業務系統間交互的租戶,會按照業務系統網絡區域配置不同的邏輯端口,業務系統會使用同區域的網絡端口接入NAS存儲,從而提升存儲訪問效率,同時還能規避邊界網絡防火墻的跨區流量。
除了安全性、易管理性和性能因素外,租戶也是華為高端NAS雙活系統細粒度站點級容災的底層支撐要素。每個租戶在雙活架構下會配置雙活租戶pair對,由于雙活租戶pair是雙活系統的最小單元,因此,可以實現基于單個業務系統的站點級災備切換方案。下圖是雙活租戶pair的管理界面,從中可以清晰的看到雙活租戶pair以及文件系統雙活pair的運行狀態。
圖六 雙活租戶PAIR和文件系統雙活PAIR
NAS存儲的另一層數據保護是基于文件系統的快照功能。通過快照技術,可以實現一定時間段內對文件歷史版本的回溯以及找回被誤刪除的文件等??梢葬槍γ總€業務系統的需求定制不同的快照和快照保留策略。此外,可以靈活定制每個文件系統的快照預留空間,當快照預留空間剩余不足時,最早的快照將被自動清除。
在數據備份方面,使用NDMP協議實現Server-Free的備份架構。在這種架構下,業務數據可以從NAS存儲端直接備份到磁帶庫中,而不通過前端客戶機操作系統中轉。因此,不但可以提升數據備份效率,更重要的是,可以大幅降低數據備份對業務系統的性能影響。
二、NAS存儲使用規范
NAS存儲在權限管理和控制方面,總體來說,主要包括客戶端授權以及用戶管理兩方面。在用戶管理方面,通過綜合考慮我行的實際業務特性、應用場景和使用規模,最終選擇了本地用戶管理策略,也就是說NAS存儲未接入AD域或者使用LDAP。所以對于CIFS協議來講,通過使用NAS存儲本地用戶實現Windows客戶端的用戶管理和文件系統共享權限控制。而對于NFS協議,在客戶端IP授權之外,則采用客戶端本地的傳統SYSTEM級ACL策略實現文件的權限控制。
基于上述權限控制方案,結合我行實際的業務場景,制定出了詳細的NAS使用規范。主要分為上文提到的單業務系統使用場景和不同業務系統間的文件交互場景。對于單業務系統使用場景,需要應用系統集群的各節點服務器使用同樣的應用用戶訪問NFS共享,考慮到Linux操作系統的ACL授權機制,需要各節點的這個應用用戶有相同的UID和GID設置。而對于不同業務系統間的文件交互場景,NAS存儲端按照實際業務需求控制不同業務系統客戶端服務器對同一共享文件系統的讀寫和只讀權限,共享文件系統中的文件和目錄權限通過設置子目錄實現細粒度的權限控制。各業務系統在共享文件系統掛載點目錄下建立獨立的子目錄,各子目錄由對應的業務系統的實際需求進行權限設置。原則上,禁止跨業務系統子目錄進行寫入、刪除和更改操作,跨業務系統子目錄只允許只讀操作。
除了NAS的權限和用戶管理,對于客戶端的掛載也要按照最佳實踐進行配置。
首先,對于客戶端NFS文件系統本地掛載點的選擇,要避免使用“嵌套”目錄,也就是說客戶端掛載點是根文件系統(根目錄)下的獨立空目錄,不能是其他非根文件系統下的子目錄。這樣在技術上可以規避上層文件系統異常對NFS共享文件系統的影響。另外,NFS的掛載選項里有很多可以調優的參數,這里面可以根據實際情況,結合NAS廠商白皮書提供的建議進行設置。最后,為了提高文件訪問性能,高端NAS存儲接入了多個網絡區域,以便提供給不同網絡區域中的業務系統使用,從而規避邊界防火墻對跨網絡區域文件訪問的性能影響。因此,各網絡區域中的客戶端要通過相應區域的存儲前端業務網絡接入。
三、收效和總結
NAS存儲系統自投產以來運行平穩高效,其中的高端雙活NAS存儲平臺已經承載了和新核心銀行系統交互的50多個業務系統場景。截至目前,已經完成了六個批次系統的GPFS遷移,項目收效良好。
通過項目實施,實現了我行NAS文件存儲資源池的分級建設。隨著NAS應用的推廣和落地,逐漸降低了塊存儲使用成本,提高了存儲的使用靈活度,實現不同類型業務數據的合理存儲。特別是借助高端NAS存儲設備構建同城雙活架構,實現了重要業務系統對于文件存儲的高可用需求。較之于先前的GPFS方案,在RPO同為0的情況下,RTO指標得到極大提升。最后,利用NAS存儲構建業務系統間文件交互平臺,顯著提升了業務處理效率。