“去重+壓縮”完美詮釋“1+1=0”
“1+1”在什么情況下等于0? 在算錯(cuò)的情況下等于0! Excuse me? 小編從不打誑語, 一臉認(rèn)真地告訴說, “數(shù)據(jù)壓縮+重復(fù)數(shù)據(jù)刪除”等于0 想知道為什么? 欲知詳情,且看下文分解… ”
一談到重復(fù)數(shù)據(jù)刪除,很多人想到的就是虛擬帶庫(kù);而一提到壓縮,想到的就是文件和視頻。在討論重復(fù)數(shù)據(jù)刪除和壓縮怎么用之前,我們先來看一下什么是重復(fù)數(shù)據(jù)刪除,什么是壓縮。 存儲(chǔ)空間、預(yù)算 雙雙告急! 你考慮過這個(gè)辦法嗎? 重復(fù)數(shù)據(jù)刪除,簡(jiǎn)單來說就是遇到重復(fù)數(shù)據(jù)時(shí),不是保存重復(fù)數(shù)據(jù)的副本,取而代之的是增加一個(gè)指向***份(并且是唯一一份)數(shù)據(jù)的索引。從根本上講,它能減少存儲(chǔ)數(shù)據(jù)所占用的空間。這樣做會(huì)帶來諸多好處,如節(jié)約IT經(jīng)費(fèi)、無須為額外空間增加投資入;減少備份數(shù)據(jù)、數(shù)據(jù)快照等的大小;較少電源壓力;節(jié)約網(wǎng)絡(luò)帶寬;節(jié)約時(shí)間。 數(shù)據(jù)壓縮有各種各樣的算法,但是究其本質(zhì),還是一種編碼技術(shù)。假如,我們將這篇文章常用的字符串“重復(fù)數(shù)據(jù)壓縮”六個(gè)字編碼為“去重”,那么本文中的字?jǐn)?shù)就會(huì)相應(yīng)地減少,即便這樣也還是有多份“去重”存在。 重復(fù)數(shù)據(jù)刪除與數(shù)據(jù)壓縮的主要區(qū)別在于:假如你有兩份完全相同的數(shù)據(jù)(File or Block Level),數(shù)據(jù)壓縮會(huì)對(duì)每份數(shù)據(jù)進(jìn)行編碼,進(jìn)而用簡(jiǎn)單編碼代替復(fù)雜編碼。而重復(fù)數(shù)據(jù)刪除則能辨別出這是兩份相同的數(shù)據(jù),從而只保存***個(gè)數(shù)據(jù),并通過指針將第二份數(shù)據(jù)指向***份源數(shù)據(jù)。 所以我們看到,重復(fù)數(shù)據(jù)刪除和壓縮在本質(zhì)上是不矛盾的,如果能在數(shù)據(jù)存儲(chǔ)中既使用重復(fù)數(shù)據(jù)刪除技術(shù),又使用數(shù)據(jù)壓縮技術(shù),那一定是事半功倍的。 既然重復(fù)數(shù)據(jù)刪除和壓縮技術(shù)這么好,那么你有想過在生產(chǎn)存儲(chǔ)上用去重和壓縮嗎? 其實(shí)很多IT經(jīng)理都想在生產(chǎn)存儲(chǔ)上用去重和壓縮,但是卻有很多的擔(dān)心,可以說是一言難盡。讓我們先來看一份調(diào)研數(shù)據(jù): 如上圖所示,2016年,ESG針對(duì)373位IT人員就“數(shù)據(jù)存儲(chǔ)環(huán)境業(yè)務(wù)挑戰(zhàn)”的調(diào)研顯示,排名第二位的就是數(shù)據(jù)的快速增長(zhǎng)。小編私下里也和多位資深的IT運(yùn)維人員交流過他們的數(shù)據(jù)增長(zhǎng)情況。 A君:“當(dāng)初規(guī)劃的時(shí)候,明明是考慮到了未來三年內(nèi)的數(shù)據(jù)增長(zhǎng),結(jié)果剛用了一年空間就不夠了。” B君:“每年的IT預(yù)算都在降低,存儲(chǔ)空間越來越緊張。” 小編:“你有考慮過用去重和壓縮嗎?” “考慮過,一是不知道具體能省多少空間,但最主要還是擔(dān)心對(duì)現(xiàn)有應(yīng)用系統(tǒng)造成影響,比如對(duì)性能的影響、對(duì)可靠性的影響、對(duì)運(yùn)維的影響等等。如果導(dǎo)致數(shù)據(jù)丟失,那就得不償失了。” 那么今天,小編就帶著大家來看看這個(gè)問題,戴爾的存儲(chǔ)是如何解決這些問題的。 數(shù)據(jù)去重與數(shù)據(jù)壓縮聯(lián)動(dòng)出擊 數(shù)據(jù)去重比竟達(dá)50:1 我們還是先用數(shù)據(jù)說話,來看一份調(diào)研數(shù)據(jù),同樣是來自ESG的測(cè)試數(shù)據(jù)。 據(jù)圖表數(shù)據(jù)顯示,在不同應(yīng)用環(huán)境下,經(jīng)過數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除之后,數(shù)據(jù)量都有大幅的縮減。而如果單使用壓縮技術(shù),數(shù)據(jù)的縮減量卻并不是十分明顯。這些主要是和應(yīng)用的數(shù)據(jù)類型以及壓縮算法有關(guān),而大多數(shù)應(yīng)用環(huán)境,在應(yīng)用壓縮和重復(fù)數(shù)據(jù)刪除以后,數(shù)據(jù)的縮減量都非常的可觀。從ESG基于實(shí)際應(yīng)用環(huán)境的測(cè)試結(jié)果來看,實(shí)現(xiàn)了非常好的數(shù)據(jù)縮減。 “由于應(yīng)用環(huán)境的不同以及特定數(shù)據(jù)的復(fù)雜類型,很難有一個(gè)特定的標(biāo)準(zhǔn)值來描述壓縮和去重的效率。戴爾SC存儲(chǔ)的目的是通過一個(gè)全面的方法提供***的用戶價(jià)值(見上圖)。戴爾SC系列存儲(chǔ)通過分層架構(gòu)(SSD以及HDD),精簡(jiǎn)克隆等技術(shù)實(shí)現(xiàn)了上述目標(biāo)。同時(shí),數(shù)據(jù)效率被大幅改善,經(jīng)過ESG實(shí)驗(yàn)室基于實(shí)際應(yīng)用數(shù)據(jù)的測(cè)試達(dá)到了66.75%。整個(gè)12TB的數(shù)據(jù),實(shí)現(xiàn)了3:1的數(shù)據(jù)去除。相比之前ESG實(shí)驗(yàn)室的測(cè)試結(jié)果,包括在線壓縮去重,戴爾SC系列存儲(chǔ)都表現(xiàn)出了非常好的性能。”(編者譯,源自ESG測(cè)試報(bào)告)。 具體壓縮率數(shù)據(jù)請(qǐng)參照下表: 從這個(gè)數(shù)據(jù)表中,我們能更清楚的看到壓縮和重復(fù)數(shù)據(jù)刪除的效果。其中很多IT經(jīng)理比較關(guān)注VMware環(huán)境,我們看到,在使用數(shù)據(jù)壓縮后,能夠?qū)崿F(xiàn)2:1的壓縮率,而將重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮結(jié)合在一起來使用,數(shù)據(jù)變?yōu)榱瞬坏皆瓉淼?0%??梢哉f這對(duì)使用VMware虛擬化環(huán)境的客戶是一個(gè)非常好的消息。即便是在VDI環(huán)境,經(jīng)過壓縮和去重之后,也能實(shí)現(xiàn)2:1的去除率。在Hyper-V環(huán)境,更是達(dá)到了驚人的50:1的去除率。由此可見,在戴爾SC存儲(chǔ)上使用重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮,確實(shí)能有效的提高整個(gè)存儲(chǔ)的利用率。 擔(dān)心性能被拖垮? SC系列告訴你,不存在! 那么,打開壓縮和重復(fù)數(shù)據(jù)刪除功能以后,對(duì)存儲(chǔ)性能會(huì)有什么影響呢?最主要的得益于SC系列存儲(chǔ)獨(dú)特的體系結(jié)構(gòu)設(shè)計(jì),整個(gè)壓縮和去重過程幾乎對(duì)性能沒有影響。下面,我們就來分析一下這個(gè)問題。 首先我們先來看一下SC系列存儲(chǔ)的體系結(jié)構(gòu)設(shè)計(jì)。我們說SC存儲(chǔ)設(shè)計(jì)的核心是閃存,是新一代的體系結(jié)構(gòu),原因正是基于此。如下圖所示,在SC存儲(chǔ)內(nèi)部,最多可將存儲(chǔ)分為三個(gè)層次,分別是T1、T2、T3。這個(gè)分層過程是系統(tǒng)自動(dòng)的,比如,如果添加7.2K的NL SAS,那么系統(tǒng)會(huì)默認(rèn)的把它分到T3,如果添加WI SSD,那么系統(tǒng)就會(huì)把它默認(rèn)分到T1。由于RAID10和RAID5在讀寫性能上的差異,我們知道同種類型的磁盤組RAID10寫性能要優(yōu)于RAID5而讀性能基本相當(dāng),所以SC存儲(chǔ)在每一層里面又會(huì)分為RAID10和RAID5兩種條帶類型。 其次最關(guān)鍵的一點(diǎn),所有系統(tǒng)新寫入的數(shù)據(jù)都放在T1的RAID10里面,而每過一段時(shí)間,系統(tǒng)就會(huì)做一個(gè)Data Progression,保存數(shù)據(jù)bitmap之后將數(shù)據(jù)塊屬性變?yōu)橹蛔x。之后,將不活躍的數(shù)據(jù)逐漸遷移到下一層,比如T1 RAID10到T1 RAID 5或者T1 RAID5到T2 RAID10。通過這種方式,整個(gè)存儲(chǔ)的性能永遠(yuǎn)是T1的性能,而無需進(jìn)行調(diào)優(yōu)。如果使用中,覺得性能不夠,就需要相應(yīng)的添加T1的磁盤,如果覺得容量不夠,就可以添加性價(jià)比***的T3磁盤。SC存儲(chǔ)正是通過這種方式,實(shí)現(xiàn)了***的性價(jià)比! 而重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮的過程就發(fā)生在Data Progression的過程中。在去重過程中,Page被移動(dòng)到專用的存儲(chǔ)空間。重復(fù)數(shù)據(jù)刪除的頁(yè)面為4 KB大小的切片,并基于切片制作Hash指紋。用Hash指紋對(duì)比重復(fù)數(shù)據(jù)刪除的字典進(jìn)行查詢,以查看切片是否已被保存在字典中。如果已經(jīng)保存,則讀取兩者的源數(shù)據(jù)進(jìn)行比較,以確保數(shù)據(jù)一致,如果一致之后會(huì)將切片刪除。如果不一致,則分別保存切片數(shù)據(jù)以及Hash指紋,并做相應(yīng)的更新。壓縮過程與去重過程近似。 由以上SC存儲(chǔ)的架構(gòu)和去重壓縮過程可見,SC的去重壓縮過程其實(shí)是后去重壓縮過程,得益于SC的分層流動(dòng)存儲(chǔ)架構(gòu),整個(gè)去重過程不會(huì)影響生產(chǎn)數(shù)據(jù)的性能。因?yàn)樯a(chǎn)數(shù)據(jù)的“寫”性能全部發(fā)生在T1的RAID10組里面, “讀”也絕大部分發(fā)生在T1的SSD里面,故可以達(dá)到理想的數(shù)據(jù)去重效率,即平均數(shù)據(jù)去除率66%。所以,即便是在生產(chǎn)存儲(chǔ)中使用也無需擔(dān)憂。需要說明的是,客戶也無需為去重和壓縮花費(fèi)額外的費(fèi)用,只要客戶的存儲(chǔ)環(huán)境中有一定數(shù)量的SSD磁盤,就可以使用戴爾SC存儲(chǔ)的去重和壓縮功能啦! 說到這里,其實(shí)戴爾SC存儲(chǔ)還有兩個(gè)包含在基礎(chǔ)軟件包里的功能,可以讓客戶在VMware虛擬機(jī)環(huán)境使用壓縮和重復(fù)數(shù)據(jù)刪除的時(shí)候如虎添翼。一個(gè)是VVols,另一個(gè)是QoS。 VVols,可以讓存儲(chǔ)直接映射虛擬卷給VM虛擬機(jī),而無需將整個(gè)卷硬設(shè)備host主機(jī)。有了VVols,虛擬機(jī)管理員使用熟悉的VSphere工具為每臺(tái)虛擬機(jī)選擇SC系列策略,存儲(chǔ)管理員只需定義可供虛擬機(jī)管理員使用的策略的菜單。另一項(xiàng)功能就是QoS,說起來更厲害了,有了QoS,存儲(chǔ)管理員可以給每個(gè)卷設(shè)置屬性文件profile,可以限制這個(gè)卷的IOPS以及MB/s。同時(shí)也可以給一組卷設(shè)置整個(gè)Group的IOPS以及MB/s。 看到這兒,相信你已經(jīng)揭開1+1等于0的謎底了。簡(jiǎn)單來說,戴爾SC存儲(chǔ)利用先進(jìn)的分層流動(dòng)存儲(chǔ)架構(gòu)在進(jìn)行數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除的同時(shí),對(duì)生產(chǎn)數(shù)據(jù)的性能影響為“零”。另外,借助VVols、QoS以及壓縮和重復(fù)數(shù)據(jù)刪除功能一起在生產(chǎn)環(huán)境中使用,真的可以靈活、高效的進(jìn)行管理,實(shí)現(xiàn)事半功倍,按需分配。