智慧校園的核心價值在於數據:
依據數據挖掘和數學建模技術,智慧校園可以在「海量」校園數據的基礎上構建模型,建立預測方法,對信息進行挖掘、分析、展望和預測;
智慧校園還可綜合各方面的數據、信息、規則等內容,通過智能推理,做出快速反應、主動應對,更多地體現智能、聰慧的特點。
因此,對於數據的使用將會直接影響智慧應用及智慧校園的發展。
分散式軟體定義存儲
傳統存儲
傳統以存儲區域網(SAN,Storage Area Network)技術為主的存儲系統存在局部封閉的缺點,雖然通過存儲虛擬化技術可以改善其相對各自獨立的架構,但是後端存儲依然是一座座數據孤島,數據在各後端存儲設備之間的複製備份等操作都會極大影響存儲的性能與數據安全性。隨著智慧校園數據使用需求量的激增,極易出現並發流不穩定、讀寫帶寬受限,以及文件數量劇增所帶來的遍歷困難。
早期為了打破直連存儲的數據存儲不能共享的數據孤島問題,數據中心大多採用SAN建立存儲共享網路。由於SAN網路規模和網路性能瓶頸等問題,面對當下大規模數據中心的存儲資源需求,SAN網路的規模限制成為制約存儲規模無限擴大的障礙。不同性能和不同存儲區域的存儲不得不依賴存儲網關等方案實現數據的相互共享。其整體架構已無法適應現有雲計算、微服務、大數據等應用場景,SAN網路架構幾乎成為新的數據存儲孤島。
智慧校園中存在大量以微服務作為使用端的場景,由此還會帶來啟動風暴、海量數據同步讀寫、數據分級保護和快照等問題。在當前以軟體定義為主導方向的雲數據中心時代,傳統存儲的技術特性已經難以支撐數據中心的高速發展。
軟體定義存儲
軟體定義存儲(SDS,Software Defined Storage)是一種能將存儲軟體與硬體解耦合的存儲架構。與傳統的SAN存儲或NAS(Network Attached Storage)存儲不同的是,軟體定義存儲一般運行在X86或者行業標準伺服器上,從而消除存儲系統對專有硬體的依賴。通過將存儲軟體與硬體解耦合,存儲系統可以根據需求進行擴容,還可以進行硬體縮減或降級,這就使得存儲系統的使用更加靈活。
分散式軟體定義存儲的優勢
當前軟體定義存儲主要是以分散式軟體定義存儲為主,它的主要優勢包括以下幾點:
除了提供存儲的管理功能以外,還可以提供豐富的附加軟體功能,例如性能分析、自動化運維、快照、備份、壓縮、加密、QoS(Quality of Service,服務質量)等,而通常的傳統存儲則需要依賴外部軟體伺服器或者為存儲硬體購買額外的軟體許可。通過軟體自動化,可以確保信息存儲系統的可靠性,使系統規模在擴大之後,其運維難度始終維持在較低水平。
容量與性能的可擴展性,分散式軟體定義存儲採用了橫向擴展(而非縱向擴展)的分散式結構,容量和性能理論上可以無限擴容。增加存儲池容量只需增加節點存儲磁碟或增加存儲節點。由於存儲中數據切片均勻分布在所有節點上,所有節點並行參與數據讀寫,數據讀寫性能隨著數據節點增加而線性增長。
大多數雲平台基礎設施採用虛擬化或容器技術,與之集成是分散式軟體定義存儲的常見應用場景。通過iSCSI介面連接傳統存儲架構路徑互通,實現與傳統存儲系統數據互通,使得原有硬體資產可以充分利用。
提供標準的應用程序編程介面(API),與雲平台整合用於管理和維護存儲設備,將存儲資源池化與雲平台無縫銜接,進而為雲平台提供各種存儲服務。
由此可見,分散式軟體定義存儲充分發揮了其統一存儲平台的特性,存儲系統擴容規劃從存儲量需求考慮增加存儲節點即可,分散式的架構在增加存儲節點提高存儲容量的同時也提高了整體存儲系統的性能。並且,還可以發揮軟體優勢對未來數據增長需求進行預測,從而量化未來存儲擴容需求。
Ceph分散式存儲系統
Ceph的概念
Ceph項目最早起源於Sage就讀博士期間的工作(最早的成果於2004年發表),並隨後貢獻給開源社區,其設計初衷是提供較好的性能、可靠性和可擴展性。在經過數年的發展之後,目前已得到眾多雲計算廠商的支持並被廣泛應用。
Ceph是一種軟體定義存儲,可以運行在幾乎所有主流的Linux發行版(比如CentOS和Ubuntu)和其他類UNIX操作系統(典型如FreeBSD)。Ceph的分散式基因使其可以輕易管理上千個節點、EB級及以上存儲容量的大規模集群,同時基於計算的扁平定址設計使得Ceph客戶端可以直接和服務端的任意節點通信,從而避免因為存在訪問熱點而導致性能瓶頸。
Ceph通過CRUSH(Controlled Replication Under Scalable Hashing)演算法來動態計算存儲和獲取某個對象的位置。Ceph也是一個統一存儲系統,即支持傳統的塊、文件存儲協議,例如SAN和NAS;也支持對象存儲協議,例如S3和Swift。因此,Ceph是一個真正的軟體定義存儲解決方案,它可以從軟體層面正確提供所有的企業級存儲特性:低成本、可靠性、可擴展性。
Ceph的基本原理
Ceph分散式軟體定義存儲的對象守護進程主要包含MON(Monitors)和OSD(object storage daemon)。此外如果上層介面需要提供文件服務,還需要在Ceph中加入MDS(CephMetadataServer)進程,但是此進程不是必須的。
MON主要通過管理集群的關鍵狀態和配置信息維護集群的狀態。維護集群的成員和狀態(cluster map),提供強一致性的策略。採用集群方式避免單點故障,利用paxos演算法保證集群map的一致性,並保證結點數少於半數失效的情況下仍然能正常工作。MON之間必須對集群的狀態達成一致,因此數量必須是奇數。
OSD是對象存儲守護進程,用於將存儲對象提供給客戶端,其中OSD分為主OSD和非主OSD。主OSD功能包括複製、數據一致性、數據重新平衡和數據恢復;非主OSD在主OSD控制下執行操作,例如複製操作,並且在必要時轉化為OSD。
客戶端訪問Ceph的數據訪問介面組件包含:
RADOSGW(Reliable, Autonomic Distributed Object Store Gateway)介面,基於HTTP的對象訪問網關,為應用程序提供符合REST風格的兼容S3和Swift協議。
RBD(RADOS Block Device)介面,為主機和虛擬機提供 塊存儲設備。RBD為客戶端提供了可靠、分散式、高性能的塊存儲。RBD已經被Linux內核支持,幾乎所有的Linux操作系統發行版都支持RBD。除了可靠性和性能之外,RBD也支持其他的企業級特性,如完整和增量式快照,精簡的配置,寫時複製式克隆及全內存是緩存。此外RBD還可以與iSCSI對接為主機提供基於iSCSI的存儲服務。
CephFS(Ceph File System)介面,是一個兼容POSIX的文件系統,利用Ceph存儲集群來保存數據。Linux內核驅動程序支持CephFS,這也使得CephFS高度適用於各大Linux操作系統發行版。CephFS將數據和元數據分開存儲,為上層的應用程序提供較高的性能以及可靠性。
RADOSGW、RBD和CephFS通過librados訪問RADOS(Reliable, Autonomic Distributed Object Store),並且librados也提供多種語言編程介面,提供包括PHP、Ruby、Java、Python、C和C++的支持。其完整架構圖如圖1所示。
圖1 Ceph架構
分散式軟體定義存儲
在智慧校園中的實踐
本文以東南大學分散式存儲項目為例,以軟體定義網路為數據傳輸網路基礎構建分散式軟體定義存儲,從而實現軟體定義的數據中心基礎架構。
東南大學信息化發展已經有十多年歷史,其當前的指導思想是以「數智東南」為目標,建立健全信息化可持續發展機制,堅持信息化與人才培養、科學研究、管理服務的深度融合,堅持應用驅動和機制創新的協調推進。但是現有用於全校信息系統的硬體基礎架構複雜多樣,包括小型機、X86伺服器及虛擬化集群。而存儲系統也有各類型基於SAN網路架構的存儲伺服器,其性能和容量差異較大。
以東南大學現有SAN存儲系統為例,擁有不同大小的存儲,磁碟性能也不盡相同,因此協調存儲不同容量和性能的數據鏡像,以及維護存儲池的大小都佔用了太多的日常維護工作時間。並且隨著數據存儲的規模變大,維護存儲的工作量和資源調配的複雜度也日益增大。另一方面,在對當前存儲進行擴容時,面對存儲容量提升還需要考慮讀寫性能的提升,例如增加存儲機頭、路徑數量和FC埠速率,這對於數據存儲的硬體和管理成本都是一個巨大的挑戰。
為了解決上述問題,在建設東南大學分散式軟體定義存儲時,需要考慮對現有計算資源與存儲資源的融合和互通,避免出現數據孤島。現有數據類型主要包含資料庫、虛擬機數據和靜態文件,本項目中分散式軟體定義存儲主要承載核心應用虛擬機及靜態文件。
本項目採用Ceph架構的商業軟體,以保證提供對原有VMware和FC網路的數據互通性,這是開源Ceph架構軟體所不具備的,並且能提供更加友好的圖形化管理界面。分散式軟體定義存儲與VMware和FC網路融合架構如圖2所示。
圖2 分散式軟體定義存儲優勢分析
分散式軟體定義存儲的網路是存儲系統一個重要組成部分,主要包括3種類型:
PublicNetwork用於客戶端訪問和數據交互,
Cluster Network用於集群內部數據同步和傳遞心跳消息,
Management Network用於管理模塊。
這3種網路可根據集群規模靈活配置,在條件允許的情況下,通常建議前2類網路採用至少10Gb網路帶寬,對於傳統網路這3類網路需接入不同的交換機設備。
為解決分散式軟體定義存儲對網路的高帶寬、網路間隔離、 跨中心大二層等嚴苛要求,採用軟體定義網路架構承載分散式軟體定義存儲。軟體定義網路的leaf spine分散式網路節點架構、基於vxlan的網路、跨數據中心的統一網路等特性是支撐分散式軟體定義存儲高穩定運行的重要保障,網路物理架構如圖3所示。
圖3 存儲網路物理拓撲
並能通過圖形用戶界面直觀的管理分散式軟體定義存儲的網路,通過統一的網路平台快捷地將存儲服務交付給應用系統,如圖4所示。
圖4 存儲網路邏輯拓撲
分散式軟體定義存儲伺服器網路連接採用每個伺服器使用2個千兆網口4個萬兆網口,所有網口均做LACP埠聚合模式綁定並分別接入SDN網路上的兩台Leaf交換機,保證了網路的可靠性並增加節點間帶寬。管理網路為千兆網,接入帶外管理交換機,集群內部網路和提供服務的業務網路分別使用萬兆網。
在SDN網路交換機上,建立用於iSCSI、內部互聯的兩個應用分組。根據需要可以將應用分組延展至另一個校區實現跨校區大二層互通,以滿足雙活需求。將iSCSI網路與計算資源互通實現為計算資源提供塊存儲,其中包括刀片和機架式伺服器。增加原有刀片伺服器後端接入SDN網路埠聚合數量,以保證刀片至SDN網路的iSCSI帶寬。
同時,為了能和數據中心現有FC網路互通,在分散式軟體定義存儲伺服器上還增加了FC HBA卡,並與現有SAN交換機互通。通過包含FC HBA卡的存儲節點上聯至傳統存儲資源池中的FC交換機,充分利用原有的FC存儲資源。
從存儲的管理角度來看,本項目實現的分散式軟體定義存儲相較於傳統存儲具有更大的管理便捷的優勢:
從底層架構上完全採用集群化,並且硬體與軟體的解耦合,整個存儲系統就是一個完整的數據平台,一個平台即可對所有存儲資源進行快速調配,消除數據存儲孤島;
依據業務的需求分配不同類型存儲,在分配存儲資源時,智慧校園核心資料庫、虛擬機數據可分配高速高可靠存儲池,存檔和附件等靜態文件數據可分配高性價比存儲池,通過平台進行資源調配時無需對底層單個物理存儲節點進行管理和維護;
分散式軟體定義存儲數據傳輸採用乙太網,其運行完全融入現有數據中心乙太網環境中,減少傳統存儲中獨立的SAN網路硬體和光纖資源的投入,大大減輕了數據中心運維工作量。
分散式軟體定義存儲作為一種先進數據存儲方式,支撐未來人工智慧、大數據等對與數據海量存儲的需求,最終使得系統存儲訪問功能更加精準化,通過脫離物理系統等方式提升信息資源利用率,是目前數據中心基礎架構重要發展方向。雖然SDS還有許多問題,僅僅採用SDS也是不夠的,但是它在成本、靈活性和性能方面的優勢,必將成為構築現代化數據中心的新基石,從而在未來的智慧校園建設中發揮更大的作用。
作者:唐潔(東南大學網路與信息中心)
來源:《中國教育網路》雜誌(11月刊)
整理:鄭藝龍
投稿、轉載或合作,請聯繫:eduinfo@cernet.com