Thin就是個坑誰用誰找抽!

上週,有個朋友在羣裏反映了一個情況:

640?wx_fmt=png

由於冬瓜哥之前曾經在羣裏說過,Thin,不出問題的時候沒問題,出了問題一定是大問題,因爲你根本沒法預估哪個應用會抽風。下面冬瓜哥就說說這個Thin。


Thin就是個坑誰用誰用誰找抽!Thin,學名「自動精簡配置」,這學名着實不咋地,不知道誰起的名,估計是某個翻譯公司的外行翻譯隨便整出來的,結果就這麼定下了。


Thin就是你有100GB的空間,但是對外可以聲稱你有1TB的空間,數據是現寫現佔地方。寫爆之前,你得不斷向系統裏添加更多的存儲空間,直到添加到1TB爲止。


對Thin應用的最好的是互聯網業務,比如 「親免費贈送您40TB的網盤空間哦!」。可能一下子吸引來一千萬用戶註冊,把各自的私貨全傳上去,你在它們面前立即變成了一絲不掛。至於它們後續怎麼掌控你,好自爲之吧。它們會打賭,一千萬人裏,能真上傳40TB數據的,能有個100人?傳20TB的,一千人?形成一個梯度,最後恐怕90%的人基本耗費不到1TB,當然這是冬瓜哥的猜測了。這麼算下來,系統只要弄他個幾PB的容量先用着,就可以運營起來了。


但是,不知道是哪個殺千刀的非要在塊存儲上實現Thin,一時間Thin成了所有傳統存儲廠商的標配功能。傳統存儲裏的塊存儲,承載的是什麼業務?基本都是核心關鍵業務。在這上面你不吐點血多買點盤,搞哪門子Thin?所有人都是給自己留餘地,1TB的空間我聲稱800GB,留着200GB應急,而Thin則是過度承諾。網盤過度承諾是逼不得已,核心關鍵業務怎能過度承諾?


雖然廠商忽悠的時候拍胸脯保證:絕對沒問題,快用滿了會報警你絕對能提前應對。咋樣,歇了吧?就算是能報警,應用一抽風,一小時內給你塞滿你能來得及加盤不?就算報警了,應用沒抽風,你手頭有備用盤麼?「有,我手頭屯了一百多塊呢,終於等到這一天了,哎呦,高興啊!」 你2麼?專門備着一堆盤等加盤?那還不如一開始就加上去。。找抽啊!


最糟的情況就是,手頭沒盤或者盤不夠,而現買的話貨期又滿足不了,那就歇菜。上面那個例子,就是最後這種情況。你問廠商,廠商不給你負責,誰讓你沒盤呢?廠商拍胸脯保證,拍屁股走人,而你,一開始就拍腦袋決定要用Thin的。


此外,Thin不僅在運維上風險極大,對性能還有影響。由於是現用現分配空間,如果有多個邏輯資源在並行寫入,那麼最後這些邏輯資源在物理視圖上就是交織分配的,變得不連續,這對機械盤是致命的性能影響。 640?wx_fmt=jpeg
所以,很多廠商會增大分配粒度,如圖所示,一個塊如果是4KB,分配粒度爲1GB,每次分1GB,多個1GB之間交織,能將連續地址IO的性能下降緩解一下。但是這樣就不能更高效的節省空間了。

另外,依然無法杜絕每次IO都要查表的計算資源耗費,而且,一旦元數據表的維護上出了問題,導致不一直,影響範圍巨大。

所以,空間節省也沒那麼誇張,性能反而還下降,元數據丟失引發風險也很高,這種技術,何以用之?不是窮瘋了還是有多少用多少吧。也別把這東西寫進標書了,自欺欺人。


塊存儲上適合用Thin的地方,就是非關鍵業務,或者逼不得已的情況下,比如給幾千人弄個網盤,弄個虛擬桌面等等,體量大的時候,而且不是所有人都一下子塞滿數據的場景下。


長按識別二維碼關注「大話存儲」獲取業界最高逼格的存儲知識。


640?wx_fmt=jpeg


另,長按關注「 冬瓜相對論 」。獲取對人性、社會、科學最深刻的洞察和點評。


640?wx_fmt=png

冬瓜哥將在12月10日在北京悠唐皇冠假日舉行的由DOIT舉辦的中國存儲峯會上做個關於IO協議棧前沿研究動態以及NVMe協議方面的技術分析分享。冬瓜哥的風格麼,你也知道, 沒幹貨就不叫冬瓜哥了 。要乾貨的,速來。 免費參會,長按識別二維碼進入網頁報名吧。

640?wx_fmt=jpeg