網億興雲CBlock關於分布式資料中心基於分布式儲存的Windows ODX實現與最佳化

來源:互聯網
上載者:User

標籤:操作   ken   ups   包含   情況   資料中心   arc   網路裝置   比較   

1.儲存卸載加速的背景

  伺服器虛擬化成為資料中心的主流技術,大量啟動並執行虛擬機器大大提高了伺服器的利用率,對虛擬機器進行批量的建立、複製、遷移極大的簡化了IT營運的同時,也帶來了大量的資料拷貝操作,進而消耗了伺服器的大量CPU、記憶體和網路頻寬資源。

  針對於這些問題,VMware提出了VAAI(vStorage API for Array Integration)介面,希望將VMware基礎架構的某些功能委託給存放裝置陣列去實現,通過減少資料對於虛擬機器和物理伺服器的資源消耗,從而提升VMware基礎架構的效能。

  同時,Microsoft也在Windows 8或Windows Server 2012中新增了卸載資料轉送(Offloaded Data Transfer ODX)這一功能,期望把資料拷貝功能卸載到儲存硬體中,降低虛擬化伺服器的開銷。

  本文將和您一起探討Windows ODX的實現與最佳化

  通過配合支援卸載的儲存硬體使用,ODX可在不佔用 Hyper-V 宿主機 CPU 資源的情況下通過存放裝置執行檔案複製操作,由存放裝置直接從一個儲存位置讀取資料,並寫入到另一個位置。卸載資料轉送的設計符合T10 XCOPY Lite規範,對資料拷貝加速進行了端到端的設計,理論上支援在不同儲存廠商的存放裝置之間進行資料複製。

2.興和雲網的分布式資料中心雲端儲存產品

  網億興雲CBlock是“武漢興和雲網科技股份有限公司”開發的一款創新服務型產品,這款產品是以機櫃形式來交付,它是由伺服器、儲存、網路裝置,以及系統軟體、應用和管理軟體組成,是一個典型的超融合架構。CBlcok從管理職能提升的角度為使用者提供“CloudDesktop中心”、“雲災備中心”、“雲資源中心”和“雲管理中心”四大功能。
網億興雲CBlock是一款資料中心資源引擎,使客戶在原有虛擬化或私人雲端前提下,具備公用雲端服務和私人雲端交付的能力。 CBlock融合了資料中心所需的伺服器、網路、儲存、安全和管理等軟硬體資源,創造性的提供虛擬資料中心服務、雲災備中心服務、CloudDesktop中心服務、雲管理中心服務四大功能,彌補了目前市場上常見的雲主機、雲備份、雲端硬碟等公用雲端資源服務的功能缺失,並能實現動態延展性以及全面的可用性和可靠性,使資料中心的資源管理工作職能產生質的飛越。

  3.ODX實現原理概述

  ODX使用基於令牌的機制在智能存放裝置陣列內部或之間複製資料。待覆制的源檔案和目標檔案可以在同一個卷上、同一伺服器管理的兩個不同卷、或者多個伺服器共用的叢集共用磁碟區上。

  令牌是一個512位元組的隨機數,令牌代表了一個或多個extent(最多128MB的實際資料),一般是一個檔案或檔案的一部分。令牌由儲存控制器通過雜湊演算法產生,同時令牌具有一定的生命週期。因此微軟一直認為安全性和相容性是Windows ODX區別於 VMware VAAI的一個顯著特徵。

  由於傳給主機的是代表資料的令牌,而不是資料本身,因此大大提高了資料複製的效能。同時由於ODX的命令互動比較多,因此ODX檔案複製要求檔案至少為256KB,太小的檔案所產生的開銷會使得XCOPY操作變得沒有任何意義。

圖1 Windows ODX基於令牌的複製操作

  如所示,利用ODX實現資料複製的主要操作流程如下所示:

  使用者通過Windows Explorer或命令列執行檔案複製/移動。

  Windows 8或Windows Server 2012發送一個讀請求給儲存控制器要求執行資料拷貝(POPULATE_TOKEN命令,包含了源LBA/Block length pair list)

  儲存控制器建立代表資料的令牌並發送回主機(SP建立PIT token)

  主機使用令牌發起寫請求給儲存控制器(WRITE_USING_TOKEN命令,包含一個目標LBA/Block length pair list)

  儲存控制器根據令牌資訊,驗證令牌的有效性和來源資料位置,並把資料轉送資料到目標位置。

  最後儲存控制器把ODX複製的結果發送給主機(主機使用RECEIVE_ROD_TOKEN_INFORMATION命令查詢結果)

  為了實現ODX功能,ODX增加了如下幾個SCSI命令:

  POPULATE_TOKEN命令,發送卸載讀請求給儲存控制器,請求針對虛擬磁碟LUN A的某段資料產生一個資料令牌。

  WRITE_USING_TOKEN命令,攜帶資料令牌發送卸載寫請求給儲存控制器,請求把該令牌所代表的資料複製到指定位置。

  RECEIVE_ROD_TOKEN_INFORMATION 命令,發送卸載查詢請求給儲存控制器,查詢卸載讀/寫的結果。

  4.ODX在分布式儲存的最佳化

  4.1令牌的管理和同步

  對於分布式儲存叢集,通常會提供多個儲存控制器來實現IO的並發訪問以及IO路徑的高可用(2所示)。同時Windows伺服器通過iSCSI MPIO和分布式儲存串連以後,ODX可能會對不同的儲存控制器分別下發POPULATE_TOKEN命令和WRITE_USING_TOKEN命令。這就要求某一個儲存控制器產生的資料令牌需要和其他儲存控制進行即時同步。同時令牌具有一定的生命週期, 因此儲存控制器需要保證資料令牌的唯一性,並且定期清理已經到期的資料令牌。

圖2 提供多個ISCSI服務端的分布式儲存叢集

  4.2 ODX相關參數調優

  ODX進行資料複製時,預設傳輸的一個資料片段大小為64MB,支援傳輸的最大資料片段為256MB。由於不同的分布式儲存環境,所配置的HDD、SSD磁碟數量各不相同,因此不同環境最有的資料轉送切片大小也各不一樣。ODX支援通過儲存的VPD描述去建議最優的資料切片大小。因此可以結合分布式儲存的配置情況,選擇最優的資料轉送片段大小。

  考慮到分布式儲存在產生資料令牌時,需要在各儲存控制器之間通過網路進行即時同步,時延開銷比較大,因此可以通過配置參數,最大化資料令牌所代表的資料區塊大小,減少POPULATE_TOKEN命令的發送次數。

  4.3 ODX相關的流量控制以及一些異常處理

  ODX進行資料複製時,通常都是大資料區塊的讀寫,這樣會對儲存伺服器的硬碟帶來很大的壓力,進而影響對其他IO業務的處理。因此有必要在同時存在其他業務IO時,對ODX相關的IO做一定的流量限制。

  在某些異常情境,WRITE_USING_TOKEN命令的目標位置和源檔案位置會發生重疊,這樣有可能會導致資料處理不正確,因此在執行寫操作前需要增加一些位置校正。

  5.ODX的最佳化效果

  杉岩資料的SandStone UPS作為企業級軟體定義程式儲存產品,對Windows ODX實現了完美的支援,藉助ODX,SandStone UPS大大節省伺服器的網路頻寬和CPU資源。為Windows 2012伺服器通過1G網路連接SandStone USP進行資料複製的測試。

從工作管理員可以看到,在做資料複製時,網路頻寬和記憶體、CPU消耗都不大,特性是網路頻寬只佔用了200K左右,但是資料複製顯示的速度平均有200MB,遠超過1G網路頻寬的限制。(說明一下:200k是Windows和儲存控制器直接頻寬,Windows只是發送控制命令,實際的資料轉送是在儲存網路間進行的。)

  以上,就是我們在Windows ODX上的具體最佳化實踐,本著開放、務實的技術理念,未來,將積極吸取行業的優秀經驗和技術產品,從而為使用者打造一套更加完善的需求解決方案。

網億興雲CBlock關於分布式資料中心基於分布式儲存的Windows ODX實現與最佳化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.