從傳統(tǒng)存儲(chǔ)陣列到全閃存存儲(chǔ)大勢(shì)已成,在未來(lái)基于STAT/SAS/NVMe 接口的SSD 將成為主流存儲(chǔ)存儲(chǔ)介質(zhì)。全閃存帶來(lái)了磁盤速度飛速的提升,解決了很多因存儲(chǔ)瓶頸造成的業(yè)務(wù)延遲。然而企業(yè)用戶也必須考慮:如何運(yùn)用閃存技術(shù)快速解決生產(chǎn)系統(tǒng)IO性能瓶頸或者異常隱患,業(yè)務(wù)系統(tǒng)所用傳統(tǒng)存儲(chǔ)又如何快速切換至閃存陣列解決燃眉之急,存儲(chǔ)切換時(shí)系統(tǒng)停機(jī)窗口如何安排和停機(jī)、數(shù)據(jù)遷移風(fēng)險(xiǎn)等等重重問(wèn)題。
針對(duì)以上問(wèn)題,社區(qū)舉辦了相關(guān)主題探討活動(dòng),重點(diǎn)幫助大家更好的了解了如何利用閃存存儲(chǔ)陣列迅速消除交易類系統(tǒng)數(shù)據(jù)庫(kù)IO性能瓶頸。活動(dòng)中,來(lái)自多家金融機(jī)構(gòu)的技術(shù)大拿踴躍發(fā)言和解答,并提出了許多寶貴和針對(duì)性的觀點(diǎn),在此由社區(qū)專家鄧毓對(duì)活動(dòng)內(nèi)容進(jìn)行梳理總結(jié),方便大家參考。
特別感謝社區(qū)會(huì)員:ZhuJun2014、趙海、聶奎甲對(duì)本次活動(dòng)的大力支持和解答。
解答:
如AIX LVM
1.映射閃存陣列的LUN至AIX OS,并加入VG
2.將原傳統(tǒng)陣列LUN和閃存陣列LUN做LVM
3.同步完成后,找停機(jī)窗口,從VG中拆除鏡像,剔除原傳統(tǒng)陣列LUN
4.重新激活VG,并掛載數(shù)據(jù)文件系統(tǒng),驗(yàn)證
如數(shù)據(jù)庫(kù):DB2 BACKUP/RESTORE,ORACLE RMAN,OS克?。篈IX ALT_DISK_COPY,VM SNAPSHOT,VM P/V to V等
1.搭建新環(huán)境,該環(huán)境存儲(chǔ)采用閃存陣列
2.通過(guò)OS層面的克隆技術(shù),將OS數(shù)據(jù)復(fù)制/遷移至新環(huán)境、
3.通過(guò)數(shù)據(jù)庫(kù)層備份恢復(fù),將數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)至新環(huán)境,并驗(yàn)證
如IBM V9000等
1.找停機(jī)窗口,將原傳統(tǒng)陣列LUN映射至V9000
2.在V9000中,將原傳統(tǒng)陣列LUN數(shù)據(jù)鏡像(VDM)至V9000LUN
3.待鏡像同步完成后,將兩個(gè)LUN主備關(guān)系反轉(zhuǎn),閃存作為主存儲(chǔ),原傳統(tǒng)陣列LUN作為備存儲(chǔ)
4.將兩個(gè)LUN虛擬化后形成的VDISK映射至主機(jī),驗(yàn)證,此時(shí)主機(jī)存在V9000和原傳統(tǒng)陣列兩份數(shù)據(jù)保護(hù)
如IBM SVC、EMC VPLEX等
1.找停機(jī)時(shí)間,取消原傳統(tǒng)陣列LUN至主機(jī)的映射,將該LUN映射至虛擬化網(wǎng)關(guān)進(jìn)行管理
2.虛擬化網(wǎng)關(guān)將該LUN(mdisk)虛擬化成虛擬LUN(vdisk),并映射給主機(jī)
3.創(chuàng)建vdisk的閃存陣列LUN鏡像拷貝
4.待拷貝完成后,將閃存陣列LUN置為主拷貝,原傳統(tǒng)陣列LUN置為備拷貝
5.驗(yàn)證
解答:
通常而言,每個(gè)廠商都有自己的一套評(píng)估辦法。對(duì)于磁盤IO來(lái)說(shuō),大的方向,主要看磁盤的IO響應(yīng)時(shí)間。對(duì)于OLTP業(yè)務(wù),讀IO響應(yīng)時(shí)間5-8ms內(nèi)算是正常值,寫IO響應(yīng)時(shí)間,1-2ms還算ok。高達(dá)20ms以上的響應(yīng)時(shí)間,通常都意味著存儲(chǔ)內(nèi)部存在瓶頸。這個(gè)瓶頸可能存在于后端磁盤上,存在后端磁盤卡上。通常而言,這種情況,增加緩存并不能解決性能問(wèn)題,就需要看看是否可以增加更多物理磁盤(前提是后端磁盤卡處理能力未達(dá)到瓶頸)來(lái)解決問(wèn)題。
那么到了現(xiàn)在閃存的時(shí)代,如果考慮解決磁盤性能問(wèn)題,可以更多的看看閃存是否可以一勞永逸的解決性能問(wèn)題,同時(shí)還可以達(dá)到更好的經(jīng)濟(jì)比。
解答:
閃存的發(fā)展,到現(xiàn)在為止,變成了兩個(gè)主要方向性的選擇。一是拋棄傳統(tǒng)存儲(chǔ)的架構(gòu),采用全新架構(gòu)設(shè)計(jì)的全閃存產(chǎn)品。另外一種是沿用原來(lái)存儲(chǔ)架構(gòu),但是內(nèi)部磁盤變成SSD磁盤。如果是要拿閃存陣列和高端傳統(tǒng)磁盤陣列別,那么性能方面肯定是全閃存完勝,穩(wěn)定性高端存儲(chǔ)占優(yōu)。因此,個(gè)人理解可能您是不是想比較傳統(tǒng)高端存儲(chǔ)帶SSD磁盤的架構(gòu)和全閃存陣列對(duì)比。
對(duì)于全閃存架構(gòu),由于是新的架構(gòu),沒(méi)有傳統(tǒng)存儲(chǔ)架構(gòu)里面那些考慮后端磁盤慢的因素所要做的很多折中設(shè)計(jì),可以發(fā)揮出閃存的性能。同時(shí),為了降低閃存產(chǎn)品的每GB成本,這些架構(gòu)中通常會(huì)包含壓縮和除重功能。
對(duì)于傳統(tǒng)磁盤陣列帶SSD磁盤,例如現(xiàn)在到處都在宣傳的高端全閃存陣列,主要架構(gòu)并未發(fā)生變化,限制性能輸出的瓶頸部位還是在后端磁盤卡,以及傳統(tǒng)的RAID模式上。在性能方面,比全新架構(gòu)的全閃存還是有一定差距。同時(shí),這類閃存,由于架構(gòu)限制,很難增加壓縮和除重功能,性價(jià)比也不是最后。但是,這種架構(gòu)適合原來(lái)一直沿用類似高端存儲(chǔ)架構(gòu)的客戶,可以方便的過(guò)渡到新的平臺(tái),獲得更好的性能。另外,這一類架構(gòu),容災(zāi)功能比較豐富,適合有類似三站點(diǎn)需求的客戶。在性能得到提升的同時(shí),還可以保留原來(lái)所需的功能。
在這里想說(shuō)的是,穩(wěn)定是需要時(shí)間和客戶環(huán)境的不斷適錯(cuò)才能獲得一個(gè)相對(duì)穩(wěn)定的微碼環(huán)境。因此,傳統(tǒng)陣列+SSD磁盤,相對(duì)全新設(shè)計(jì)的全閃存架構(gòu),是有一定的優(yōu)勢(shì)。通常意義上說(shuō),一個(gè)經(jīng)歷過(guò)10-20年磨礪的代碼平臺(tái),比發(fā)布才3-5年的全新產(chǎn)品,代碼成熟度還是要高一點(diǎn)的。另外,如果在高可用上考慮的比較齊全,使用全新閃存架構(gòu),也是一種很好的選擇。
最后,客戶還是要根據(jù)自身的需求,選擇合適的產(chǎn)品。
解答:
優(yōu)點(diǎn):時(shí)延性能,IOPS,占用機(jī)柜U位少,綠色節(jié)能。有些型號(hào)具備一定軟件功能,如異構(gòu)虛擬化,云存儲(chǔ),軟件定義存儲(chǔ),數(shù)據(jù)刪重,壓縮等。
缺點(diǎn):相對(duì)而言,價(jià)格較高,比高端存儲(chǔ)可靠性和略差。高端功能有所欠缺(高端全閃除外),比如兩地三中心MGM架構(gòu)。
目前交易數(shù)據(jù)庫(kù)幾乎都跑在企業(yè)核心高端存儲(chǔ),升級(jí)到全閃陣列在哪些性能得以提升?iops會(huì)提升多大?
解答一:
性能的提升主要還是在讀響應(yīng)時(shí)間和讀寫IOPS上,尤其是讀響應(yīng)時(shí)間,通??煽s短至1MS,甚至0.5MS左右,而傳統(tǒng)核心高端存儲(chǔ)如果沒(méi)有配置SSD盤或者SSD加速卡(利用EASYTIER等技術(shù)提升熱點(diǎn)數(shù)據(jù)性能),也需要5MS左右的響應(yīng)時(shí)間,至于IOPS的提升的話,通常靠的是物理硬盤的盤的數(shù)量來(lái)提升讀寫IOPS性能,數(shù)據(jù)LUN盡量分散于多個(gè)陣列上多塊盤上,這樣利用每塊盤的可支持的IOPS來(lái)疊加起最大可支持的IOPS。比如一塊SAS盤最大的IOPS為200,一個(gè)ARRAY有7塊盤做RAID5,數(shù)據(jù)分散于N個(gè)ARRAY上,這樣最大可支持的IOPS為200 X 6 X N,可見(jiàn)IOPS是很有限的。而閃存不一樣,每個(gè)閃存陣列有多個(gè)盤,每個(gè)盤有多塊板卡,板卡中又有N個(gè)芯片,每個(gè)芯片中又有多個(gè)閃存模塊等,所以相比物理硬盤的話,芯片級(jí)別的閃存可提供更為強(qiáng)大的IOPS。
解答二:
性能方面,尤其是IOPS和響應(yīng)時(shí)間方面,全閃存相對(duì)于傳統(tǒng)磁盤存儲(chǔ),相當(dāng)于降維打擊。
解答一:
重刪功能主要是解決閃存SSD壽命較短的問(wèn)題。閃存SSD的數(shù)據(jù)寫入和更新是電子式擦除方式,必然帶來(lái)數(shù)據(jù)塊的頻繁擦除動(dòng)作,而數(shù)據(jù)塊的擦除是有次數(shù)限制的,所以壽命自然不長(zhǎng),壽命到了,數(shù)據(jù)塊也就無(wú)法使用了,無(wú)法使用的數(shù)據(jù)塊達(dá)到一定程度時(shí),整個(gè)SSD盤也就壽命到期了,需要更換。
而重刪功能,可以在數(shù)據(jù)寫入或者擦除數(shù)據(jù)塊時(shí),在閃存的軟件層,就判斷了是否要寫入該數(shù)據(jù)。如果寫入的數(shù)據(jù)時(shí)重復(fù)的,就不再寫入,這樣自然降低了數(shù)據(jù)塊的擦除頻率,提升了SSD盤的壽命,另外也大大提升了閃存陣列的利用率,虛擬容量也提升了好幾倍。
當(dāng)然類似的提升SSD壽命的方式還有數(shù)據(jù)壓縮功能。這里不再贅述。
解答二:
要看全閃存要支持的業(yè)務(wù)類型是什么。如果上層業(yè)務(wù)系統(tǒng)是類似虛擬機(jī),VDI等環(huán)境,會(huì)產(chǎn)生很多重復(fù)的虛擬機(jī)資源,那么重刪是很有用的。
如果支持是像數(shù)據(jù)庫(kù)類型或文件系統(tǒng)類型的業(yè)務(wù),重刪用處不大,反而需要壓縮功能。
解答:
這張圖是連續(xù)四天的讀響應(yīng)時(shí)間和讀峰值響應(yīng)時(shí)間,切換前后的對(duì)比情況,包括了切換后,14號(hào)晚間的曲線圖。對(duì)比也是很明顯的,不過(guò)鑒于信貸批量的模型是寫IO占據(jù)了70-80%,讀IO占據(jù)了20-30%,讀響應(yīng)時(shí)間的明顯提升,寫響應(yīng)時(shí)間切換前后一直維持在1MS左右,所以信貸批量時(shí)間僅僅縮短了30分鐘-1小時(shí)而已。可以想象,如果批量的模型是讀比例高,寫比例低,那么閃存對(duì)批量的提升意義還是非常明顯的。
解答一:
劣勢(shì)在于穩(wěn)定性、可靠性相比傳統(tǒng)高端存儲(chǔ)要低。除非是高端存儲(chǔ)的全閃,性能也有,可靠性也是N個(gè)9。
當(dāng)然還有軟件功能性劣勢(shì),比如兩地三中心同步/異步復(fù)制,有些閃存陣列可沒(méi)有,或者熱點(diǎn)數(shù)據(jù)遷移,分層,壓縮等等。當(dāng)然這些靠閃存前面接一個(gè)SVC可以解決。
解答二:
缺點(diǎn)購(gòu)買成本貴,因此起配容量較高,但是平均每GB成本不見(jiàn)得比高端存儲(chǔ)柜。另外,高級(jí)功能比傳統(tǒng)存儲(chǔ)要少一點(diǎn)。性能瓶頸在于CPU core數(shù)不夠,發(fā)揮不出所有閃存芯片的性能。
解答一:
這個(gè)問(wèn)題沒(méi)有背景描述,那么暫時(shí)假定一個(gè)場(chǎng)景:Oracle 數(shù)據(jù)庫(kù)的批量作業(yè)非常慢。那么接下來(lái)的步驟:
首先,從Oracle的AWR報(bào)告去找 IO 相關(guān)的統(tǒng)計(jì)信息。首先要明確的是IO的問(wèn)題是集中在某個(gè)數(shù)據(jù)文件,還是所有的數(shù)據(jù)文件都存在這種問(wèn)題?如果是某一個(gè)數(shù)據(jù)文件或者是表空間的IO非常特殊,那么多數(shù)原因是因?yàn)閿?shù)據(jù)庫(kù)設(shè)置或者應(yīng)用本身的設(shè)計(jì),例如數(shù)據(jù)文件配置模式、索引、統(tǒng)計(jì)分析等問(wèn)題。如果是所有的數(shù)據(jù)文件和日志文件多數(shù)面臨IO問(wèn)題,那么這個(gè)時(shí)候可以去看存儲(chǔ)的日志。
接著,從存儲(chǔ)的性能分析日志去看。不要看端口啊、引擎啊這些信息。直接看對(duì)應(yīng)那幾個(gè)存儲(chǔ)卷的重要指標(biāo)(延時(shí)、讀寫速度、隊(duì)列)。如果這幾個(gè)指標(biāo)嚴(yán)重出現(xiàn)問(wèn)題,那么再去看對(duì)應(yīng)的端口或者是引擎的相應(yīng)信息(內(nèi)存、承載卷的個(gè)數(shù)、端口是否有負(fù)載過(guò)量的情況等等)。
解答二:
看這個(gè)應(yīng)用系統(tǒng)用的存儲(chǔ)卷是否性能能夠滿足應(yīng)用系統(tǒng)的需求??梢杂霉ぞ哕浖热鏣PC,查看當(dāng)前存儲(chǔ)卷的IOPS,讀寫響應(yīng)時(shí)間,吞吐量等。再結(jié)合操作系統(tǒng)層或者數(shù)據(jù)庫(kù)層的分析,如果有異常,一定會(huì)有所體現(xiàn)的。
解答:
閃存主要分三類:
1.純閃存陣列,不帶任何軟件功能,追求的是時(shí)延優(yōu)先
2.帶異構(gòu)虛擬化功能的閃存陣列,在閃存之上,增加了很多軟件功能,豐富閃存的應(yīng)用場(chǎng)景,如異構(gòu)虛擬化,遷移,壓縮,雙活等。
3.云環(huán)境下的閃存陣列,多個(gè)閃存節(jié)點(diǎn)通過(guò)以太網(wǎng)或者infiniband高速互聯(lián),提升閃存擴(kuò)展性,并具備數(shù)據(jù)重刪和壓縮等功能,解決的是云計(jì)算環(huán)境下閃存集群的應(yīng)用場(chǎng)景。
4.高端存儲(chǔ)的全閃架構(gòu),集性能和可靠性為一身,應(yīng)用于大型核心系統(tǒng)。
下圖幫助理解:
解答一:
AFM用于在集群間傳輸數(shù)據(jù)。如果是把一個(gè)集群內(nèi)的數(shù)據(jù),從傳統(tǒng)存儲(chǔ)陣列遷移到閃存陣列,不需要AFM功能。
解答二:
原有存儲(chǔ)是否是GPFS文件系統(tǒng)?是否是nsd格式的磁盤,如果不是,那么不適合用GPFS和(或)AFM遷移
4、如何有效利用閃存的io性能?
解答一:
將多個(gè)閃存盤做RAID保護(hù),形成一個(gè)ARRAY,所有ARRAY均加入至同一閃存POOL,在POOL中劃分LUN,LUN的大小盡量小,將LUN分配給主機(jī)OS,在OS上建文件系統(tǒng)或者以裸設(shè)備的方式給數(shù)據(jù)庫(kù)使用。
這樣就盡量把數(shù)據(jù)都打散在所有閃存SDD盤中。讀寫并發(fā)性能最大化。
解答二:
簡(jiǎn)單的說(shuō),應(yīng)用端要盡量的增加并發(fā)度,服務(wù)器CPU核數(shù)、HBA卡數(shù)量和磁盤queue depth值要遵循廠商建議,基本上可以獲取最好的閃存IO性能。
另一方面,閃存主要適合隨機(jī)小塊IO讀寫,因此適用場(chǎng)景一定要規(guī)劃清楚。對(duì)于高吞吐的順序讀寫IO而言,閃存并不會(huì)比傳統(tǒng)陣列要好很多。
解答:
這個(gè)取決于FTL算法,每個(gè)閃存陣列廠商都有自己的FTP算法,算法好的,SSD性能也能得到極大發(fā)揮,算法差的,SSD性能也會(huì)差別很大。這些都屬于機(jī)密性的東西,我們用戶唯一能做的就是對(duì)他們的閃陣做測(cè)試,測(cè)試他們主控中FTP算法的優(yōu)劣。重點(diǎn)是測(cè)試不同頁(yè)面大小的隨機(jī)寫操作。
解答一:
采用虛擬網(wǎng)關(guān)+閃存+中端備存儲(chǔ),甚至+DR容災(zāi)架構(gòu),保證三份數(shù)據(jù)冗余?;蛘咧苯硬捎脦М悩?gòu)虛擬化功能的閃存陣列+中端備存儲(chǔ)。
如果只是簡(jiǎn)單的閃存陣列,那和傳統(tǒng)存儲(chǔ)一樣,定期做數(shù)據(jù)備份的方式,閃存SDD盤做RAID保護(hù),多配置熱備盤。
解答二:
不管是傳統(tǒng)存儲(chǔ)還是全閃存,數(shù)據(jù)的安全是存儲(chǔ)設(shè)計(jì)的第一目標(biāo)。圍繞這個(gè)目標(biāo),存儲(chǔ)內(nèi)部會(huì)有很多機(jī)制,類似ECC校驗(yàn)的功能,Cache destage/stage設(shè)計(jì)機(jī)制等等。目前的存儲(chǔ)平臺(tái),在數(shù)據(jù)安全性上,應(yīng)該是沒(méi)有問(wèn)題的。
容錯(cuò),這是一個(gè)很大的話題。存儲(chǔ)架構(gòu)本身,主要部件都是冗余設(shè)計(jì),可以實(shí)現(xiàn)一定的容錯(cuò)。對(duì)于應(yīng)用而言,數(shù)據(jù)層面的容錯(cuò),大部分都是通過(guò)log機(jī)制來(lái)實(shí)現(xiàn)recovery,比如文件系統(tǒng)的緩存,數(shù)據(jù)庫(kù)緩存等等。存儲(chǔ)層,內(nèi)部也有很多機(jī)制來(lái)實(shí)現(xiàn)寫入的數(shù)據(jù)的一致性或者說(shuō)容錯(cuò)。比如說(shuō)端到端的校驗(yàn),PI,就是在數(shù)據(jù)傳輸過(guò)程中增加校驗(yàn)值,到底存儲(chǔ)后進(jìn)行比較,來(lái)確認(rèn)數(shù)據(jù)的傳輸?shù)耐暾?。存?chǔ)內(nèi)部呢,前端->Cache->后端->磁盤,都有類似校驗(yàn)機(jī)制。就像我們通常說(shuō)的數(shù)據(jù)塊的最小單元是512 byte,但是存儲(chǔ)內(nèi)部處理起來(lái),可能是520/528,甚至更多byte的格式,都是為了實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)功能。
解答:
現(xiàn)在的閃存技術(shù)已經(jīng)基本可以規(guī)避掉SSD壽命和數(shù)據(jù)壞塊問(wèn)題了。數(shù)據(jù)壞塊和壽命耗盡的數(shù)據(jù)塊,會(huì)重新寫入新的數(shù)據(jù)塊,壞塊會(huì)自動(dòng)標(biāo)記為故障點(diǎn),不再使用。整個(gè)SSD盤壽命也越來(lái)越長(zhǎng)了,甚至比機(jī)械磁盤更可靠,更不易壞。即使單個(gè)SSD出現(xiàn)故障,多塊SSD間也通過(guò)RAID技術(shù)保持冗余。所以SSD的可靠性是可以相信的。
解答:
前端接入DS8870,幾乎不對(duì)DS8870有影響。讀IO是直接讀DS8870的數(shù)據(jù),寫IO,是寫SVC CACHE,后續(xù)再刷入DS8870,接入SVC,可以理解為DS8870的寫CACHE擴(kuò)大了。要說(shuō)影響,可能僅僅是SVC IOG兩個(gè)節(jié)點(diǎn)間緩存同步微小的時(shí)延增加了。所以性能的話,幾乎沒(méi)任何影響。
穩(wěn)定性的,接入SVC可增加DS8870的可靠性,可以通過(guò)SVC VDM將DS8870和某中端存儲(chǔ)做鏡像保護(hù),存儲(chǔ)不再單點(diǎn)。
至于DS8870的功能性的話,會(huì)影響DS8870的METRO MIRROR和GLOBAL MIRROR兩地三中間的功能,簡(jiǎn)單說(shuō)就是引入SVC,SVC的MM和GM功能沒(méi)有DS8870的強(qiáng)大。
解答:
基本不會(huì)拖后腿,SVC下的DS8870和FS900,讀IO是在FS900上,DS8870不參與,寫IO是直接寫SVC CACHE,對(duì)主機(jī)端來(lái)說(shuō),不知道寫的是哪個(gè)存儲(chǔ),寫完這個(gè)CACHE,主機(jī)端就完成了本次寫周期,等到CACHE的水位線達(dá)到一定值時(shí),再一次性刷入后端DS8870和FS900中。所以對(duì)于寫來(lái)說(shuō),只要CACHE足夠,寫和讀的比例不太高,即使DS8870的寫響應(yīng)時(shí)間和寫IOPS弱于FS900,但基本主機(jī)端是無(wú)法感受到的。
? ? ? ? ? ? ? ?Copyright 2020-2026 同袍存儲(chǔ) 粵ICP備2021121885號(hào)網(wǎng)站地圖