青雲QingCloud面向核心業務的全閃分布式存儲架構設計與實踐

2020-12-20 砍柴網

當今是雲計算、大數據的時代,企業業務持續增長需要存儲系統的 IO 性能也持續增長。

機械盤本身的 IOPS 一直徘徊在數百的級別,為了提高傳統存儲的性能,有些存儲廠商加了緩存層,然而目前應用正由單一走向多元化,導致 IO 特徵無法預測,緩存也難以發揮作用。

機械盤依賴碟片的旋轉和機械臂的移動進行 IO,目前轉速基本達到物理極限,所以機械盤性能一直徘徊不前,無法滿足企業核心業務對於存儲性能的要求。SSD 作為一種全新的快閃記憶體介質開始進入企業的數據中心,並逐漸成為應用的主流。

全閃,企業核心存儲新選擇

企業對存儲的要求是性能和容量要滿足業務的需求,並且價格合適。

首先從容量上來看,目前主流的 SSD 單盤容量已經達到 8T,完全滿足企業各類應用的需求。

其次從性能上來看,一塊 NVMe SSD 的性能大概在 100 萬 IOPS,相當於 5000 塊 7.2k SATA HDD 的性能。在延遲上,一塊 NVMe SSD 的延遲大概在 10 微秒,是機械盤的 200 分之一。

最後從單盤的價格來看,SSD 比機械盤要貴,但是從單個 IO 的成本來看,SSD 的性價比遠遠高於機械盤。最近英特爾推出了 96 層 QLC NAND 顆粒,正在研究 114 層的 NAND,隨技術進步,SSD 性價比會進一步提高。

總之,全閃能夠滿足企業核心業務對存儲的高 IOPS、低延遲的要求,並且可以降低 TCO,可以說企業核心存儲選擇全閃是大勢所趨,所以廠商要面向全閃來設計存儲系統。

面向快閃記憶體的三種存儲方案

如上圖所示,目前業界基於全閃的存儲方案主要有以下三種:

第一種是傳統方式。

用 SSD 做緩存或者直接用 SSD 盤替換掉傳統存儲中的機械盤,這種方式無法發揮全閃的性能。

因為傳統的存儲誕生在機械盤的時代,是面向機械盤設計的。而當前 NVMe SSD 的性能已經達到 100 萬 IOPS,與機械盤有了天壤之別。

傳統存儲受限於底層架構的設計,並沒有針對全閃進行有效的軟體改造或者優化,即使採用了全閃的配置,也無法發揮 NVMe SSD 的性能,傳統存儲方案已經不再適合承載高速快閃記憶體介質。

第二種是全閃陣列。

全閃陣列的性能相比傳統方式有了很大提升,可以滿足當前業務的要求。

全閃陣列通常採用專有的硬體,導致其成本高昂。另外一方面,傳統陣列一般採用雙控制器互為備份,縱向擴展無法提升性能,橫向擴展受限於控制器的數量,一般情況下可以擴展到 8-16 個,導致其擴展性很差,靈活性也不夠。

第三種是全閃分布式存儲。

分布式存儲是通過網絡將存儲節點聯繫在一起,以集群的形式提供服務。

首先,它採用通用的 X86 硬體,使硬體標準化,可以降低 TCO。

其次,擴展靈活。集群中每一個節點都具備存儲和計算能力,隨著節點的增加集群的容量和性能得到線性擴展。無中心設計使集群不易形成瓶頸節點,理論上可以無限擴展。

第三,針對 NVMe SSD 進行特殊的設計和優化,性能強勁。

另外,隨著 25G、100G 網絡的普及和 RDMA 網絡低延遲的特性,使得分布式全閃的跨節點擴展不再是瓶頸。在全快閃記憶體和高速 RDMA 網絡的加持下,分布式全閃架構已經成為企業核心業務的理想之選。

NeonSAN——值得選擇的全閃分布式存儲

接下來介紹 QingStor NeonSAN,這是一款面向核心業務設計的全閃分布式塊存儲,由青雲QingCloud 自主研發,打破了傳統存儲的容量與水平擴展的瓶頸,性能可以媲美全閃的中高端存儲陣列。

NeonSAN 也是為雲而生的分布式存儲,原生適配虛擬化、大數據、容器等多種應用生態。

首先給大家講講 NeonSAN 名字的由來:名字的後半部分是 SAN,SAN 代表了產品的形態,Neon 是元素周期表裡面氖的代號,是一種惰性氣體,具有有極高的穩定性,所以 NeonSAN 的名字寓意著這是一款穩定的企業級存儲產品。

NeonSAN 核心模塊由數據層和控制層組成,此外包括前端接口與運維管理工具層。

NeonSAN 核心模塊採用並行流水線技術,設計了全快閃記憶體儲系統的資源調度系統、內存管理系統、元數據管理系統、RDMA 網絡收發系統等,打造高可用、高可靠、高性能、擴展靈活的全閃分布式存儲。

NeonSAN 提供 9 個 9 可靠性,單卷性能達到 10 萬 IOPS,最小延遲小於 90 微秒。

在擴展方面,NeonSAN 可以擴至 1024 節點,並且容量和性能隨節點的增加而線性增長。

NeonSAN 的基本架構是由 Zookeeper 服務、元數據服務、管理服務、存儲服務和接入服務五部分構成。

Zookeeper 提供集群的發現服務;元數據服務用來記錄集群中的元數據,如節點信息、SSD 的信息、卷信息等;管理服務提供集群的管理功能,如節點的上線、創建卷等。

數據存儲服務用來給客戶提供具體的 IO,它承載業務發來的 IO 請求,採用對等的設計,每個存儲節點的地位是相等的,都可以提供 IO 服務。

對等設計可以保證集群的某一個節點發生故障時,其他節點能夠接替故障節點繼續服務,保證業務的連續性,同時為集群的容量和性能線性擴展提供基礎。

接入服務,第一個模塊是 QBD 內核驅動,在 Windows Server 和 Linux Server 上都有對應的版本,它可以讓伺服器以使用本地盤的方式使用 NeonSAN,上層業務不需要做任何改造就可以對接 NeonSAN,非常方便。

第二是模塊是 QEMU,可以為虛機提供雲硬碟。

第三是模塊是通用的 iSCSI 接口,可以為 VMware 等虛擬化平臺提供存儲服務。

此外,NeonSAN 還提供高速的 NVMe-oF 接口以及 CSI 接口,為容器提供持久化的存儲服務。

NeonSAN 如何滿足高可靠和高可用

接下來談談 NeonSAN 的網絡設計如何滿足高可靠和高可用。

NeonSAN 的網絡分為兩部分:前端業務網絡和後端網際網路,採用兩個前端交換機和兩個後端交換機,組建高可用網絡。(交換機使用普通的乙太網交換機就可以,不需要 FC 交換機這類昂貴的設備。)

每個 NenonSAN 節點配備雙網卡,每張網卡有兩個網口,分別連接到後端交換機和前端交換機,假如交換機 A 發生故障就會影響到 NeonSAN 1、2、3 節點的網卡 A,凡是通過這三個網卡進行交互的業務也會受到影響。

此時 NeonSAN 節點就會自動把網絡流量切換到網卡 B 上,走交換機 B,保證整個集群網絡的可用性。同理,當網卡發生故障時,整個網絡仍然是高可用的。

NeonSAN 的數據可靠性及可用性是通過副本機制來實現的。

在 Linux 服務下看到塊設備,或者在 Windows Server 下我們看到一張盤,對應到 NeonSAN 集群裡,就會把這個盤切成一片片的 Shard。

如圖所示,有紅、黃、綠、紫這四個片,每一片都會有三副本,分別存放在不同的節點。任何一個節點上的數據損壞,都不會導致數據的丟失。可用性也是同樣的,如果節點 1 不能提供服務,節點 2 或 3 可以繼續提供服務,保證整個集群的可用性。

NeonSAN 的數據寫入是三個副本同時寫入,保證數據間的強一致性,數據的讀取是從主副本讀的。數據的副本可以按卷進行靈活的配置,在一個集群中既可以有單副本的卷,也可以有兩副本的卷,還可以有三副本的卷。

NeonSAN 支持精簡置備和全置備,一個集群可以同時存在精簡置備的卷和全置備的卷。

我們通過一個例子看看 NeonSAN 強一致性寫過程中的 IO 路徑。

首先,客戶端發 IO 給三副本的主副本節點,當主副本節點收到 IO 請求後會同時做兩件事:一是把 IO 請求發給它本地的 SSD,同時也會把請求發給兩個從副本,當兩個從副本 IO 完成以及本地的 IO 也完成,就是三個 IO 同時完成後才會返回給客戶端寫成功,實現強一致三副本的寫入。

NeonSAN 分布式全閃有哪些黑科技

NeonSAN 是一個面向全閃的分布式存儲系統,針對全閃有哪些特殊的設計?

首先, NeonSAN 採用了極短 IO 路徑,這是可以提供卓越性能的根本。

NeonSAN 只要 3 步就可以完成一個 IO,當客戶端的 IO 發到存儲節點後,存儲軟體做完處理後直接發給本地的 SSD。

業界其他的分布式存儲中,卻要經歷很多步驟:先經過存儲軟體的處理,再發給本地文件系統,還要寫日誌,某些系統還需要再經過緩存,最後才能落到 SSD,這個 IO 路徑是非常長的。(簡單來說就是很慢)

NeonSAN 採用自研 SSD 管理模塊,直接管理本地裸設備,不依賴本地的文件系統,不需要日誌,也不需要 Cache,極大精簡了 IO 路徑,從而讓延遲減少到最低,接近於 SSD 延遲的量級。

接下來講講 NeonSAN 並行流水線處理的設計。

傳統機械盤只有 1 個隊列,深度是 32,NVMe SSD 一般盤有 128 個隊列,每個隊列的深度是 128,還採用傳統的軟體設計,顯然 NVMe 是處於飢餓的狀態,無法發揮隊列和深度優勢。

NeonSAN 採用並行流水線,將 IO 進行拆分,拆分成接收、調度和落盤。

舉個例子,在機械盤的年代超市只有 1 個收銀臺,只能排 1 隊,但是到了 NVMe SSD 時代,超市有 128 個收銀臺,如果我們還排 1 隊就對資源造成極大的浪費,所以需要採用多個 IO 隊列並行 IO,充分發揮 NVMe SSD 本身的性能,提升 SSD 的使用率。

在微秒的 SSD 時代,作業系統逐漸暴露出一些問題,比如低效 CPU 核心調度和內存資源的競爭,以及調度時的切換等帶來了巨大的延遲。

在高並發的壓力下,多核心 CPU 的競爭與不合理的調度成為性能的瓶頸。NeonSAN 專門設計了資源調度引擎,避免由於調度問題和內存爭搶問題帶來的延遲開銷。

首先,在網卡上我們分配專門的接收與解析 IO 流水線,針對 IO 調度流水線我們給它分配了獨享的 CPU,避免調度流水線來回切換產生不必要的上下文開銷,做到專門的 CPU 服務專門的流水線。

在內存方面,在系統軟體啟動時一次申請所需內存,根據不同流水線需求的多少按需分配給接收與解析 IO 調度、數據落盤等流水線,避免在 IO 過程中頻繁申請與釋放,帶來的訪問頁表、內存鎖等額外開銷及內存碎片問題。

資源調度引擎保障了 NeonSAN 在獲得高效 IO 的同時將延遲控制在很低的水平。

分布式存儲是依賴於網絡的,NeonSAN 採用高效的 RDMA 網絡,將業務與數據網絡分離,存儲網絡中的 IO 不會對業務網絡造成壓力,避免資源的競爭。

NeonSAN 採用端到端的RDMA網絡設計,無論是存儲內部節點之間還是存儲服務和客戶端之間都採用了 RDMA 網絡。

RDMA 網絡的內核旁路(kernel bypass)與零拷貝的特點讓網絡中的單個 IO 延遲變得非常低,基於異步的消息機制能讓多個 IO 的並發顯得效率更高。

NeonSAN 分布式全閃跑分及場景實踐

上面介紹了 NeonSAN 的基本架構與面向全閃的特殊設計,接下來看看 NeonSAN 的真實性能表現。

從 E 企研究院的測試結果,可以看到:在兩個客戶端壓力下,隨著卷的增加,NeonSAN 集群提供的性能線性增長,延遲幾乎不變。

以 4K 寫為例,單個卷的 IOPS 是 13 萬多,4 個卷的 IOPS 增加到 47 萬,接近線性增長;單個卷的延遲是 0.943 毫秒,4 個卷的延遲基本沒什麼變化。

NeonSAN 提供了一個智能運維系統,可以通過可視化的圖形界面實現存儲集群的操作和配置,提供對業務資源的監控與審計等。

此外,NeonSAN 提供對快閃記憶體介質的監控,比如按預留空間、使用壽命等,可以提前預警,讓用戶制定合理的擴容規劃。

NeonSAN 的數據均衡與恢復設計也非常有特點。大部分的存儲系統一旦擴容就立刻開始數據的均衡,NeonSAN 擴容完成後,可以選擇業務低峰期或者用戶需要的任意時間點進行數據的均衡,也可以選擇不均衡。

在某些場景下,數據的均衡的是沒必要的,比如原來集群的容量用了 70% 或者 80%,新擴容的節點之後,業務的新 IO 就會落到新節點上,不需要再去搬遷原有節點上的數據。

某些分布式存儲系統,當集群出現故障後,就會立刻開始進行數據恢復。如果此時恰好是業務的高峰期,數據的恢復勢必會和正常的業務 IO 爭搶資源。NeonSAN 對於數據恢復是可控的,用戶可以選擇在業務低峰期進行數據恢復。

NeonSAN 作為企業級的分布式塊存儲,應用場景比較廣泛,除了上面提到的為 Oracle 等企業核心資料庫提供共享存儲之外,還可以為業界主流的虛擬化平臺(VMware、OpenStack、Hyper-V等)提供數據盤,也就是雲主機的雲硬碟。

同時,NeonSAN 也可以用作物理機的數據盤,為大數據分析和計算提供大容量的存儲,為容器應用提供持久化的存儲。

接下來看一個金融用戶的應用案例。

在採用分布式架構之前,用戶採用 Oracle SuperCluster Solaris 平臺,面臨的問題是採購與維保費用昂貴,且擴容複雜,無法快速適應業務發展的需求。

於是客戶把視角轉到了基於 X86 計算與存儲分離的架構,採用三節點全閃配置的 NeonSAN 作為存儲節點,配置三副本用於 Oracle 資料庫存儲卷,提供較高層次的故障保護。

經過了近二年多時間的運行,NeonSAN 分布式存儲方案的優勢主要體現在以下幾個方面:

首先,採用計算與存儲分離的全分布式架構後,海量的數據壓力分散到了多個並發存儲節點,系統性能、吞吐量按照線性擴展。

其次,全閃的存儲節點之間採用 RDMA 互聯,性能提升 100% 以上,存儲系統提供負載均衡機制,有效避免單點性能瓶頸。

由開放的 X86 平臺取代了傳統資料庫一體機與與集中式存儲設備,大幅縮短了存儲系統的建設與擴容周期,有效滿足業務數據量激增的擴容需求,同時大幅度節省採購、維護與運營成本。

NeonSAN 為全閃而生

NeonSAN 誕生在全閃的年代,是為全閃而生的分布式存儲,提供高可靠、高可用,性能卓越的存儲服務,其豐富的接口,可以承載資料庫等傳統應用,原生適配虛擬化、大數據、容器等多種應用生態,服務雲時代高效的數據存儲和管理,

NeonSAN 具備提供豐富的企業級特性,基於同步及異步的數據複製可以靈活構建各類災備和雙活解決方案。經過大量企業客戶核心業務的長期驗證,NeonSAN 是一款真正可以承載企業核心業務的全閃分布式存儲。

相關焦點

  • 全閃分布式存儲深入企業核心業務,QingStor NeonSAN強勢增長 ​
    保險和證券行業在IT架構的變革上走得更快一些,其中,頭部企業的核心業務已經移植到"x86+分布式存儲"架構之上有一兩年時間,並且達到了預期的效果。銀行客戶相對保守一些,但可喜的是,銀行客戶在綜合考慮合規性、整體架構改造難易程度等因素後,也在嘗試將分布式存儲用於核心業務,但這還需要一個過程。
  • QingStor NeonSAN躋身四強 新風口下的青雲QingCloud正在厚積薄發
    隨著快閃記憶體、25Gb/100Gb乙太網等技術的發展,分布式軟體定義存儲正在成為企業雲時代存儲架構的主流選擇,廣泛服務於企業數位化轉型的各個階段。全閃分布式存儲開始深入企業核心業務 分布式軟體定義存儲緣何成為企業雲時代存儲架構的最佳選擇?
  • 1QingStor NeonSAN躋身塊存儲市場前四 媲美中高端全閃陣列
    分布式架構 定位核心業務QingStor存儲產品經理馮相東表示,QingStor NeonSAN定位為面向核心業務的全閃分布式存儲,完全由青雲QingCloud自主研發,沒有基於任何國內、國外的開源體系。
  • 為全閃而生 看QingStor NeonSAN如何躋身軟體定義塊存儲市場四強
    在IDC最新發布的《中國軟體定義存儲及超融合市場跟蹤研究報告,2019Q4》中,青雲QingCloud旗下QingStor企業級分布式存儲和青立方超融合憑藉優異的技術和市場表現雙雙入圍核心廠商。為全閃而生 核心業務之選一直以來青雲QingCloud都致力於面向企業核心業務提供更加理想的技術架構,基於全閃設計的QingStor NeonSAN作為面向核心業務設計的全快閃記憶體分布式存儲,由青雲QingCloud自主研發,性能方面足以媲美中高端存儲。
  • 青雲QingCloud雅加達區正式開放 一帶一路助推東南亞數字經濟
    北京,2019年12月25日——企業級雲服務商青雲QingCloud(qingcloud.com)日前宣布正式開放雅加達區(詳情:https://www.qingcloud.com/ina),依託印度尼西亞特殊的地緣、經濟優勢和優質的網絡資源,憑藉領先的全維雲能力為中國企業國際業務的開展、以及國際企業全球市場的開拓提供IT基礎資源支持,滿足企業同時拓展中國大陸和海外市場的需求
  • RadonDB亮相2020數據技術嘉年華 分布式架構助企業邁入雲時代
    北京,2020年11月21日——日前,2020數據技術嘉年華十周年慶典在京舉行,青雲QingCloud (qingcloud.com)連續三年受邀參展。會上,青雲QingCloud資料庫高級技術專家張雁飛帶來了《從單機到分布式:雲資料庫架構演進之路》主題演講,介紹了資料庫從主從架構到金融級架構、TP+AP架構,再到分布式架構的"演進"之路。
  • 對話青雲存儲團隊:一年半,如何把NeonSAN打造成「爆款」?
    NeonSAN迎來了2.0版本,這是青雲自主研發的軟體定義分布式的SAN存儲,目標是定位於「雲時代企業核心存儲平臺」。青雲QingCloud(以下簡稱「青雲」)存儲產品經理馮相東、解決方案架構師傅帥接受了天極網的採訪,揭秘了NeonSAN這款新品的諸多特性、技術亮點和實際應用案例。
  • ...英特爾®傲騰™助力QingStor ®NeonSAN®滿足核心業務...
    企業的核心業務是其生存發展的關鍵。隨著如今數據的爆發式增長,承載數據的存儲架構的高穩定、高可用至關重要。同時,對於一些核心業務而言,市面上傳統的開源架構層次複雜,導致IO處理效率有所限制。更簡潔、更高效的存儲架構成為行業對於數據存儲的訴求。
  • 阿里巴巴裴曉輝:基於全閃的核心業務系統上雲架構與應用
    在8月23日下午舉行的全快閃記憶體應用論壇上,阿里巴巴高級技術專家,阿里雲智能文件存儲架構師裴曉輝在《基於全閃的核心業務系統上雲架構與應用》的演講中回顧介質的發展史,介紹了快閃記憶體在阿里技術方面的發展以及文件存儲在快閃記憶體的開發和實踐等內容。
  • 從QingStor NeonSAN看存儲架構的演進
    青雲QingCloud認為,符合雲時代業務市場下需求的存儲,需要滿足以下幾個特點:首先,基於標準X86架構,軟體/硬體冗餘設計,整體架構高可用;第二,可根據業務架構與規模進行存儲架構的調整;第三,容量和性能擴展能力;第四,開放的API、支持與業務耦合;第五,統一管理、統一運維。
  • 立足企業業務需求 青雲科技混合雲奪得合作優勢
    作為一家雲計算領域的創業公司,青雲QingCloud(qingcloud.com)擁有眾多粉絲,那麼,青雲QingCloud的號召力來源又是什麼呢?  打開青雲QingCloud的百寶箱,我們或許就不難找到答案:技術。
  • 混合雲成IT架構進化之路 青雲QingCloud勾勒混合雲未來圖景
    隨著各式各樣的企業加速上雲,以及相關技術和實踐的逐漸豐富,「混」的內涵和外延也在不斷擴大。可以混合的不僅是公有雲和私有雲,還可以是雲與傳統IT混合,或者雲與虛擬化混合。廣義的混合雲其實可以理解為「混合IT」。青雲QingCloud 解決方案與架構副總裁沈鷗描述了一個典型的混合雲場景:傳統的業務系統可以繼續運行在物理基礎設施上,新業務系統包括網際網路業務,全部放在私有雲和公有雲上。
  • 雙態IT研討會-分布式核心和雙活數據中心建設實踐(深圳站)舉辦
    金融行業作為國家穩定發展的重要保障,其業務監管要求越來越高,傳統的「兩地三中心」架構已不能滿足國家的業務連續性要求,需要依靠科學技術提升系統架構,使RTO、RPO的指標無限接近於0。在這種情況下,雙活數據中心的架構應運而生。
  • QingCloud Insight 2016 日程
    內容介紹:從大數據技術分析到應用實踐,精細化的大數據挖據與聚類、用戶數據畫像、大數據流管理、非結構化存儲方案,微服務彈性伸縮等已經成為以人為核心的網際網路產品的技術核心課題。在本次演講中,曹洪偉為大家分享如何藉助大數據打造 tataUFO 發現式的社交網絡,幫助大學生青年們在茫茫人海中找到知己。
  • 閱讀架構和權限方面的書籍,更好的輔助設計產品
    (原理到實踐都有了) 第三本:《大型分布式網站架構設計與實踐》,很抱歉本書也出自阿里系。對面向服務的架構,分布式基礎設施(緩存,持久化,消息系統,搜尋引擎(lucence,solr)),網際網路安全架構,系統穩定性,數據分析等做了較好的講解。
  • 華為金融開放創新聯盟與國泰君安合作打造新一代分布式核心業務系統
    當前,有相當數量的證券公司核心系統採用小型機或者基於傳統資料庫的集中式架構,很難滿足證券核心業務對系統可靠性和交易性能的極致追求;同時在系統的橫向擴展性方面存在不足,不能滿足證券業務網際網路化和機構業務蓬勃發展雙重背景下交易峰值的需求。華為公司、華銳和國泰君安致力於實現證券行業核心業務的低時延分布式架構轉型,聯合打造相關解決方案。
  • 青雲科技KubeSphere給出答案
    它源於谷歌內部的一套基礎設施borg,裡面耦合了很多谷歌自己的業務邏輯。谷歌把它的共性拆出來,開源成Kubernetes。谷歌把它貢獻給CNCF基金會,現在很多國際、國內的企業都在致力於推進Kubernetes的演進、迭代,包括我們熟知的微軟、IBM,包括青雲QingCloud (qingcloud.com)都是這個社區主要的貢獻者。  為什麼Kubernetes這麼受歡迎?
  • 雙態IT研討會-分布式核心和雙活數據中心建設實踐專場演講實錄
    雙態IT研討會-分布式核心和雙活數據中心建設實踐專場定向邀請25位金融、央企和地方國資企業、政府部門技術部門管理者、網絡運維負責人、CTO和基礎架構負責人,共同探討交流金融雙活數據中心建設和運行的實踐,以及可能的技術路線。
  • 青雲QingCloud推出NAS服務 支持NFS和CIFS
    中國IDC圈10月30日報導,日前,企業級基礎雲服務商青雲QingCloud日前宣布正式推出NAS共享存儲服務。該服務通過標準的NFS和CIFS (SMB協議增強版)網絡協議將存儲空間以文件系統的形式暴露給用戶,支持多客戶端同時掛載與訪問。
  • 金融企業選擇與應用分布式資料庫的7個核心問題
    多種架構長期共存:分布式資料庫經過這麼多年的發展,實際上並不是一種新興的技術了,從最早基於中間件的模型開始到現在基於分布式存儲的架構,這些架構一直在並存著往前發展