私有存儲云如何構(gòu)建?
構(gòu)建內(nèi)部的云存儲必須考慮到彈性、選擇正確的平臺、支持工作流,以及批量部署和跟公有云的集成。
隨著時(shí)間的推移,存儲即服務(wù)的交付進(jìn)展驚人。如今,公有云,如Amazon Web Services和Microsoft Azure,都提供了內(nèi)部以及外部連接的按需分配的對象存儲,以及塊和文件存儲,用于內(nèi)部分配給計(jì)算實(shí)例。這種運(yùn)維的靈活性在數(shù)據(jù)中心里很引人注意,比起傳統(tǒng)的存儲部署方式,它提供了更大的便捷性和敏捷性。
如何構(gòu)建自己的私有存儲云呢?我們首先退后一步,思考一下云計(jì)算到底意味著什么。云標(biāo)準(zhǔn)定義包括如下特性:彈性,所消耗資源能夠自如擴(kuò)展和收縮;作為服務(wù)交付,以抽象的形式(而不是在物理硬件上)定義的服務(wù)方案的標(biāo)準(zhǔn)集合;多租戶,支持多個(gè)客戶;請求資源的按需訪問,很少或者無需任何手動干預(yù);以及報(bào)告和計(jì)費(fèi),基于使用量收費(fèi),并提供詳細(xì)的報(bào)告。
私有存儲云必須具備這些特性。業(yè)務(wù)用戶,這里也就是客戶,必須具備請求存儲能力,而不用關(guān)心這樣的能力到底是如何交付的。因此服務(wù)目錄,這項(xiàng)技術(shù)已經(jīng)使用很多年了,之前關(guān)注于物理技術(shù)(比如HDD速度或者HDD/閃存),需要更新,從而更加關(guān)注于服務(wù)矩陣。這意味著使用這些術(shù)語:I/O密度(每兆字節(jié)存儲的IOPS)、延遲、吞吐量、數(shù)據(jù)可用性和彈性。
多租戶指的是安全和性能的隔離。安全確保數(shù)據(jù)在私有存儲云的用戶之間不可見,而性能特性,如服務(wù)質(zhì)量(QoS)確保無論系統(tǒng)整體負(fù)載如何,每個(gè)用戶都能享受始終如一的服務(wù)級別。安全訪問保證客戶對資源的請求盡量不需要IT——特別是存儲管理員,的干預(yù)。報(bào)告特性需要提供存儲使用率的更細(xì)粒度的度量,包括能夠生成某個(gè)團(tuán)隊(duì)或者業(yè)務(wù)領(lǐng)域的報(bào)告。
創(chuàng)建彈性
私有存儲云需要做的事情列表里的***條就是彈性,這里有兩個(gè)場景:首先,客戶能夠按需擴(kuò)展以及收縮使用量,其次,系統(tǒng)管理員能夠按需部署更多的基礎(chǔ)架構(gòu)。但是如果終端用戶能夠輕易地歸還存儲的話,部署的一些硬件可能就不會被使用到,不過這種情況很少發(fā)生。
這里的挑戰(zhàn)是通過在數(shù)據(jù)中心里部署新硬件來持續(xù)滿足需求,并且同時(shí)在不影響應(yīng)用程序可用性的情況下管理技術(shù)的更新周期。對于大多數(shù)IT部門來說,達(dá)到新硬件正好及時(shí)的部署,這不僅是門藝術(shù)也是門科學(xué)——Amaon和Microsoft可能不一樣——大部分公司現(xiàn)金流和人力都有限。他們必須妥協(xié),因?yàn)闊o法提供***的資源,只能預(yù)測什么時(shí)候需要添加新硬件。
這也正是體現(xiàn)藝術(shù)的地方。預(yù)測的需求要求業(yè)務(wù)線的參與,來計(jì)劃可能的未來項(xiàng)目及其存儲需求。如果IT能夠洞察未來可能的存儲資源需求,那么這些需求就能夠很容易地計(jì)劃出來——特別是如果是非核心產(chǎn)品的話,如對象或者高性能存儲。
科學(xué)性在于查清存儲增長的足夠信息。很多IT環(huán)境使用瘦預(yù)配,這意味著物理存儲能力會隨時(shí)間而增長,因?yàn)閿?shù)據(jù)被寫入到分配的空間里。并且因?yàn)橛?jì)劃消耗的存儲的預(yù)留空間很少會被快速地全部使用掉(如,1TB的請求可能在***天僅僅使用了50GB,之后可供三年使用),文件系統(tǒng)和對象存儲的使用率就會隨著應(yīng)用寫入更多數(shù)據(jù)而自然增長。這也使得必須有精確并且詳盡的工具來度量隨時(shí)間的存儲消耗,***是每天,同時(shí)能夠使用這樣的數(shù)據(jù)生成有意義的增長預(yù)測。
另外,決定什么時(shí)候部署新硬件要求理解并且管理供應(yīng)商、硬件部署和配置事件。在企業(yè)里,IT仍然需要負(fù)責(zé)這些事情,當(dāng)然如果你購買了公有云存儲的話,這些都在云服務(wù)供應(yīng)商(CSP)的服務(wù)范圍內(nèi)。
選擇平臺
有正確的存儲平臺是高效部署新硬件的關(guān)鍵。橫向擴(kuò)展作為縱向擴(kuò)展技術(shù)的一個(gè)選擇,可以讓新的部署相對簡單,因?yàn)槟阒恍枰唵蔚赝延信渲蒙咸砑佑布碓黾幽芰纯伞?/p>
大多數(shù)現(xiàn)代的對象和塊擴(kuò)展產(chǎn)品都能夠執(zhí)行一定級別的重新平衡、重新分發(fā)數(shù)據(jù),從而使用新增加的資源并且從硬件上獲得***的性能。單體增強(qiáng)的架構(gòu)很難管理,因?yàn)榭蓴U(kuò)展性的限制,而舊的遺留存儲系統(tǒng)可能本身并沒有負(fù)載均衡,從而無法使用新硬件。這意味著必須要更加小心地對遺留架構(gòu)進(jìn)行負(fù)載均衡規(guī)劃,將邏輯資源分發(fā)到物理硬件之上。很多這些平臺都提供了工具,可以在存儲平臺內(nèi)移動LUN,減輕一些負(fù)載均衡問題。
為私有存儲云選擇存儲平臺時(shí),多租戶和QoS也是要考慮的核心特性。調(diào)研CSP提供的服務(wù)矩陣,可以看到性能用IOPS和吞吐量衡量,也有一些提到了I/O延遲。無論CSP是不是滿負(fù)載,這些都是必須提供給客戶的服務(wù)級別,這對于傳統(tǒng)的遺留存儲就無法保障了。因此QoS就變得特別重要,要么提供工具確保終端用戶得到所需的性能,要么限制僅僅在新系統(tǒng)上才提供所購買的服務(wù)級別。
必需的API
最近幾年里,存儲應(yīng)用領(lǐng)域發(fā)生了一些管理上的改革。以前通過GUI和命令行接口(CLI)的交互來管理存儲,使用“提交”階段來實(shí)施變更。CLI讓存儲管理員能夠進(jìn)行腳本化預(yù)配以及關(guān)閉流程,允許一定程度的自動化。但是,創(chuàng)建腳本是一項(xiàng)費(fèi)時(shí)的工作。這些年里,供應(yīng)商改為使用API實(shí)現(xiàn)存儲的可編程化——通過授權(quán)API調(diào)用設(shè)置配置。配置數(shù)據(jù)現(xiàn)在也能夠輕松地提取出來,一些存儲平臺可以生成很詳細(xì)的度量。
API
應(yīng)用程序編程接口已經(jīng)改變了企業(yè)存儲的管理方式。將來,API將會驅(qū)動自動化,并且移除大多數(shù)存儲預(yù)配的手動干預(yù),從而讓私有云存儲更為實(shí)用,推廣到更多企業(yè)中。
API還能夠帶來自動化,讓“人”不需要參與預(yù)配存儲流程?,F(xiàn)在,可以通過一次或兩次API調(diào)用就可以將存儲映射到主機(jī)上。一些平臺原生實(shí)現(xiàn)了API,而另一些圍繞已有的API工具構(gòu)建了API封裝器。這里的重要需求是確保API,CLI和GUI的操作更加和諧,而不用切換來切換去。
工作流問題
難題的***一部分是,交付私有云存儲就是執(zhí)行一些工作流流程。用戶請求必須被驗(yàn)證然后執(zhí)行。公有云通過用戶提供信用卡或者其他支付方式來實(shí)現(xiàn)驗(yàn)證流程。這之后,可以通過web門戶或者API配置服務(wù)。在企業(yè)里,請求存儲的傳統(tǒng)流程需要有內(nèi)部的流程,通過手工管理請求,基于服務(wù)ticket將存儲預(yù)配到主機(jī)上。ticket的負(fù)責(zé)人負(fù)責(zé)確保是否允許業(yè)務(wù)線“購買”存儲,并且隨后負(fù)責(zé)所有實(shí)現(xiàn)。
即用即付
可以使用信用卡購買公有云資源,滯后付款。工作流的改動意味著很多企業(yè)需要在部署內(nèi)部云存儲時(shí)實(shí)現(xiàn)支付和退款。
在私有云里,目標(biāo)是讓流程盡可能地自動化。EMC的ViPR是這樣的工具,讓用戶圍繞存儲自動化來構(gòu)建工作流流程。Hitachi Data Systems提供了Hitachi Automation Director圍繞存儲以及其他資源的預(yù)配構(gòu)建工作流。
很多企業(yè)將需要考慮私有存儲云所需的支付上的變化。如果沒有實(shí)現(xiàn)支付和退款,那么什么也干不了,因?yàn)镮T部門還需要繼續(xù)負(fù)責(zé)服務(wù)交付的費(fèi)用——很可能繼續(xù)根據(jù)項(xiàng)目來收費(fèi)。但是,如果必須購買新資源,那么財(cái)務(wù)實(shí)踐上就需要一些變更——可能包括IT直接支付硬件、可能需要允許基于服務(wù)的賬單,讓業(yè)務(wù)單元負(fù)責(zé)這里的開銷。
Stack部署
跳出存儲團(tuán)隊(duì)的視角,看向更為廣泛的領(lǐng)域,你可以在私有云框架,比如Openstack上構(gòu)建存儲自動化,來節(jié)約預(yù)配的工作量。最初的Openstack部署沒有持久化存儲的能力,因此建立了一些項(xiàng)目來管理和外部存儲隊(duì)列的集成。最終Cinder項(xiàng)目處理塊存儲并且自動將LUN映射到OpenStack實(shí)例上,而Manila提供了和文件系統(tǒng)數(shù)據(jù)的集成,Swift提供對象存儲的API。
更廣泛的Stack
云存儲,可以是內(nèi)部的或者公開的,是更廣泛的基礎(chǔ)架構(gòu)stack的一部分。這意味著和OpenStack或者vCloud Director這樣的平臺集成。
同時(shí),存儲供應(yīng)商能夠編寫插件,讓OpenStack框架能夠按需預(yù)配并且映射存儲LUN。很多硬件和軟件公司已經(jīng)支持了所有OpenStack的存儲API。Cinder支持OpenStack平臺的每個(gè)版本所支持的供應(yīng)商特性。
公有云集成
向前看,這個(gè)世界并不是只有公開和私有,還有兩者的混合。因此,存在在公有和私有基礎(chǔ)架構(gòu)之間移動數(shù)據(jù)和應(yīng)用程序的需求,后者提供額外的數(shù)據(jù)保護(hù)(備份)并且提升可用性。你還可以為使用公有云存儲負(fù)責(zé)突發(fā)的工作負(fù)載和歸檔。
在本地以及公有云地址之間移動應(yīng)用和數(shù)據(jù)的產(chǎn)品已經(jīng)出現(xiàn)在市場上了。對象存儲供應(yīng)商,比如Cloudian(HyperStore)以及Hitachi Data Systems (Hitachi Content Platform)提供了將本地?cái)?shù)據(jù)歸檔到云上的能力,并且能夠搜索所有內(nèi)容,就像存儲在同一個(gè)地方一樣。
數(shù)據(jù)保護(hù)方面,Druva和Zerto都提供了產(chǎn)品,讓用戶可以在公有云上備份以及恢復(fù)本地的虛擬機(jī)(VM)。作為備份和遷移流程的一部分,軟件負(fù)責(zé)處理VM鏡像的轉(zhuǎn)換,以及額外驅(qū)動的注入。
虛擬化
在運(yùn)行服務(wù)器虛擬化的平臺上,存儲通常會映射到物理主機(jī)上。大部分創(chuàng)建虛擬機(jī)實(shí)例存儲的工作都由hypervisor管理軟件來處理。VMware通過vRealize Automation 和 vCloud Director提供自動化,而Microsoft提供了System Center 2016。
Velostrata更進(jìn)一步,允許在公有云上啟動VM來處理云爆發(fā)。這可以用來在高資源配置的VM上運(yùn)行應(yīng)用,隨后在本地可用,或者將工作負(fù)載移動到公有云上來應(yīng)對突增的需求。一旦峰值過去,VM就可以歸還回去。
同時(shí),虛擬化供應(yīng)商也開始和云供應(yīng)商合作,完成應(yīng)用到公有云的遷移。比如,VMware最近發(fā)布了Amazon Web Services上的VMware Cloud,以及和IBM的合作伙伴關(guān)系。它還提出了跨云架構(gòu),作為管理多云部署的方式。Microsoft Azure Stack(撰寫此文時(shí)出了技術(shù)預(yù)覽版)在Azure云上提供了相同的功能,可以運(yùn)行在私有數(shù)據(jù)中心上,鏈接到公有Azure上。
很明顯,如今本地和公有云的實(shí)現(xiàn)是不同的,主要差異在自動化程度,是否完全利用私有云存儲。工作流,是其中最為重要的部分,——可能——仍然尚未成熟,需要今后私有云上的更多工作。
這里難題的一部分是改變內(nèi)部業(yè)務(wù)團(tuán)隊(duì)的行為。這是公有云幫忙推進(jìn)的領(lǐng)域,并且也應(yīng)該采納為內(nèi)部資源的交付模型。