2014年7月31日,由DOIT傳媒、存儲在線主辦的“2014中國閃存峰會”在北京亮馬河飯店隆重舉行,來自第三方調研機構、專家學者、行業用戶、廠商代表和意見領袖等多方人士齊聚一堂,以“閃耀IT 存取未來”為主題,從不同角度深刻探討閃存技術如何促進政企組織的業務創新。
來自戴爾中國資深存儲解決方案高級顧問經理王珝東做了主題演講,圍繞“為面向業務的高性能架構”展開。
演講實錄如下:
今天上午包括下午之前聽到很多關于閃存的技術,它的好處、優勢,高I/O,低延遲,不同的各個廠商有不同的產品,大家看到外面有很多展示。我也看到有卡的放到主機里面,包括SSD硬盤,還有存儲,各個廠商都有不同的自己的解決方案。有些客戶買了SSD硬盤,結果發現上去的性能跟他多買幾塊SAS差不多。我們如何利用好閃存技術的解決方案,解決客戶的問題才是最重要的,并不是說我今天買了閃存都可以解決客戶的所有問題。有沒有一個解決方案不同于其他的廠商這種插卡式、硬盤、存儲,能不能把他利用起來,一個比較好的解決方案來解決客戶的應用的問題,解決客戶的高I/O需求,低延遲的需求,這是我今天跟大家講。
講到整個解決方案之前先給大家舉個例子,先看一個場景,常常會上網購物,淘寶或者是京東都會上網購物。你在上網購物的時候對于我們的網站來講他的訪問的頻率和訪問的模式包括他的高峰期和持續度是沒有辦法猜測。經常會說比如我們光棍節的時候一天都是高峰,他有促銷,6.18有促銷,這些東西他的持續的時間可能是一小時、兩小時、八小時或者是峰值都是在夜里,這是很難去評估。第二需要一個極快的速度去訪問,淘寶大概每秒到1.4萬個并發用戶,1.3萬個并發I/O。一般人的忍耐度經常我們會打開一個網頁的時候三秒鐘打不開我基本上關了去另外一個網站。三秒天堂,三秒低于定律。另外數據對業務極具價值,確保送貨,地址的準確性,你的行為習慣,以前買過什么東西,很多網站推出以前買過什么東西,別的人以前買過什么東西實時推送。以前通過7到14天出來給你推送,現在很多網站都可以實時推送,這是數據對業務的價值。
另外還有來源于移動互聯網,包括我們的手機、Pad這種,很多朋友像我有時候吃飯夠,去的路上提前30分鐘團購,這種數據量越來越大,越來越多,客戶體驗越來越好。所以這就是對業務負載的挑戰。我們所搭建這個系統是不是可以持續支撐不但變化和上升的業務。以前一刀切的方式買一個存儲解決所有問題,基本上不夠高效,效率不高。不同類型數據都需要分別對待,以確保存儲容量和成本與應用性能更好的匹配。用戶良好體驗特別重要。
性能問題影響客戶體驗,一是程序開發的因素,代碼沒有優化,設置參數的優化,數據索引的建立的時候,搜索方法。另外還有就是基礎架構和部署的因素,計算、內存資源不足,網絡帶寬、存儲I/O,兩個相互之間有可能有時候可以互補。當程序開發的時候有這些問題可以用基礎架構更快的解決這些問題,我的程序開發是更多,我有1000多個人或者是1萬多個人可以投入很大的資源做程序的優化也可以。因為有這兩個因素,所以我們會發現我們可以看到數據庫會慢,關鍵業務慢,線上的業務慢,甚至分析報表也慢,備份恢復慢,可以看到所有客戶體現的慢基本上在這幾個方面,性能影響客戶的幾個方面。
在我們經常搭建系統的時候,大家講性能,經常說我要高帶寬,高I/O,這個像我們過收費站一樣,一到禮拜六禮拜天京藏高速,進京方向,回來的時候基本停在那,延遲等,我們經常考慮的都是在帶寬,我的收費站再多,可能收費的人每人就交十塊錢,每個人都遞100塊錢,每次都要找90塊錢,延遲很大。考慮一個性能,另外還有一個因素就是延遲。但是延遲和可靠性又是相互沖突的地方。如何保證延遲越小,可靠性越高。I/O一些延遲的關鍵因素造成延遲在I/O上面,一個是盤速,轉速,從以前7200轉、1萬轉和1.5萬轉,以前硬盤到1.5萬轉再也沒有上去了,包括散熱和轉速的問題等等。還有存儲的連接能力,我們控制器到重復速率,這是帶寬問題。還有存儲區域網絡本身的延遲的瓶頸,我們可以看到這個造成延遲非常大。這個延遲數據產生基本上都是計算節點到存儲節點數據傳輸的時候,I/O越多,他響應的時間越慢,最后結果就是應用性能受到影響。
我們可以看到我們需要面對技術的現實,我們知道CPU內存符合摩爾定律,存儲這么多年都是這樣發展,本身從納秒一級的CPU處理速度到毫秒一級硬盤樹立速度相差非常大,造成延遲大的原因,性能不好的原因。怎么解決這個問題?到底花費多少錢才可以把這個花費縮短。傳統的方式有幾種可以縮短從I/O到CPU的毫秒到納秒的提高性能。第一種方式就是快道技術,傳統硬盤上面速率最快是外圈,能不能把這些活躍數據全部放到外圈,不是過去數據散列放到硬盤上,快道技術把數據放到外圈。戴爾本身提供類似的解決方法,流動的數據架構。第二種方式就是提高存儲帶寬,光纖的網絡,8G,16G甚至更高。把網絡帶寬加大,但是并不代表低延遲。收費站有四個口收費,擴到40個收費口,每處理速度那么慢,也是很慢。網絡帶寬加快并不一定縮小你的延遲,這也是另外一種方式,加大網絡帶寬可以解決一些問題,不是全部。第三種就是在后端部署閃存盤,可以看到在過去如果用機械硬盤的話,今天可以用11塊×SAS SSD,可以跑到88000I/OPs。在閃存盤非常快,你是寫密集型還是讀密集型,這跟應用很大關系,他的成本是多少,目標是多少。放在機柜里不知道是349塊盤在機房耗電都是花錢的,相對SSD來講便宜很多。第三種方式后端存儲部署快速的閃存盤。我們實現讀寫分離,能夠感受到SSD硬盤的性能,可以提高一些性能。用這種方式可以解決是什么問題?這是我們舉的現實的例子,這是戴爾公司和SAP在上面做的解決方案,包括六個緯度數據表和兩個事實百數據,主表包含180億條記錄,總量超過60TB,兩個小時才可以計算出結果。現在采用這種后端在存儲加閃存的解決方案,可以提高查詢速度從兩小時變成20秒,可以同時做400個并發查詢時間縮短到10分鐘。閃存的數據中心可以解決一些延遲問題,所但言日,提高I/OPS,提高客戶的訪問度。提高客戶體驗,降功耗。
這三種方式可以解決從I/O、存儲到CPU這么大鴻溝之間60%的問題,剩下40%怎么辦?今天所有插卡式,SSD硬盤還有后端存儲都只能解決這個,跟CPU還有差距,怎么讓他更貼近CPU,更快的速度滿足客戶的應用。
解決I/O延遲的突破,所有I/O來了要通過CPU到存儲前端的HBA,還有控制器,還有后端的HBA,還有磁盤還有到硬盤,經過這么多步驟。更多廠商要么做前端,要么做后端,每經過一步全部都有延遲,延遲非常大。通過什么樣的技術應用,來解決這個問題。我們就更貼近CPU,怎么做?用現在的PCIe的SSD閃存加速放到服務器上面。跟你插卡和硬盤有什么區別?第一要考慮這個很貴,是不是多個應用同時使用,能不能同時都可以共享,現在很多插卡和硬盤的SSD都是單機使用,其他機器怎么用。老的機器無法支持PCIe的SSD方式插不上去,怎么提高他的性能,第一個要考慮這個問題。放到主機里的SSD卡,同時多機多應用共享。如果可以多應用共享,就類似一個Cache值,這個是否可靠。主機內存一樣,一關機數據就沒了,雖然SSD掉鏈之后數據還有。但是屬于壞掉了,這個數據怎么保存。硬件發生問題,能不能做自我保護,目前在很多廠商他們的解決方案我認為不是特別的完善,因為做硬件的復制,價格非常貴。看一下戴爾怎么解決的?第三我們用SSD到底是不是用讀取加速還是寫入加速還是兩者都可以。第四考慮的問題是不是我加了這個高速緩存以后,我的應用要改,或者未來當你在擴展的時候,你在在線擴容或者是即時生效或者是前端部署的時候會不會有停機。這就是我們要考慮的五個問題。有沒有一種解決方案把他全部解決。這是我們解決I/O延遲的最終辦法,我們要創建一個高速的共享閃存池,這個閃存池是放在主機里的,可能是一排兩排三排,只要插上有PCIeSSD硬盤就變成共享的閃存池。就可以把最活躍的數據,讀寫數據,最靠近服務器和應用的方式去部署。同時我們對寫數據做額外的數據保護,剛剛我說的你的Cache怎么做,我們利用高速網絡高速復制解決HA的問題,大量減少后端存儲。
這個就是戴爾的端到端解決方案,叫Fluid Cache forSAN。加快響應時間,第二對數據庫性能提高,并且對虛擬化環境也能提高整個環境的性能。第三確保數據的安全和一致性。這是我們老板在6月份美國戴爾客戶大會上當時現場演示,我們用了8臺服務器,后端用的是我們的存儲跑到了500萬的I/OPS,我們只需要8臺服務器。
我后面詳細給大家介紹一下Fluid Cache forSAN,講這個解決方案之前是什么樣的技術架構催生了我們可以做到Fluid Cache forSAN。第一就是接口協議,有PCIeSSD,有SAS的SSD,本身跑的協議不太一樣。因為NVMe協議,多核處理,可以快速發揮SSD的硬盤的性能和好處。可以看到這是他三個對比,整體運營成本降低很多,性能不差。現在戴爾都是基于PCIe3.0開發的標準協議。
這個是我們在R920的PCIe9個閃存盤,720最多是四個。剛才說的是第一個技術的突破,我們搭建Fluid Cache forSAN架構。必要的突破是網絡延遲帶寬的降低。以前有RDMA協議,降低CPU,提升他整個響應時間的速度。在協議基礎上做了了RoCE協議,基于萬兆或者四萬兆的以太網使用RDMA來創建低延遲的網絡。比傳統的iWARP提供更低延遲的效果。IT四大技術新交匯和融合,軟硬共生。I/O的NVMe協議,網絡還有村ROCE協議,計算的集群,搭建協議空間是FluidCache軟件。
看一下這個架構。你們的Fluid Cache到底什么樣的架構?首先Fluid Cache架構我們有服務器,先搭建一個存儲網絡,后面可以用我們這個系統,可以用SSD硬盤可以不用SSD硬盤,他有一個問題就是整個的延遲,后面如果用SSD,可以解決這60%的I/O到CPU的性能問題。我們在主機里面要安裝Fluid Cache forSAN軟件,添加PCle的硬盤。我有三臺,我在三臺每一個插SSD硬盤就可以了。剩下是舊的機器和系統,沒有SSD,沒關系,第一步裝了這個Fluid Cache forSAN軟件,跟存儲連起來就好了。我們把這些具有PCIe和SSD硬盤這些服務器叫做貢獻者,他會組織一個Cache池。剩下服務器就是共同的Server,就叫客戶端。第三步就是要把這些服務器透過高速的RoCE網絡連起來,這是10G或者是40G的高速網絡,不同于我們傳統的以太網。這個集群從三個節點開始接入高速緩存。Cache最高可以達到12.8TB,網絡之間傳輸是低延遲的網絡,高速的網絡。所有節點通過Cache提升他對I/O的處理。第四步就是建立高速緩存池,他的I/O是通過緩存池去訪問本土的。
給大家舉個案例,這是我們保險的客戶,他有一些移動的業務終端,他的需求是有一些BYOD的pad,開始用戶預估是3萬,年底會達到5萬pad,它的規模是慢慢會到10萬臺。現在遇到一個挑戰,每秒超過1500個并發用戶的時候他的性能下降非常快,超過2000用戶,系統就已經訪問不了,這是無法忍受。尤其是早晨9點到10點的時候,基本上負載支撐不住的。
可以看他當前的架構,非常標準的一個架構,防火墻,負載均衡服務器,應用服務器,還有OracleRAC-1。原有系統用的是小機,我們的人進去之后經過分析發現所有評定是發生在數據庫上面。數據庫上面以前我們正常設計的時候都是70的讀,30寫的比例,真正上了系統之后,經過我們分析會發現每38個讀帶一個寫。現在的做法,我要擴容,再多買存儲來提高性能,這個花費很貴的。我要把現有的Unix系統遷移到Liunx系統上去,沒有那么多的人力。當時評估了小機的升級硬件方案不可行,增加Web節點數不可行。評估遷移到更高端的新購小型機,不可行。升級存儲硬件不可行。我們怎么解決?可以借用互聯網思路,在大部分的互聯網公司,他的讀寫數據庫是分離的,讀庫比寫庫更重要,有些我們的發布系統寫上去,他發布出來,一定要展示給大家,新的產品。所以所有這些全球的數據中心的運營,只要數據庫的應用,大部分都要做讀寫分離。我們應用互聯網的云的架構思維,前面有一些負載均衡,Web服務器還有應用緩存。最容易出問題就是數據庫,我們要用讀寫分離的數據庫。
這個像賓館的前臺,我去住的時候排隊,前面根本不是在住,前面有人問可以不可以借傘,附近有什么好餐廳,有沒有旅游介紹手冊,沒有讀寫分離。但是他有讀寫分離,只有一個人,這邊跑,那邊跑,整個處理能力跟不上,不可能解決問題,讀寫分離,但是能力不足。我們怎么為客戶做,保留他現有的小型機系統,SharePlex在Oracle上面功能非常強大。我們用SharePlex同時做了四個,把他遷到X86上,可以做異構。小型是Unix,遷移到X86上,成本降低非常多,同時拷貝四份,SharePlex可以做一對四的同時拷貝。把讀寫數據庫分離,把所有寫庫放到小機的系統上,把讀的放到X86,最后架構變成這樣。SharePlex的資源占用極小,對元數據庫性嫩和網絡帶寬的影響也保持在最低限度。當前可以支持3萬個移動用戶,每秒并發用戶數大概9000個。移動客戶端提交業務后5秒可以返回結果。小型機的CPU峰值基本不超過50%,讀壓力減少70%。這臺小型機基本上還去做了讀寫分離之后,他把報表和業務挪大小型機上來了。我們Fluid Cache最高峰值不超過30%,主數據庫復制延遲小于1秒。目前這種架構徹底解決了他業務性能的問題,為他未來的擴展打下了基礎。
這個上午看到了,我們有一個對比,只是把數據調出來做對比,應用不太一樣。Fluid Cache forSAN,8臺服務器,可以做到每秒1.4萬的并發用戶。雙11促銷并發值每秒1.3萬個,平均響應延時6毫秒。Fluid Cache事務處理能力是1.26萬秒,雙11促銷是1.187萬秒。我們在Liunx和VMware可以支持,之后Windows也會推出。
我到底什么樣的架構,什么樣的應用適合采用這個Fluid Cache forSAN,大家聽得更多就是我要高I/O,一跑到50萬個I/O,其實大家知道當I/O到百萬極以上,那都不是事,不會再關心I/O的處理能力,大家更關心是延遲。如果要求的對低延遲的要求非常高的話,那是符合Fluid Cache forSAN這架構。用這種架構去彌補從存儲到CPU剩下40%的性能差距。尤其還有一些應用在高峰的時候每秒的并發處理能力需要非常高,也可以用Fluid Cache forSAN這種技術來解決。
今天大家聽了很多都是關于單獨產品的一些他的優勢、特點用SSD之后有什么好處。今天我給大家講是利用好閃存所做的整體的解決方案能幫客戶解決什么問題。他也可以做Linux的Fluid Cache forSAN集群和VMware Fluid Cache forSAN集群。我是老機器要做虛擬化,能不能用Liunx的Fluid Cache forSAN,是可以跨平臺,共用Fluid Cache forSAN共享的流動緩存,可以用我們這個技術,可以共享。當你有這種需求的時候或者Fluid Cache forSAN的數據中心解決方案,幫助大家解決這些問題。
今天我就給大家介紹這么多戴爾公司跟其他廠商不太一樣我們的SSD的解決方案,請大家記住我們叫做Fluid Cache forSAN,謝謝大家。