星辰天合(北京)數(shù)據(jù)科技有限公司產(chǎn)品總監(jiān)張旭明

以下為張旭明演講實(shí)錄整理:

大家下午好!我是XSKY產(chǎn)品總監(jiān)張旭明。今天我給大家?guī)?lái)的分享是XSKY SDS激發(fā)通用平臺(tái)的數(shù)據(jù)潛能。在加入XSKY之前我從事了10年的存儲(chǔ)研發(fā),希望可以從技術(shù)開(kāi)發(fā)的角度給大家?guī)?lái)一些干貨。

首先,我們看一下企業(yè)信息化面臨的挑戰(zhàn)。

1

我接觸過(guò)很多的客戶,他們面臨的最大挑戰(zhàn)是存儲(chǔ)容量不足,當(dāng)客戶業(yè)務(wù)發(fā)生躍遷式發(fā)展的時(shí)候,傳統(tǒng)IT架構(gòu)無(wú)法應(yīng)對(duì)容量擴(kuò)容的需求。另外,在傳統(tǒng)IT架構(gòu)下客戶碰到成本高、運(yùn)維復(fù)雜性高,以及性能擴(kuò)展有限等問(wèn)題,TCO持續(xù)上升,部分設(shè)備的擴(kuò)容成本比新購(gòu)還高。同時(shí),傳統(tǒng)的IT架構(gòu)也難以應(yīng)對(duì)云計(jì)算和大數(shù)據(jù)的發(fā)展,包括還有資源孤島問(wèn)題。以上幾個(gè)問(wèn)題都是客戶的關(guān)注點(diǎn),我們的機(jī)會(huì)在于如何滿足客戶需要,解決客戶痛點(diǎn)。

下面我想先與大家分享信息化存儲(chǔ)發(fā)展的技術(shù)和趨勢(shì)。前面有很多嘉賓提到過(guò)閃存技術(shù),而我有過(guò)很長(zhǎng)時(shí)間的傳統(tǒng)存儲(chǔ)開(kāi)發(fā)經(jīng)歷,那個(gè)時(shí)候因?yàn)殚W存技術(shù)發(fā)展比較緩慢,因此SDS(軟件定義存儲(chǔ))無(wú)法通過(guò)X86服務(wù)器把存儲(chǔ)的性能提升上來(lái),而專業(yè)存儲(chǔ)很容易通過(guò)硬件堆疊,內(nèi)存加速的方式獲得性能提升,對(duì)于運(yùn)行在通用硬件的存儲(chǔ)軟件來(lái)說(shuō)這是很難做到的?,F(xiàn)在,閃存技術(shù)的發(fā)展把這一瓶頸打破了,通過(guò)閃存技術(shù),SDS能輕松達(dá)到專業(yè)存儲(chǔ)的性能水平。

XSKY 認(rèn)為,存儲(chǔ)的主要發(fā)展趨勢(shì)包括下面四個(gè)方面:水平擴(kuò)展、硬件通用化、普適多負(fù)載、應(yīng)用感知。我重點(diǎn)分享一下對(duì)應(yīng)用感知的理解,未來(lái)存儲(chǔ)廠商不應(yīng)該只聚焦在數(shù)據(jù)存儲(chǔ)這一部分,同時(shí)我們也需要更好地幫助用戶來(lái)規(guī)劃數(shù)據(jù)的使用方式,因?yàn)榭蛻糇罱K需要存儲(chǔ)設(shè)備解決應(yīng)用問(wèn)題,而不僅僅把數(shù)據(jù)放在這兒,存儲(chǔ)應(yīng)該更加貼近數(shù)據(jù),以便更好的服務(wù)數(shù)據(jù)。

那么,XSKY是如何實(shí)現(xiàn)SDS的呢?我們通過(guò)將SDS軟件部署在通用平臺(tái)上將它轉(zhuǎn)換成分布存儲(chǔ),提供統(tǒng)一的接口,企業(yè)級(jí)存儲(chǔ)功能,以及高性能、高可用性。具體的部署形式可以看一下我們的總體框架圖,我相信大部分的分布式架構(gòu)可以映射到這個(gè)架構(gòu)圖中。

2

XSKY是企業(yè)級(jí)存儲(chǔ)廠商,我們?cè)谛阅?、可靠性方面做出了非常深度的開(kāi)發(fā),在數(shù)據(jù)持久化方面我們提出Block持久化。對(duì)于專業(yè)存儲(chǔ)而言,落盤(pán)系統(tǒng)大都是基于Block來(lái)組織管理的,一些開(kāi)源的存儲(chǔ)采用文件系統(tǒng)的方式進(jìn)行數(shù)據(jù)持久化,由于文件系統(tǒng)本身的一些問(wèn)題,如使用page cache等,是很難保證性能穩(wěn)定的。鑒于此XSKY研發(fā)了專用的Block持久化層,投入了強(qiáng)大的團(tuán)隊(duì)進(jìn)行開(kāi)發(fā)工作;在存儲(chǔ)服務(wù)層,我們開(kāi)發(fā)了多級(jí)智能cache,通過(guò)SSD對(duì)系統(tǒng)進(jìn)行加速;同時(shí)開(kāi)發(fā)了很多存儲(chǔ)高級(jí)功能,滿足客戶不同級(jí)別的需求。為了應(yīng)對(duì)不同的業(yè)務(wù)訪問(wèn)需求,XSKY開(kāi)發(fā)了包含豐富接口的分布式網(wǎng)關(guān)層,提供包括FC、iSCSI、Local以及rbd的塊訪問(wèn)服務(wù),同時(shí)提供S3以及NFS的非結(jié)構(gòu)化數(shù)據(jù)訪問(wèn)接口,形成統(tǒng)一存儲(chǔ)。在部署方式方面,我們提供了融合存儲(chǔ)和計(jì)算分離部署兩種形式。

實(shí)現(xiàn)基本的SDS之后,XSKY是如何激發(fā)通用平臺(tái)數(shù)據(jù)潛力的呢?我們需要做到高性能,需要做到高可靠性,同時(shí)需要適應(yīng)企業(yè)對(duì)可用性的需求。關(guān)于高性能,首先,我們先要找到系統(tǒng)的性能瓶頸在哪里,XSKY從兩個(gè)方面進(jìn)行考量,一個(gè)是單節(jié)點(diǎn)性能,另外一個(gè)橫向擴(kuò)展性能。單節(jié)點(diǎn)性能瓶頸在磁盤(pán)上,雖說(shuō)現(xiàn)在有全閃方案,真正實(shí)際應(yīng)用行業(yè)中不可能為所有用戶提供全閃,所以我們需要把HDD為主存的性能提上去,因此我們提供了智能IO合并算法,提供了熱點(diǎn)數(shù)據(jù)分析技術(shù),智能多路流預(yù)測(cè)等算法來(lái)實(shí)現(xiàn)Cache加速。我們的Block持久化層,提供基于塊設(shè)備的智能磁盤(pán)的數(shù)據(jù)管理系統(tǒng),大大提升磁盤(pán)IO落盤(pán)效率,通過(guò)這些方式,提升HDD為主存的IO性能。在橫向擴(kuò)展方面,XSKY開(kāi)發(fā)了分布式無(wú)狀態(tài)網(wǎng)關(guān),網(wǎng)關(guān)擴(kuò)展情況下性能基本無(wú)損失。通過(guò)這兩方面優(yōu)化單點(diǎn)和擴(kuò)展性能,從而提供集群整體性能呢。高可擴(kuò)展性方面,通過(guò)Pool內(nèi)橫向擴(kuò)容帶來(lái)投資可預(yù)期;同時(shí),Pool間在線擴(kuò)容可實(shí)現(xiàn)業(yè)務(wù)無(wú)需等待,性能與容量同步線性增長(zhǎng),資源隨時(shí)按需增減,保護(hù)已有投資。

下面討論一下高可用,任何存儲(chǔ)系統(tǒng)首先要解決的高可用問(wèn)題都包括兩方面內(nèi)容:管理面高可用和IO路徑高可用。所謂IO路徑高可用,就是你出現(xiàn)單點(diǎn)故障時(shí)業(yè)務(wù)IO是沒(méi)有影響的,XSKY設(shè)計(jì)了4路HA,保證在3條路徑異常的情況下仍舊可以訪問(wèn)存儲(chǔ)。管理面的高可用:同理,出現(xiàn)單點(diǎn)故障時(shí),系統(tǒng)仍舊是可管理、可操作的,XSKY可以自定義備份控制器數(shù)量,保證集群管理節(jié)點(diǎn)處于冗余狀態(tài),避免單點(diǎn)故障。另外,為了保證業(yè)務(wù)持續(xù)高可用,需要重點(diǎn)提及的是企業(yè)級(jí)Qos功能,企業(yè)運(yùn)行分布式存儲(chǔ)系統(tǒng)的時(shí)候有很多業(yè)務(wù)跑在上面,首先你會(huì)碰到業(yè)務(wù)之間相互沖突的問(wèn)題,可能有些業(yè)務(wù)IO壓力大卻不重要,但會(huì)把一些重要業(yè)務(wù)IO資源搶占了,比如數(shù)據(jù)庫(kù)有可能因?yàn)榉顷P(guān)鍵業(yè)務(wù)的IO搶占而暫停,很多客戶碰到類似的問(wèn)題,XSKY提供企業(yè)級(jí)卷Qos功能來(lái)解決這個(gè)問(wèn)題,保證客戶系統(tǒng)上線之后一兩年系統(tǒng)正常運(yùn)行。與卷Qos同樣重要的是Recovery Qos,我們知道磁盤(pán)會(huì)出現(xiàn)一定概率的異常,或者發(fā)生服務(wù)器整體異常,導(dǎo)致硬件模塊掉線,這個(gè)時(shí)候集群會(huì)進(jìn)入Recovery 狀態(tài),Recovery的IO會(huì)沖擊業(yè)務(wù)IO,引起業(yè)務(wù)不可用,XSKY提供Recovery策略,可以設(shè)置業(yè)務(wù)優(yōu)先,解決異常單點(diǎn)故障對(duì)業(yè)務(wù)的沖擊,提高可用性。

XSKY 設(shè)計(jì)SDS還有一個(gè)理念就是開(kāi)放性,我們的產(chǎn)品設(shè)計(jì)與硬件充分解耦,同時(shí)支持主流的操作系統(tǒng)以及虛擬化平臺(tái):

3

我們可以支持主流的虛擬化平臺(tái)Vmware、KVM、HyperV,也支持幾乎所有X86服務(wù)器。

關(guān)于運(yùn)維,我們思考的是,如何讓維護(hù)變得簡(jiǎn)單,高效。XSKY的員工有70%是研發(fā)人員,其中相當(dāng)一部研發(fā)人員來(lái)自互聯(lián)網(wǎng)行業(yè),具備非常豐富大規(guī)模集群運(yùn)維經(jīng)驗(yàn)。我們的簡(jiǎn)單運(yùn)維思想也體現(xiàn)在產(chǎn)品中。XSKY 的運(yùn)維不是監(jiān)控一個(gè)點(diǎn)、一個(gè)面,我們監(jiān)控是一個(gè)為期90天的運(yùn)行過(guò)程,通過(guò)這個(gè)監(jiān)控?cái)?shù)據(jù)可以分析、預(yù)測(cè)存儲(chǔ)將會(huì)發(fā)生什么變化,例如,按照目前使用速度,還有30天存儲(chǔ)將用完,提前通知用戶擴(kuò)容;或者說(shuō)每周五IO壓力大的時(shí)候,我們會(huì)提醒用戶調(diào)整應(yīng)用。同時(shí),我們的安裝和部署也非常方便。在安裝完系統(tǒng)之后大概兩、三分鐘可以完成一個(gè)分布式軟件部署。另外,要想把SDS做到良好的運(yùn)維管理必須把磁盤(pán)維護(hù)好,磁盤(pán)是最容易出現(xiàn)故障的。據(jù)業(yè)內(nèi)經(jīng)驗(yàn)來(lái)看,磁盤(pán)的年損壞率在3%~6%,當(dāng)磁盤(pán)發(fā)生故障時(shí),為了方便磁盤(pán)定位,我們做了“硬盤(pán)點(diǎn)燈”功能來(lái)配合運(yùn)維。

下面分享一下我們的產(chǎn)品及解決方案。

XSKY有三大產(chǎn)品,X-CBS、X-EBS、X-EOS。首先我介紹一下XSKY對(duì)VMware虛擬化場(chǎng)景的支持。我們?nèi)绾螌?shí)現(xiàn)系統(tǒng)部署的呢?首先在Hypervisor 里啟動(dòng)一個(gè)虛擬機(jī),我們稱之為XVM,把XSKY EBS軟件裝在XVM里面,XVM 將虛擬化后的資源通過(guò)iSCSI提供給Hypervisor,Hypervisor 通過(guò)VMFS提供給運(yùn)行在上面的guest VM使用。為了更好的支持Vmware,XSKY開(kāi)發(fā)了VAAI接口,能更有效的對(duì)接VMware。再說(shuō)一下CBS KVM虛擬化,我們知道XSKY是基于Ceph開(kāi)發(fā)的,Ceph本身對(duì)KVM的支持非常好,但當(dāng)你直接使用CEPH的時(shí)候資源管理是發(fā)散的,每打開(kāi)一次卷會(huì)產(chǎn)生大概20個(gè)線程,假設(shè)50個(gè)虛擬機(jī),每個(gè)虛擬機(jī)啟動(dòng)2個(gè)卷,這種情況下你大概有兩千個(gè)線程搶占你的資源,當(dāng)業(yè)務(wù)的IOPS稍微大一點(diǎn)的時(shí)候?qū)ο到y(tǒng)的影響會(huì)非常顯著。所以XSKY開(kāi)發(fā)了librbd proxy,對(duì)資源的使用進(jìn)行管理,經(jīng)過(guò)這種優(yōu)化,系統(tǒng)的性能可以提升20%,IO延遲降低15%,CPU利用率降低40%,內(nèi)存使用至多減少2/3。

接下來(lái)我們?cè)僦v一講備份歸檔,之前講的非??炱鋵?shí)想留一點(diǎn)時(shí)間跟大家分享一下EOS這個(gè)產(chǎn)品。EOS支持EC的數(shù)據(jù)保護(hù)模式,有更多數(shù)據(jù)利用率,更低的成本,這個(gè)對(duì)我們EOS的定位是非常重要。我們把它定位在海量文件備份,這里提一下海量,什么叫海量文件,我們認(rèn)為至少億級(jí)或者十億級(jí)數(shù)量才叫海量文件。在這種文件存儲(chǔ)過(guò)程中會(huì)發(fā)生什么問(wèn)題,NFS存儲(chǔ)海量文件它存不了,文件系統(tǒng)在管理數(shù)十億甚至百億文件時(shí)非常容易引入問(wèn)題。XSKY引入了一個(gè)小的文件歸并方式增強(qiáng)對(duì)海量文件的管理能力。另外,XSKY還提供了NFS和S3的互操作性——這是企業(yè)由文件向?qū)ο筮^(guò)渡的最佳選擇,為了解決數(shù)據(jù)的高效利用和處理的問(wèn)題,XSKY提出了數(shù)據(jù)生命周期管理策略,用戶可以對(duì)設(shè)置數(shù)據(jù)生命周期策略,決定數(shù)據(jù)是否歸檔、在高低性能池之前移動(dòng),以及何時(shí)自動(dòng)刪除。

最后我想分享一下我們典型的配置:兩塊SAS 300GB做RAID1 用于承載操作系統(tǒng),CPU 用兩顆2630v3,8塊以上4TB SATA HDD,內(nèi)存64GB 或以上,兩塊400GBSSD盤(pán),如果你擁有三套這樣的配置,加上XSKY的分布式存儲(chǔ)軟件就能獲得高性能分布式企業(yè)級(jí)存儲(chǔ),我的分享就到這里,謝謝大家。

分享到

sunk

相關(guān)推薦