<p id="iuri5"><del id="iuri5"></del></p>
  • <p id="iuri5"></p>
  • 
    

      機房360首頁
      當前位置:首頁 ? 應用體驗 ? VDI分布式存儲數據布局技術白皮書

      VDI分布式存儲數據布局技術白皮書

      來源:百度百家 作者: 更新時間:2020/12/22 16:35:55

      摘要:本文介紹VDI分布式存儲產品中采用的緩存加速的日志數據布局技術,該技術相比當前市面上主流的開源分布式存儲產品,比如Ceph,能夠帶來2倍以上的有效容量和2倍以上的性能提升。

      本文介紹VDI分布式存儲產品中采用的緩存加速的日志數據布局技術,該技術相比當前市面上主流的開源分布式存儲產品,比如Ceph,能夠帶來2倍以上的有效容量和2倍以上的性能提升。

      1. VDI場景數據讀寫特性

      VDI活動,一天大概包含如下幾個階段:

       

       

      • Boot Storm:起機風暴,需要提供分鐘級的起機支持,不能影響正在運行的虛擬機,1000臺桌面會產生超過100K的IOPS。起機風暴的IO情況,又分成如下兩種:
      • 完整克?。?1%的48KB和64KB順序讀,17%順序和隨機各半的32KB讀,最后是17%的4KB的隨機讀IO。完整的克隆壓力同時體現在高帶寬,按照xstream io的測試,4000個桌面10分鐘起機完成,IOPS 250K,峰值BW在9GB/s。
      • 鏈接克?。号c完整克隆相比,其bw小了,IOPS更高了,主要是因為在鏈接克隆下的起機,小IO(512B/4KB)更多。和完整克隆同樣的測試環境,IOPS 310K,峰值BW 4.4GB/s,但IO基本上都為512和4K隨機讀寫IO。
      • Login Storm:登錄風暴,讀寫各半。
      • Virus Scanning:病毒掃描,主要是讀。
      • Patching & Recomposing:補丁,重寫,主要是寫。
      • Steady State。常規的工作階段,90%的IOPS是4KB、8KB的隨機寫IO。
      • 補丁階段隨機讀寫各半。

      其中,啟機/登陸風暴的技術見《VDI啟機風暴技術白皮書》,病毒掃描相關技術見《Cache加速技術白皮書》。這里描述用戶Steady State階段的數據讀寫問題。

      由上面的統計數據可知,Steady State階段主要是4KB、8KB的隨機寫IO。隨機寫IO在糾刪碼配置下有RAID寫懲罰(參考下一節描述),性能往往滿足不了業務需求。故VDI場景,傳統上存儲一般配置為副本,用更低的得盤率來獲得性能上一定的提升。

      1. 淺談RAID寫懲罰與IOPS計算
        1. RAID寫懲罰

      存儲方案規劃的過程中,最基本的考慮因素有兩個,性能和容量。計算后端物理磁盤的IOPS不能簡單的把物理磁盤的最大IOPS相加。原因是對于不同的RAID級別,為了保證當物理磁盤損壞的情況下可以恢復數據,數據寫入的過程中都需要進行一些特別的計算。

      比如對于RAID-5,條帶上的任意磁盤上的數據改變,都會重新計算校驗位。下圖,一個7+1的RAID-5的條帶中,7個磁盤存儲數據,最后一個磁盤存儲校驗位。


       

      對于一個數據的寫入,我們假設在第5個磁盤上寫入數據1111,如下圖所示。

       

      那么整個RAID-5需要完成寫入的過程分為如下幾步:

      1. 讀取原數據0110,然后與新的數據1111做XOR操作:0110 XOR 1111 = 1001
      2. 讀取原有的校驗位數據0010
      3. 用步驟1計算出的數值與原校驗位再做一次XOR操作:0010 XOR 1001 = 1011
      4. 將新數據1111寫入到數據磁盤,將新的校驗值1011寫入校驗盤

      由上述幾個步驟可見,對于任何一次寫入,在存儲端,需要分別進行2次讀取和2次寫入,所以說RAID-5的寫懲罰值是4。

      不同RAID級別的寫懲罰,如下表所示:

       

      RAID類型

      寫懲罰

      RAID-0

      1

      RAID-1

      2

      RAID-5

      4

      RAID-6

      6

      RAID-10

      2

       

        1. IOPS計算

      根據上文的描述,在實際存儲方案設計的過程中,計算實際可用IOPS的過程中必須納入RAID的寫懲罰機上。計算公式如下:

      1. 物理磁盤總IOPS = 物理磁盤的IOPS * 磁盤數目
      2. 可用的IOPS = (物理磁盤總IOPS * 寫百分比 / RAID寫懲罰)+(物理磁盤總IOPS * 讀百分比)

      假設組成RAID-5的物理磁盤總IOPS為1000,使用該存儲的應用程序讀寫比例是10% / 90%,那么對于前端主機而言,實際可用的IOPS為:

      (1000 * 90% / 4)+(1000 * 10%)= 325

      故,在VDI場景Steady State階段,RAID或者糾刪碼配置下,實際業務可用的IOPS非常低,往往滿足不了業務需求。

      1. 緩存加速的日志數據布局技術
        1. 數據寫入概述

      VDI分布式存儲采用緩存加速的日志數據布局技術,加速虛擬桌面用戶的數據讀寫性能。具體步驟如下:

      1. 桌面操作系統,數據寫入存儲
      2. 首先數據在本地節點的內存保留一份,同時根據系統可靠性配置,用戶數據寫入1個或者2個鏡像節點的SSD上,SSD采用FIFO的形式順序保存這些Journal
      3. 數據鏡像完成之后,返回操作系統數據寫入成功
      4. 本地節點數據聚合條帶,計算糾刪碼之后,順序寫入后端磁盤
      5. 同時,根據智能緩存算法,熱點數據保存到SSD Cache上,供操作系統后續讀取訪問
      6. 數據落盤之后,鏡像節點的FIFO Journal通過尾部指針地址偏移,釋放Journal空間
        1. 日志數據布局技術

      VDI分布式存儲的日志數據布局采用ROW方式,不論是追加寫還是改寫現有數據,都重新分配一個連續的地址空間寫入。這樣,無論用戶的業務模型如何,所有的寫數據對于后端磁盤來說都是順序的,避免了傳統RAID寫流程所需的寫懲罰。并且所有的數據都可以均勻的分布到不同的后端磁盤上,可以有效利用后端磁盤的總帶寬和總IOPS。

      如下圖所示,LUN1寫入A、B、C、D四個數據,LUN2寫入A、B兩個數據,存儲系統將LUN1、LUN2的數據合并成一個條帶,并計算出2個校驗值之后,將數據寫入后端磁盤。

       

       

      當修改數據發生時,如下圖所示。LUN1將數據B修訂成b,LUN2寫入C、D、E,LUN3寫入數據A、B。系統會將這些數據聚合成條帶,計算校驗值之后,寫入后端磁盤,然后標記數據(1 B)為垃圾數據。

       

       

       

      但是,當系統經過長時間的修改和寫入后,會產生大量的垃圾數據,從而導致無法找到條帶用于新的數據寫入。日志數據布局技術,通過全局垃圾回收來重新整理空間,從而做到在任何容量利用率的情況下,都可以找到新條帶用來數據寫入。

      如果條帶上的數據都為垃圾數據,則直接回收該條帶。

       

       

      如果條帶上僅有部分臟數據,則將這些條帶上的有效數據拷貝到新的條帶之后,回收這些條帶。

       

       

        1. 技術優勢

      該技術有如下優點:

      • SSD上Journal和Cache的數據寫入都是順序的,極大減少了SSD的擦寫次數,可以將SSD壽命提高1個數量級。
      • 將隨機寫IO聚合成順序寫IO,避免了RAID算法的寫懲罰,極大提升磁盤IOPS。以4KB的隨機IO,128KB條帶深度大小為例,每個磁盤可以提供32(128 / 4)倍IOPS。
      • 智能緩存預期算法,VDI數據讀取操作盡量SSD命中,加速VDI數據讀取性能,同時減少對后端磁盤的IOPS壓力。以Cache命中率80%為例,后端磁盤僅需要提供20%的讀IO即可滿足業務需求。
      1. 方案對比

      考慮如下需求:每個VDI節點50個VDI桌面,每個桌面100 IOPS,共需要存儲提供5000 IOPS,其中寫IO占90%。假設每個磁盤的吞吐為200MB/s,且能夠提供200 IOPS。同時,我們假設讀緩存命中率為80%,假設SSD緩存性能足夠滿足該場景需求,同時假設VDI有效工作時間為每天8小時。比較傳統3副本、緩存加速日志數據布局技術8D2P EC和3副本下的有效容量和每磁盤能滿足的業務IOPS需求。

        1. 傳統3副本

      在該場景下,讀操作首先判斷Cache是否命中,否則從后端磁盤讀。寫操作首先3副本寫到對應的SSD上,后臺異步將這些IO刷到對應的磁盤。

      VDI節點需要后端磁盤提供的讀IOPS為:總IOPS需求 * 讀IO比例 * 緩存不命中率。

      5000 IOPS * 10% * 20% = 100 IOPS

      3副本的寫懲罰為3,在VDI節點一整天開機的情況下,需要的寫IOPS為:總IOPS * 寫IO比例 * 寫懲罰 * 每周工作時間 / 每周開機時間。

      5000 IOPS * 90% * 3 * (8 * 5) / (24 * 7) =  3214 IOPS

      該場景下,共需要(3214 + 100)/ 200 ,約16個磁盤。平均每個磁盤能夠滿足該場景312(5000 / 16)業務IOPS需求。

        1. 緩存加速日志數據布局8D2P

      VDI節點需要后端提供的讀IOPS和3副本類型的相同,為100 IOPS。

      8D2P配置下,寫懲罰系數為1.25,假設平均每個IO 8KB。同時,VDI產品中配置的條帶深度為128KB。則需要的寫IOPS為:總IOPS * 寫IO比例 * 寫懲罰 * 平均每個IO大小 / 條帶深度。

      5000IOPS * 90% * 1.25 * 8KB / 128KB = 351 IOPS

      該場景下,共需要(100 + 351)/ 200 ,約3個磁盤。平均每個磁盤滿足該場景1667 (5000 / 3)業務IOPS需求。

        1. 緩存加速日志數據布局3副本

      讀IOPS同樣為100。

      寫IOPS需求為:5000 IOPS * 90% * 3 * 8KB / 128KB = 844 IOPS

      該場景下,共需要(100 + 844)/ 200 ,約5個磁盤。平均每個磁盤滿足1000業務IOPS需求。

        1. 方案總結

      下表比較該場景下,3副本和8D2P有效容量、每個硬盤提供的有效容量和性能。

       

      傳統3副本

      緩存加速日志數據布局3副本

      緩存加速日志數據布局8D2P EC配置

      有效容量

      33%

      33%

      80%

      每磁盤滿足的業務IOPS

      312

      1000

      1667

      緩存加速日志數據布局下,糾刪碼和副本有相似的數據可靠性,建議以糾刪碼配置為主。

        1. 方案價值

      存儲方案規劃中,最基本的考慮因素有兩個:性能和容量。在VDI場景中,緩存加速日志數據布局,相比傳統存儲具備如下優勢:

      1. 支持在生產系統上使用糾刪碼,使用糾刪碼相比Ceph等以副本為主要數據可靠性保證的方案來說,同時具備2倍以上的有效容量和2倍以上的性能提升。
      2. 即使同樣也采用副本,緩存加速日志數據布局方案,也會獲得2倍以上的性能提升。

      機房360微信公眾號訂閱
      掃一掃,訂閱更多數據中心資訊

      本文地址:http://www.thatfreebiesite.com/news/20201222/n6989135748.html 網友評論: 閱讀次數:
      版權聲明:凡本站原創文章,未經授權,禁止轉載,否則追究法律責任。
      相關評論
      正在加載評論列表...
      評論表單加載中...
      • 我要分享
      推薦圖片
      片源丰富、内容全面_亚洲A∨综合色区无码一区_亚洲91在线_精品国产在天天线在线