VMware vSphere 51 群集深入解析(第三部分 vSphere存儲DRS)_第1頁
VMware vSphere 51 群集深入解析(第三部分 vSphere存儲DRS)_第2頁
VMware vSphere 51 群集深入解析(第三部分 vSphere存儲DRS)_第3頁
VMware vSphere 51 群集深入解析(第三部分 vSphere存儲DRS)_第4頁
VMware vSphere 51 群集深入解析(第三部分 vSphere存儲DRS)_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第三部分 vSphere存儲DRS第一章 vSphere存儲DRS介紹第二章 存儲DRS算法第三章 存儲I/O控制第四章 數(shù)據(jù)存儲配置第五章 數(shù)據(jù)存儲架構(gòu)與設(shè)計第六章 對存儲vMotion的影響第七章 關(guān)聯(lián)性第八章 數(shù)據(jù)存儲維護模式第九章 總結(jié)匯總第三部分 vSphere存儲DRS第一章 vSphere存儲DRS介紹Sphere 5.0 介紹了存儲DRS(存儲分布式資源調(diào)度)來解決虛擬機發(fā)布,遷移和克隆上一些操作難題。從歷史來說,監(jiān)控數(shù)據(jù)存儲容量和I/O負載被證實非

2、常困難,作為結(jié) 果,它經(jīng)常被忽視,導致熱點或者過量或者未充分使用數(shù)據(jù)存儲,vSphere 4.1的存儲I/O控制(SIOC)解決了部分這些問題,通過介紹數(shù)據(jù)存儲 -磁盤-計劃允許虛擬機的I/O資源按比例分配,基于爭用期間它們的分別的份額。存儲DRS帶來這些全新的級別,基于空間和I/O的容量,提供智能虛擬機位置和負載平衡原理,換句話說,SIOC關(guān)聯(lián)的門檻主機和虛擬機確保它們的公平,SDRS從空間利用率和延遲方面來積極的產(chǎn)生建議來阻止不平衡,更簡單的是,存儲DRS對DRS計算資源有效。這里有存儲DRS提供的五個關(guān)鍵因素:· 資源聚合· 初始化位置· 負載平衡

3、· 數(shù)據(jù)存儲維護模式· 關(guān)聯(lián)規(guī)則資源聚合資 源聚合是所有存儲DRS功能依賴的關(guān)鍵組件,資源聚合到單個或者復雜的數(shù)據(jù)存儲集合,稱之為數(shù)據(jù)存儲群集,數(shù)據(jù)存儲群集是vSphere 5的新構(gòu)造,更 高版本提供存儲DRS功能,這個新概念的靈活性,更進一步的從邏輯中區(qū)分物理,通過允許數(shù)據(jù)存儲快速,簡單,動態(tài)添加或者移除數(shù)據(jù)存儲群集來處理維護、性 能和空間不足的情況,管理存儲更簡單。存儲DRS支持智能和快速放置新虛擬機磁盤文件,并保持現(xiàn)有工作負載的負載平衡。初始化位置初 始化的目標是基于存在的數(shù)據(jù)存儲負載,放置虛擬機的磁盤文件,確保不管是空間還是I/O不被過早耗盡,初始化位置通

4、過自動選擇分配數(shù)據(jù)存儲提供更簡單的發(fā) 布過程,留給用戶數(shù)據(jù)存儲群集中非常小規(guī)模的選擇決定權(quán),存儲DRS基于空間利用率和I/O容量從數(shù)據(jù)存儲群集選擇特別的數(shù)據(jù)存儲,在虛擬化環(huán)境中有很多 看起來相同的數(shù)據(jù)存儲,管理員執(zhí)行初始位置會變成一件困難和耗時的事情。在很多環(huán)境中,通常的經(jīng)驗是在有比較多空閑的空間上查找數(shù)據(jù)存儲,并使用,這通常 不是最佳的選擇,不僅擁有充足可用空間的數(shù)據(jù)存儲需要識別,而且至關(guān)重要的是確認額外的新虛擬機不會導致I/O瓶頸。存儲DRS需要照看這一切,大幅減少 請求發(fā)布虛擬機操作的次數(shù),這才是存儲DRS的真正價值。負載平衡存儲DRS能夠操作兩 個不同的負載平衡節(jié)點:非自動(手動)和全

5、自動,在發(fā)布過程中減少初始化位置的復雜度,數(shù)據(jù)群集中負載平衡的地址不平衡,在存儲DRS之前,虛擬機的位置 經(jīng)?;诋斍翱臻g消耗或者每個數(shù)據(jù)存儲上虛擬機的數(shù)量,I/O容量監(jiān)控和空間利用擴展經(jīng)常被視為浪費時間,多年來,我們可以發(fā)現(xiàn)在許多環(huán)境中都導致了性能 問題,在一些場景中,盡管數(shù)據(jù)存儲空間用完導致停機時間。存儲DRS負載平衡幫助您阻止這些,不幸的是一般的場景中是基于空間利用率和 I/O容量生成推薦位置,負載平衡進程初始化周期,默認為每8小時/次,如果空間利用率或者數(shù)據(jù)存儲的I/O的閾值超過數(shù)據(jù)存儲設(shè)置的級別,將生成建議位 置,這些建議將自動被存儲DRS接受,或者將立即通知管理員,讓管理員手工決定

6、接受。圖91:存儲DRS自動級別盡管我們看到負載平衡是存儲DRS的獨立功能,它實際上包括兩個獨立的配置選項,當任意一個使用空間或者I/O延遲超過設(shè)置的閾值,存儲DRS將產(chǎn)生建議來解決數(shù)據(jù)存儲群集中的不平衡,I/O容量負載和監(jiān)控被明確禁用(圖92)圖92:禁用I/O負載平衡在每個人忘記之前,存儲DRS功能在完成填充數(shù)據(jù)存儲被開啟,環(huán)境沒有停機時間,它還可能從已存在的數(shù)據(jù)存儲群集中添加額外的完成填充數(shù)據(jù)存儲,它還是一個很好的方法,以最小的影響和風險,去解決環(huán)境中實際或者潛力的瓶頸。關(guān)聯(lián)規(guī)則按照你的最佳實踐或者實用需求,開啟關(guān)聯(lián)規(guī)則控制虛擬磁盤應該或者不應該放置在數(shù)據(jù)存儲群集中的同一個數(shù)據(jù)存儲上,默

7、認情況下,所有的虛擬機的虛擬磁盤將放置在同一個數(shù)據(jù)存儲上。數(shù)據(jù)存儲維護模式數(shù)據(jù)存儲維護模式能同主機維護模式對比:當數(shù)據(jù)存儲置于維護模式,其上所有注冊的虛擬機將遷移到存儲數(shù)據(jù)群集中其它的數(shù)據(jù)存儲上,典型的用處是數(shù)據(jù)遷移到新的存儲陣列或者LUN處于維護模式,例如遷移到其它的RAID組。需求為了存儲DRS正常工作,環(huán)境必須符合接下來的基本要求:· Vmware vCenter Server 5.0或者以后版本· VMware vSphere ESXi 5.0或者以后版本· Vmware vCenter

8、群集(建議)· VMware vSphere 企業(yè)加強版license· 共享VMFS或者NFS數(shù)據(jù)存儲卷· 共享數(shù)據(jù)存儲卷至少能訪問群集中的一臺ESXi主機· 數(shù)據(jù)存儲必須只在一個數(shù)據(jù)中心可見 建議連接全部的群集,但這些不是強制執(zhí)行。第二章 存儲DRS算法存儲DRS能自動初始化虛擬機的位置,來阻止數(shù)據(jù)存儲上磁盤空間的不平衡和I/O熱點,通過提供自動數(shù)據(jù)存儲選擇,存儲DRS初始化位置,可以最小化數(shù)據(jù)存儲過量發(fā)布虛擬機的風險,以及最小化虛擬機性能的I/O瓶頸或者負面的影響。用戶的相互作用額外的智能位置,初始化位置可以

9、為用戶在自動數(shù)據(jù)存儲選擇的過程中提高速度,當在虛擬機創(chuàng)建過程中選擇數(shù)據(jù)存儲時,應用于數(shù)據(jù)存儲群集的數(shù)據(jù)存儲默認不可見,只有數(shù)據(jù)存儲群集或者“非群集”數(shù)據(jù)存儲可以被選擇,如果虛擬機必須保持自動模式。請注意,在群集的數(shù)據(jù)存儲之間抓出一個數(shù)據(jù)存儲,這我們可以深入討論,如果數(shù)據(jù)存儲被抓出,虛擬機位置設(shè)置由自動模式改為手動模式(也就是說用戶選擇數(shù)據(jù)存儲),一般自動變成手動,存儲DRS不會建議虛擬機的自動遷移。圖93:初始化位置默 認,存儲DRS遵從關(guān)聯(lián)規(guī)則,放置虛擬機和虛擬機磁盤文件(VMDK)到數(shù)據(jù)存儲群集的數(shù)據(jù)存儲上,當建議一個數(shù)據(jù)存儲群集,存儲DRS預先挑選VMDK 的關(guān)聯(lián)規(guī)則,在vSphere5

10、.1中,用戶接口允許改變默認的管理規(guī)則,這樣就意識到只有申請新創(chuàng)建的虛擬機。VMDK關(guān)聯(lián)規(guī)則在后面的章節(jié)被提到。沒有半自動模式可用數(shù)據(jù)存儲群集能被配置,不管是手動負載平衡還是自動負載平衡,自動初始化位置排除在兩個模式之外:存儲DRS生成初始化位置的建議通常需要手工確認。DRS和數(shù)據(jù)存儲連接當 DRS群集和數(shù)據(jù)存儲群集建立起連接,存儲DRS負責虛擬機的位置,它的職責是為虛擬機放置提供計算和存儲級別,存儲DRS檢測數(shù)據(jù)存儲同所有主機之間的 連接性,確保虛擬機在主機和數(shù)據(jù)存儲級別上有最高的移動性,存儲DRS偏向于數(shù)據(jù)存儲連接DRS群集的所有主機全連接在考慮部分職權(quán)連接數(shù)據(jù)存儲 數(shù)據(jù)存儲連接DRS群集

11、中主機的子集,在初始化放置期間,部分選擇連接數(shù)據(jù)存儲可能影響虛擬機在主機間的移動性,當選擇部分連接主機會影響數(shù)據(jù)存儲群集上 數(shù)據(jù)存儲之間的移動性??臻g和I/O負載考慮當選擇 一個數(shù)據(jù)存儲,初始化位置會參考DRS和存儲DRS的閾值,它會選擇利用率低的主機和最高連接性的主機來放置虛擬機,數(shù)據(jù)存儲和存儲DRS的權(quán)重作為數(shù)據(jù) 存儲群集中數(shù)據(jù)存儲的利用率,結(jié)合空間和I/O值來使用動態(tài)權(quán)重,如果空間運行較低,它會嘗試平衡空間多于I/O(反之亦然),如果資源被約束,權(quán)重值大 家都一樣,例如,如果可用數(shù)據(jù)存儲接近于空間利用率的閾值,空間值的權(quán)重變高,它更可能基于空間平衡來初始化位置。空間利用率閾值在 初始化位

12、置期間,數(shù)據(jù)存儲群集級別和數(shù)據(jù)存儲級別的空閑空間的總數(shù)被檢查,當初始化虛擬機的位置,存儲DRS阻止空間利用率閾值沖突,(空間利用率閾值在 擴展空間負載平衡章節(jié)將提到),這非常有助于我們理解,空間利用率閾值的設(shè)置,在數(shù)據(jù)存儲群集應用于每個獨立的數(shù)據(jù)存儲,而不是搜集所有的數(shù)據(jù)存儲群集, 這意味著當初始化位置視圖阻止使用時,每個數(shù)據(jù)存儲將有一個緩沖空間,圖94闡明了這個概念。圖94:數(shù)據(jù)存儲空間一覽例 如.設(shè)置空間利用率閾值到80%,一個數(shù)據(jù)存儲群集包括一個單獨的1000GB的數(shù)據(jù)存儲,將允許存儲DRS放置虛擬機,消耗空間到800GB,在這個場 景中,650GB的數(shù)據(jù)存儲被使用,這意味著存儲DRS考

13、慮的數(shù)據(jù)存儲有350GB的空閑,但理解的是虛擬機的位置大于150GB就會與閾值相沖突,如果 所有的數(shù)據(jù)存儲至多或者在這個閾值之下,初始化位置仍能進行,如果這個數(shù)據(jù)存儲能適合加入的虛擬機,例如,如果鍵入的虛擬機是200GB,所有其他的數(shù)據(jù) 存儲也超過了空間的閾值,此時虛擬機還是能放置到數(shù)據(jù)存儲1上。數(shù)據(jù)存儲群集碎片整理正 如之前提到的,存儲DRS考慮空閑空間、數(shù)據(jù)存儲和數(shù)據(jù)存儲群集級別因素,如果數(shù)據(jù)存儲群集上有足夠的空閑空間可用,但是每個數(shù)據(jù)存儲沒有足夠的空間可 用,在這樣的狀態(tài)期間,如果新的虛擬機不能置于任何一個存儲,存儲DRS考慮遷移存在的虛擬機從一個或者多個數(shù)據(jù)存儲去空閑的空間遷移的先決條

14、件存儲DRS開始為數(shù)據(jù)存儲上已經(jīng)存在的虛擬機查找供選擇的位置,嘗試一個接一個的放置虛擬機到其它的數(shù)據(jù)存儲上,最終,存儲DRS可能生成存在虛擬機的遷移建議,允許新虛擬機放置,這個遷移被稱之為遷移的先決條件,這個先決遷移的建議和放置建議的組合稱之為建議配置。遞歸深度存 儲DRS使用遞歸算法來查找供選擇的位置組合,為了保持存儲DRS試圖遷移非常多數(shù)量的虛擬機組合,遞歸深度被限制為2步,一個步驟定義了哪些?第一步驟 有哪些計算,一個步驟最好定義從一個數(shù)據(jù)存儲視圖遷移到同一個數(shù)據(jù)存儲上另一個位置,一步能包括VMDK的遷移,但還能包括多個虛擬機附帶多個虛擬機磁盤 的遷移,在某種情況下,通過移動虛擬機到另外

15、一個數(shù)據(jù)存儲,空間必須首先在目標存儲上被創(chuàng)建,這導致了額外的步驟,在接下來的圖表顯示了這個過程。圖95:遞歸深度存 儲DRS完成新虛擬機的計算,如果VM3和VM4被遷移到數(shù)據(jù)存儲2,VM10能被放置到數(shù)據(jù)存儲1上,但是,放置這兩個虛擬機到數(shù)據(jù)存儲2上可能導致空 間利用率的沖突,因此空間必須被創(chuàng)建,所以,VM5被移出數(shù)據(jù)存儲2,同時創(chuàng)建空間,這導致了第一步,移動VM5到數(shù)據(jù)存儲3,接下來是第二步,移動 VM2和VM4到數(shù)據(jù)存儲2,最終新的虛擬機VM10放置到數(shù)據(jù)存儲1上。如果2步的移動沒有滿足的初始化位置存儲需求,存儲DRS停止查 找,高級設(shè)置可以改變步驟的數(shù)量用來查找,通常,改變默認值需要很強

16、的勇氣,因為將消耗很多個小時的測試來研究設(shè)置,以提供最好的性能和最低的操作影響, 如果你有很強的把握改變這個步驟,在DRS高級設(shè)置選項中配置“MaxRecursionDepth”,默認值使1,最大是5,因為計算開始于0.默認是 1,所以允許2步,請注意這是每個群集單獨設(shè)置的選項。Goodness值存 儲DRS將循環(huán)通過數(shù)據(jù)存儲群集上所有的數(shù)據(jù)存儲,初始化查找每個數(shù)據(jù)存儲的空間,如果能提供空間允遞歸方式放置許虛擬機,查找生成遷移先決條件,存儲 DRS評估生成配置來設(shè)置goodness值,這個設(shè)置的最少開銷即為最佳的遷移建議,并顯示在清單頂部,讓我們來探討這一些。場景數(shù) 據(jù)存儲群集包括3個數(shù)據(jù)存儲

17、;每個數(shù)據(jù)存儲有1000GB的容量,包含多個不同規(guī)格的虛擬機,數(shù)據(jù)存儲空間的消耗范圍從550GB到650GB,同時空間 利用率的閾值設(shè)置為80%,這時候,管理員建立VM10,需要350GB的空間,存儲DRS將阻止虛擬機的放置,在任何一個數(shù)據(jù)存儲上,因為放置虛擬機沒 有先決條件,將與數(shù)據(jù)存儲上的空間利用率閾值相沖突。圖96:在初始化位置之前的數(shù)據(jù)存儲空間利用率查找過程當 每個ESXi主機提供關(guān)于全部數(shù)據(jù)存儲利用率和VMDK狀態(tài)的信息,存儲DRS對最新的數(shù)據(jù)情況有一個清晰的角度,將為了查找使用這些狀態(tài),在第一步,它 將同模擬數(shù)據(jù)存儲1上所有必要的遷移來適應VM10,這個先決條件的遷移過程,在數(shù)據(jù)存

18、儲1上至少有一定數(shù)量的虛擬機適合遷移:圖97:先決條件遷移-模擬1· 第一步:VM3從數(shù)據(jù)存儲1遷移到數(shù)據(jù)存儲2· 第二步:VM4從數(shù)據(jù)存儲1遷移到數(shù)據(jù)存儲3· 將新的虛擬機置入數(shù)據(jù)存儲1盡管VM3和VM4移動到不同的數(shù)據(jù)存儲上,它們的遷移都被計算為第一步的遷移先決條件,因為兩個虛擬機從同一個數(shù)據(jù)存儲遷出(數(shù)據(jù)存儲1)接下來存儲DRS將評估數(shù)據(jù)存儲2,由于VM5的規(guī)格,存儲DRS不能將VM5遷移出數(shù)據(jù)存儲2,以為內(nèi)它將立即同所選的目標數(shù)據(jù)存儲的利用率閾值相沖突。其中最酷部分是算法,也就是考慮遷入是有效移動,在這個場景中,遷移虛擬機到數(shù)據(jù)存儲2將提高另一個數(shù)據(jù)存儲的

19、空閑空間,從而提供足夠的空間給VM5,數(shù)據(jù)存儲2有足夠的空間將允許存儲DRS放置VM10到數(shù)據(jù)存儲2上。圖98:先決條件-模擬2遷移過程的先決條件是數(shù)據(jù)存儲2上至少有一些虛擬機適合遷移:· 第一步:VM2從數(shù)據(jù)存儲1遷移到數(shù)據(jù)存儲2· 第二步:VM3從數(shù)據(jù)存儲1遷移到數(shù)據(jù)存儲3· 第三部:VM5從數(shù)據(jù)存儲2遷移到數(shù)據(jù)存儲1· 將新的虛擬機置入數(shù)據(jù)存儲2數(shù)據(jù)存儲3的分析生成了單獨的遷移先決條件,VM8從數(shù)據(jù)存儲3遷移到數(shù)據(jù)存儲2將有足夠的空間放置VM10,選擇VM9就沒有足夠的空間,遷移VM7比遷移VM8產(chǎn)生更多的開銷,默認,存儲DRS嘗試遷移虛擬機或者虛

20、擬機磁盤以接近需求空間。圖99:遷移先決條件-模擬3遷移先決條件過程中在數(shù)據(jù)存儲3至少有可以遷移的虛擬機· 第一步:VM8從數(shù)據(jù)存儲3遷移到數(shù)據(jù)存儲2· 放置新的虛擬機到數(shù)據(jù)存儲3在分析了三種查找結(jié)果的開銷和收益之后,存儲DRS將標記數(shù)據(jù)存儲3為最高Goodness考慮因素,警告每個查找結(jié)果在遷移后能提供足夠的空閑空間,數(shù)據(jù)存儲3的建議將導致最小的虛擬機遷移,和移動最少的數(shù)據(jù),所有三種結(jié)果都顯示出來,最高遷移建議的將放置到清單頂部。一個置入建議屏幕將被顯示,注意的是你能接受只有完成建議設(shè)置,在虛擬機發(fā)生初始化位置之前,接受建議立即觸發(fā)遷移先決條件。負載平衡當提供負載平衡建議

21、,存儲DRS考慮空間和I/O負載:存儲DRS生成標準的負載平衡建議負載平衡主要目的當空間利用或者I/O響應時間閾值已經(jīng)被超過,大量空間或者I/O不平衡已經(jīng)存儲,存儲DRS生成遷移建議,但是,如果存儲DRS不能調(diào)整閾值沖突,它將盡可能多的在數(shù)據(jù)存儲之間進行負載平衡存儲DRS設(shè)置數(shù)據(jù)存儲群集設(shè)置顯示空間和I/O負載的配置選項圖100:存儲DRS閾值圖101:高級選項存儲DRS使用這些設(shè)置來決定是否通過遷移平衡負載,每個負載平衡器產(chǎn)生獨立的遷移建議,存儲DRS在提供統(tǒng)一的建議之前,參考這些建議,接下來的部分,在詳述統(tǒng)一建議之前,將測試每個獨立的負載平衡器??臻g負載平衡存儲DRS通過數(shù)據(jù)存儲群集中的數(shù)

22、據(jù)存儲分配每個虛擬機的空間利用情況,對空間負載過量的數(shù)據(jù)存儲重復流程,更多的一次遷移將被建議,以減少數(shù)據(jù)存儲的負載,空間平衡工作流如下所示:圖102:空間平衡工作流搜集狀態(tài)存儲DRS每2小時從vCenter的數(shù)據(jù)庫中重新檢索一次虛擬機的狀態(tài),虛擬機注冊的主機提供vCenter詳細的信息(關(guān)于虛擬機的相關(guān)文件),存儲DRS從vCenter的數(shù)據(jù)庫中搜集這些信息來理解每臺虛擬機的磁盤利用率和文件結(jié)構(gòu)。每個ESXi主機在一個周期內(nèi),報告數(shù)據(jù)存儲的利用情況,并存儲在vCenter的數(shù)據(jù)庫中,存儲DRS檢測數(shù)據(jù)庫中的利用情況是否在用戶設(shè)置的閾值以下圖103:空間負載平衡狀態(tài)輸入用戶設(shè)置閾值空間利用比閾值

23、定義VMFS數(shù)據(jù)存儲最大可以接受的空間負載,空間負載是數(shù)據(jù)存儲消耗空間的總量,區(qū)分于數(shù)據(jù)存儲的容量 空間負載=(數(shù)據(jù)存儲的消耗總量)/(數(shù)據(jù)存儲的容量)但默認情況下,空間利用設(shè)置為80%,表面數(shù)據(jù)存儲的總消耗量不能超過數(shù)據(jù)存儲容量的80%為了阻止從一個過量的數(shù)據(jù)存儲向另一個接近空間閾值的數(shù)據(jù)存儲進行不必要的遷移,存儲DRS使用不同的空間利用率來決定哪個數(shù)據(jù)存儲應該被考慮作為虛擬機的遷移目標。圖104:不同的空間利用率閾值不同的空間利用率表面目標數(shù)據(jù)存儲和源數(shù)據(jù)存儲之間的不同比例,這個不同的閾值默認設(shè)置為5%。成本收益風險分析與DRS類型,存儲DRS使用成本收益值來確定適合遷移的候選人

24、,來決定是否遷移有益于數(shù)據(jù)存儲群集。收益:在虛擬機遷移出數(shù)據(jù)存儲后可以增加數(shù)據(jù)存儲的空閑空間成本:VMDK的尺寸和I/O負載的活動性將影響成本計算,一定數(shù)量的鏡像寫入到數(shù)據(jù)存儲,期望的遷移被認為是過量遷移風險:風 險包括當虛擬機配置了精簡置備磁盤時產(chǎn)生的遷移建議,存儲DRS考慮分配磁盤的空間代替發(fā)布數(shù)量(配置規(guī)格),當決定是否需要負載平衡,當遷移精簡置備磁 盤,數(shù)據(jù)增加數(shù)率被認為是一個風險,存儲DRS嘗試阻止遷移數(shù)據(jù)增長率太快的虛擬機,以避免在不久的將來,引起目標數(shù)據(jù)存儲超過空間利用率的閾值增長率是通過歷史的使用量取樣來預估的,最近的取樣權(quán)重高于很久之前的取樣,不久的將來默認定義為30小時,如

25、果收益大于成本,存儲DRS考慮遷移建議。遷移候選的選擇當數(shù)據(jù)存儲超過空間利用閾值,存儲DRS將試圖移動數(shù)據(jù)存儲上一定數(shù)量的MB來調(diào)整空間利用的沖突,換句話說,存儲DRS嘗試選擇一個虛擬機,它的規(guī)格需要帶來數(shù)據(jù)存儲上的空間利用,使得達到空間利用率的閾值。為了最小化開銷,存儲DRS偏向于移動斷電的虛擬機高過上電的虛擬機,移動斷電虛擬機的好處是存儲DRS不需要在重新安置虛擬機時追蹤VMDK中塊的改變,也不需要計算虛擬機工作負載的性能退化。為 了減少更多的開銷,如果虛擬機的swap文件被用戶存儲在某個固定的位置,例如主機緩存SSD數(shù)據(jù)存儲,存儲DRS將不會移動這些文件,在評估了狀態(tài)之 后,空間利用和利

26、用率的閾值,存儲DRS空間負載平衡計算將選擇候選的虛擬機,如果移動,提供最高收益和最低的開銷,這些值將導致一個或者多個負載遷移建 議,但是,存儲DRS不會直接應用或者顯示負載平衡建議,它在生成執(zhí)行建議之前,還要考慮I/O負載平衡建議。靈活的空間負載平衡盡 管存儲DRS負載平衡每8小時運行一次,當數(shù)據(jù)存儲上消耗的空間超過了利用率的閾值,一個負載平衡的過程通過存儲DRS被觸發(fā),當算法調(diào)用需要安排,存儲 DRS監(jiān)控數(shù)據(jù)存儲的利用并作出決定,依靠卷和附屬的磁盤的填充率,存儲DRS決定是否一個負載平衡的進程需要發(fā)生,可能閾值已經(jīng)沖突,但是因為比較慢的 填充率,空間負載平衡不必立刻執(zhí)行,這個行為被介紹來阻

27、止產(chǎn)生不必要的開銷。I/O負載平衡I/O負載平衡的目標是解決數(shù)據(jù)存儲群集交付數(shù)據(jù)存儲時不平衡的性能,生成一個I/O負載平衡器來遷移,存儲DRS運行這個工作量如圖105所示,類似于空間負載計算,這個計算運行了全部數(shù)據(jù)存儲的開銷和計算可能為每個數(shù)據(jù)存儲開銷建議一個或者多個遷移。圖105:I/O負載平衡工作流統(tǒng)計數(shù)據(jù)收集性能快照主 要的值通過存儲DRS,用來表現(xiàn)每個數(shù)據(jù)存儲上性能的平均延遲,為了解決數(shù)據(jù)存儲群集上不平衡的平均延遲分布,存儲DRS請求輸入遷移建議,這個請求輸入 通過vCenter手機各種狀態(tài)來獲取,這些狀態(tài)通常涉及到性能快照,存儲DRS使用性能快照為在線的設(shè)備和工作負載進行模型。在線設(shè)

28、備和工作負載模型為了數(shù)據(jù)存儲群集中的存儲資源達到更高以及更高利用效率,存儲DRS建立了在線設(shè)備和工作負載模型,這個模型幫助存儲DRS決定全部設(shè)備性能容量和分析數(shù)據(jù)存儲工作負載數(shù)據(jù)點的延遲的影響。設(shè)備模型存 儲DRS捕捉設(shè)備的性能來創(chuàng)建它的性能模型,大多數(shù)存儲設(shè)備隱藏著ESXi主機的RAID級別和設(shè)備特性,只有現(xiàn)在延遲和磁盤的總?cè)萘浚匾氖抢斫獠皇?每個磁盤都一樣的,設(shè)備的性能能變化,因為廣泛多樣的配置,例如,一個2TB的磁盤跨越的磁盤組包括32 15K轉(zhuǎn)FC磁盤通常比2TB 跨越8 個 7.2K轉(zhuǎn)的SATA磁盤,為了理解和學習每個設(shè)備的性能,存儲DRS使用工作負

29、載注入,一個參考負載測量未解決的I/O和延遲,成對在一起,他們表 面了數(shù)據(jù)存儲的關(guān)聯(lián)性能容量。注意請記住存儲DRS不需要從存儲陣列的任何支持來決定設(shè)備的特性,這意味著沒有附加第三方軟件需要在存儲DRS上運行。工作負載模型工作負載模型過程在每個虛擬磁盤上創(chuàng)建了一個工作負載值,每個虛擬磁盤,4個數(shù)據(jù)點被收集:· 未解決I/O的數(shù)量· I/O規(guī)格尺寸· 讀/寫速率· 漫游百分比存儲DRS分析每個數(shù)據(jù)點在延遲方面的影響,并返回一個全工作負載模型值。標準負載設(shè)備值和工作負載值被用來定義數(shù)據(jù)存儲的標準負載,標準負載允許存儲DRS基于在工作負載的強度和連接設(shè)備的能力上

30、負載平衡建議,每個數(shù)據(jù)存儲標準負載的標準偏差允許存儲DRS決定數(shù)據(jù)存儲群集的負載失衡。圖106:I/O負載平衡輸入通過前一天的SIOC注入,這個性能熱點包括讀和寫延遲樣品捕捉,盡管存儲DRS每8小時調(diào)用一次,I/O負載存儲DRS從前一天每次調(diào)用中評估相同的性能數(shù)據(jù),實際上,I/O負載平衡將基于全天的狀態(tài)來建議移動,這將導致I/O負載平衡器每天一次關(guān)聯(lián)遷移。數(shù)據(jù)點為 了阻止高峰時刻的數(shù)據(jù)“污染”,存儲DRS不使用全天的狀態(tài),代替的是,它聚合一段時間內(nèi)搜集到的數(shù)據(jù)點,存儲DRS重新查看數(shù)據(jù)點,如果一天中90%的 I/O延遲檢測好于閾值,存儲DRS考慮數(shù)據(jù)存儲過載了,通過使用90%,存儲DRS使用最

31、忙的10%的測量時段,為I/O負載決定提供基準。當工作負載 一天內(nèi)發(fā)生了轉(zhuǎn)換,必須搜集足夠的信息來對工作負載提供一個準確的評估,因此,存儲DRS必須在產(chǎn)生建議之前有16個小時的數(shù)據(jù),通過使用至少16小時的 數(shù)據(jù),存儲DRS在同一時間檔有足夠的數(shù)據(jù),所以能對比數(shù)據(jù)存儲的使用情況,例如,周一早上11:00,數(shù)據(jù)存儲1到數(shù)據(jù)存儲2。16小時是一天時間的 2/3,存儲DRS收到足夠的信息來記錄當天數(shù)據(jù)存儲的性能,但怎樣配合8小時的調(diào)用周期呢?8小時調(diào)用周期和16小時有價值的數(shù)據(jù),存儲DRS使用16小時的數(shù)據(jù),但是,這些數(shù)據(jù)必須捕捉當天的,否則將使用前天的性能快照,怎樣合并8小時的調(diào)用周期呢?圖107:

32、調(diào)用周期一覽這意味著每16小時的I/O負載平衡是技術(shù)完成,經(jīng)常在午夜以后,統(tǒng)計被修復和滾動,這被稱為滾動事件,首先在滾動事件后調(diào)用時間(8:00),使用前一天的24小時的狀態(tài),當天16小時候被通過,存儲DRS使用新的性能熱點和可能基于新的統(tǒng)計的移動評估。注意存儲DRS一直使用前一天的統(tǒng)計,不管選擇調(diào)用周期,例如,如果調(diào)用周期設(shè)置為72小時,存儲DRS仍然從前16小時搜集數(shù)據(jù)負載平衡建議I/O 延遲閾值為減少負載平衡的延遲定義了觸發(fā)點,做了這些,存儲DRS為每個數(shù)據(jù)存儲定義標準負載,存儲DRS在數(shù)據(jù)存儲群集中的數(shù)據(jù)存儲上查看不同的負載, 通過I/O失衡閾值對比失衡的容忍值,如果數(shù)據(jù)存儲之間匹配或

33、者超過了容忍失衡的負載不同,存儲DRS初始化進程來建議遷移。圖108:I/O失衡閾值I/O失衡閾值通過移動滑塊設(shè)置成保守到激進,當數(shù)據(jù)存儲失衡非常高,保守的設(shè)置導致存儲DRS產(chǎn)生遷移建議,同時選擇更激進的設(shè)置使得存儲DRS生成建議來解決很小的失衡。成本-收益分析:成本收益分析類似于空間負載平衡器的成本收益分析成本:當自身是獨立的虛擬機磁盤文件,成本關(guān)聯(lián)到存儲vMotion 的持續(xù)。收益:收 益是預估來提高I/O延遲,它會在虛擬機遷移到目標磁盤后到達源磁盤,如果,從收益中減去成本,收益超過0,存儲DRS將生產(chǎn)I/O負載平衡建議,如果在 源存儲存儲和目標數(shù)據(jù)存儲之間失衡非常慢,而VMDK

34、文件非常大,這個值會變成0,因為事實評估存儲vMotion時間太長,它沒有意義去建議移動。忽略峰值時刻一旦持續(xù)一段時間的不平衡,存儲DRS開始生成I/O負載關(guān)聯(lián)建議,通常一天至少10%(或者接近2.4小時),這阻止了存儲DRS來自于高峰負載時刻的影響,持續(xù)的不平衡時間取決于工作負載和I/O不平衡的閾值。SIOC延遲和存儲DRS延遲盡 管SIOC被存儲DRS影響,延遲閾值的設(shè)置被從存儲DRS中分離,為存儲DRS配置延遲閾值,被用來通過存儲DRS對數(shù)據(jù)存儲的過載進行分類,并提供建 議來阻止瓶頸和熱點,為SIOC配置延遲閾值被用來通過SIOC來進行沖突檢測和主機節(jié)流,基于這些信息來確認每個虛擬機有權(quán)

35、收到資源的數(shù)量為 了計算延遲值,vSphere 5.1中存儲DRS使用了稱之為 vmObservedLatency的參數(shù),同時SIOC僅使用設(shè)備延 遲,vmObservedLatency 是虛擬化層從虛擬機收到I/O請求和從數(shù)據(jù)存儲獲得I/O響應之間的時間,通過使用 vmObservedLatency,存儲DRS還意識到發(fā)生在主機上的排隊延遲(等待時間)。為了持續(xù) vmObservedLatency時間,所有的主機連接數(shù)據(jù)存儲群集需要vSphere 5.1或者更高版本,這個值包括vSphere UI界面的SIOC性能圖表為了阻止設(shè)置不

36、一致的延遲閾值,vSphere 5.1中的SIOC自動決定每個設(shè)備的延遲閾值,數(shù)據(jù)存儲群集上數(shù)據(jù)存儲的默認延遲閾值是基于設(shè)備模板,這些閾值符合要磁盤IOPS峰值的90%來支持數(shù)據(jù)存儲,當I/O值開啟,SIOC將設(shè)置不低于指定I/O延遲的閾值?;驹O(shè)計原則如果手工設(shè)置SIOC延遲,請設(shè)置SIOC延遲高于存儲DRS的延遲閾值,因為存儲DRS閾值是關(guān)于調(diào)整減少或者阻止沖突的,當產(chǎn)生沖突,SIOC延遲是在公正的方式來降低負載數(shù)據(jù)存儲相關(guān)檢測在 vSphere 5.1 中I/O負載平衡操作阻止兩個性能相關(guān)的數(shù)據(jù)存儲上虛擬機的建議遷移,性能關(guān)聯(lián)數(shù)據(jù)存儲時共享了同樣的后端資源,

37、例如磁盤,或者 RAID或者組,當多個數(shù)據(jù)存儲共享了同一個磁盤,RAID或者組,他們的特性相互關(guān)聯(lián),例如,如果一個數(shù)據(jù)存儲經(jīng)歷高延遲,其它數(shù)據(jù)存儲分析同樣的磁盤 可能經(jīng)歷類似的高延遲,由于同樣的磁盤服務(wù)I/O來自于兩個數(shù)據(jù)存儲。在vSphere 5.0中,存儲DRS依賴于VASA來決定是否數(shù)據(jù)存儲被性能關(guān)聯(lián),在vSphere 5.1中,SIOC注入已經(jīng)完成擴展,包括數(shù)據(jù)存儲關(guān)聯(lián)檢測能力。它 是怎樣工作的呢?數(shù)據(jù)存儲在孤立和當并發(fā)IO被推向多個數(shù)據(jù)存儲時關(guān)聯(lián)檢測評估性能,例如,數(shù)據(jù)存儲1和數(shù)據(jù)存儲2屬于同一個數(shù)據(jù)存儲群集,SIOC注入 使用一個綜合的工作負載來測量孤立中的數(shù)據(jù)

38、存儲1的平均IO延遲,接下來,它測量孤立中的數(shù)據(jù)存儲2的平均IO延遲,第三步在兩個同步的數(shù)據(jù)存儲上使用一 樣的工作負載。前二步被用來為每個數(shù)據(jù)存儲建立基準線,如果每個數(shù)據(jù)存儲的平均延遲有顯著的增加,數(shù)據(jù)存儲被標記為性能關(guān)聯(lián),如果沒有性能關(guān)聯(lián),一個數(shù)據(jù)存儲的并發(fā)IO應該不會影響其它的數(shù)據(jù)存儲,如果兩個數(shù)據(jù)存儲有性能關(guān)聯(lián),并發(fā)IO留應該在兩個數(shù)據(jù)存儲上增加平均IO延遲。當兩個數(shù)據(jù)存儲被標記為性能關(guān)聯(lián),存儲DRS不會在兩個數(shù)據(jù)存儲間生成I/O負載平衡建議,但是存儲DRS在兩個關(guān)聯(lián)的數(shù)據(jù)存儲解決空間或者調(diào)整規(guī)則沖突時,仍能生成建議移動虛擬機。負載平衡建議統(tǒng)一建議存儲DRS單獨生成空間和I/O的負載平衡

39、建議,它將權(quán)衡和結(jié)合兩個建議來提供一個統(tǒng)一的建議。遷移建議應該不會同用戶設(shè)置的閾值相沖突,例如,遷移虛擬機去解決I/O負載不平衡,應該不會導致目標數(shù)據(jù)存儲上空間負載平衡的沖突,并請求存儲DRS來生成另外一個遷移建議來解決空間不平衡為了阻止這個場景,存儲DRS為每個候選遷移,計算空間和I/O負載平衡,并選擇遷移來提高I/O的負載不平衡,同時減少空間平衡,為了解決沖突目標,每次移動授權(quán)一個goodness值,來表現(xiàn)提高I/O負載和空間負載不平衡的權(quán)重總和。如 果每個數(shù)據(jù)存儲的空間負載值大部分在空間利用率閾值之下,在遷移建議中I/O負載值變成優(yōu)秀的因素,但是,如果數(shù)據(jù)存儲的空間利用率在閾值之上,空間

40、值收 到比I/O負載值更多的權(quán)重,同樣的,如果I/O過分投入,I/O負載值比空間值收到更多的權(quán)重,否則,兩個值將接受同等權(quán)重。如果兩個閾 值都被超過,存儲DRS仍不能決定產(chǎn)生遷移建議,例如,沒有合法的遷移存在,這些會發(fā)生,因為VM關(guān)聯(lián)規(guī)則或者因為每次移動的成本比移動的收益的權(quán)重更 高,例如,移動的收益值能是零,如果遷移大磁盤的虛擬機,只有一種方法來解決非常低的I/O不平衡,在這樣的場景中,存儲vMotion的時間的開銷將超 過數(shù)據(jù)存儲群集中I/O負載平衡的提高。獨立遷移建議獨立遷移建議由多個建議組成,且必 須按照順序執(zhí)行,總的來說,達到積極的結(jié)果(負載平衡),它完全可能是配置的部分執(zhí)行導致負面

41、的結(jié)果(糟糕的失衡),存儲DRS在負載平衡操作過程中不生 成獨立遷移建議,但是,存儲DRS可能生成多個獨立的遷移,從而導致負載平衡的積極結(jié)果,這些獨立的移動能被按照順序執(zhí)行,從而導致提供負載平衡水平,通 過分散的建議還可能導致一個提高,但小的積極結(jié)果適應于全局設(shè)置建議。注意初始化位置和遷移虛擬磁盤將基于空間可用性,存儲DRS計算能導致多個存儲vMotion行動,部分未了適應數(shù)據(jù)存儲上的虛擬磁盤,從群集碎片整理可以看出更多信息。培養(yǎng)時間在 存儲DRS首次開啟,存儲DRS遷移建議將被延遲。正如數(shù)據(jù)點部分所說的,存儲DRS在為遷移建議使用性能快照前,至少需要16小時的數(shù)據(jù),除此之外,存 儲DRS將有

42、一個“預熱”期,它決定了已連接存儲陣列的能力和活動工作負載的特性,在第一次產(chǎn)生遷移建議,這些導致了延遲,一般來說,在存儲DRS的環(huán)境 中搜集足夠多的信息之前,它很保守的產(chǎn)生負載平衡的建議。調(diào)用觸發(fā)I/O負載平衡計算每8個小時自動調(diào)用,當調(diào)用期間內(nèi)發(fā)生超時,存儲DRS將計算和生成建議來移動虛擬機,每個建議在下一次存儲DRS調(diào)用之前不會失效;如果不平衡的情況仍未解決,存儲DRS可能再次生成同樣的建議。調(diào)用期間能通過用戶接口改變設(shè)置,范圍在60分鐘到43200分鐘(30天)之間,如果調(diào)用周期設(shè)置為0,期間負載平衡功能被關(guān)閉。改變默認值使令人沮喪的,不那么頻繁間隔可能減少存儲遷移的次數(shù),從而降低負載,

43、但可能導致長時間的數(shù)據(jù)存儲群集不平衡,短的間隔將產(chǎn)生額外的負載,提供額外的好處較少。除了周期計劃記錄了配置調(diào)用的頻繁度,當檢測到改變,存儲DRS不平衡的計算還是執(zhí)行:· 數(shù)據(jù)存儲群集配置升級· 數(shù)據(jù)存儲進入維護模式· 在初始化位置期間(無負載平衡)· 數(shù)據(jù)存儲被遷移到數(shù)據(jù)存儲群集· 當運行存儲DRS被調(diào)用群集配置改變:如果閾值或者調(diào)用周期被改變,存儲DRS觸發(fā)新的不平衡計算數(shù)據(jù)存儲維護模式:當觸發(fā)維護模式,存儲DRS影響vCenter APIs 去檢索清單中注冊的虛擬機,存儲DRS生成遷移建議,通過自動化級別,它調(diào)用清單,直

44、接通過vCenter為用戶執(zhí)行或者顯示。注意如果有一些錯誤,通過數(shù)據(jù)存儲進入維護模式而產(chǎn)生,手工覆蓋生效,在這種情況下,用戶必須取消請求來進入維護模式或者批準建議和手工同意錯誤。因 為存儲DRS退休信息是通過vCenter的API,使用vCenter的API來移動虛擬機的文件,它將只為已在vCenter上注冊的虛擬機生成遷移 建議,孤立的虛擬機或者其它未關(guān)聯(lián)的文件不會被遷移,當執(zhí)行遷移建議,vCenter只考慮目標數(shù)據(jù)存儲群集上保留的數(shù)據(jù)存儲,數(shù)據(jù)存儲群集以外的數(shù)據(jù)存 儲,不會作為合適的和兼容的目的地址被考慮。初始化位置:初始化虛擬機或者虛擬磁盤的位置將處罰存儲DRS不平衡的計算,當以下情況時

45、:· 虛擬機被創(chuàng)建· 虛擬機被克隆· 虛擬機添加虛擬磁盤· 虛擬機或者虛擬磁盤被遷移到數(shù)據(jù)存儲群集超過閾值:當主機報告數(shù)據(jù)存儲的利用率低于用戶設(shè)置的閾值,或者當精簡置備發(fā)布后的空間不足的警報被觸發(fā),存儲DRS將按照計劃運行調(diào)用。調(diào)用凍結(jié)區(qū)域每一個ESXi主機定期將數(shù)據(jù)存儲的空間利用率狀態(tài)報告給vCenter,vCenter將利用率的狀態(tài)與失衡的閾值進行比較,如果利用率超過閾值,計劃安排存儲DRS調(diào)用。因 為ESXi主機報告的時間不統(tǒng)一,vCenter可能保存收到的利用率狀態(tài),同時虛擬機被遷移來解決空間利用率沖突,為了盡可能的計算存儲DRS安排來自 于vC

46、enter關(guān)于空間閾值事件的請求,一個調(diào)用“凍結(jié)區(qū)域”的概念在這里介紹,在每次存儲DRS調(diào)用之后,存儲DRS在10分鐘之內(nèi)不能再次執(zhí)行計 劃。將來存儲DRS調(diào)用這些建議的次數(shù);最佳實踐將盡可能快的的應用這樣的建議。建議計算存儲DRS執(zhí)行了多個計算,進而生成遷移建議,存儲DRS決定數(shù)據(jù)存儲群集的失衡和選擇合適的虛擬機遷移來解決失衡,它監(jiān)控空間負載和I/O性能,從而生成遷移建議,在生成建議之前,存儲DRS先檢查沖突條件。沖突條件調(diào)整沖突條件通過決定是否存儲DRS必須建議強制存儲vMotion:· 調(diào)整VMDK-VMDK非關(guān)聯(lián)沖突規(guī)則· 調(diào)整VMDK-VMDK關(guān)聯(lián)沖突規(guī)則

47、3; 調(diào)整VM-VM非關(guān)聯(lián)沖突規(guī)則如果沒有發(fā)現(xiàn)合適的移動來修復沖突,存儲DRS將顯示原因,為什么不能從錯誤信息中修復沖突。第三章 存儲I/O控制(SIOC)當數(shù)據(jù)存儲群集被建立,I/O度量值開啟,通過存儲DRS,存儲I/O控制也同時開啟。我們覺得用一章來說明存儲I/O控制非常合適,最重要的是,存儲DRS利用存儲I/O控制的某些功能來決定數(shù)據(jù)存儲的能力,在我們了解這些之前,讓我們先討論些基礎(chǔ)知識。介紹存 儲I/O控制(SIOC)在資源爭用期間,提供一個方法來公平的分配存儲I/O資源,它啟用后,管理員在高度整合的環(huán)境中來運行重要的工作流時,虛擬存儲 環(huán)境沒有自己造成拒絕服務(wù)的風險,另外,

48、它幫助阻止其它的情況下的干擾(同一個數(shù)據(jù)存儲上的一臺虛擬機能對另一臺虛擬機造成負面的影響),SIOC利用虛 擬機份額來達到公平分配存儲資源,在SIOC發(fā)布之前,虛擬磁盤的份額被介紹的比較長,但是,SIOC介紹Datastore-Wide計劃,主要的不同 是在每個主機級別沒有SIOC計劃,盡管為SIOC計算相當復雜,開啟和配置SIOC是不行的(圖109),SIOC只需要幾步就可以啟用,當存儲DRS 使用I/O度量值選項,它將自動啟用,在我們舉例子之前,我們想確認每個人理解了一些關(guān)于此塊的基本概念,以及沒有SIOC會造成的影響。圖109:開啟存儲I/O控制 內(nèi)部排隊當和許多我們的客戶討論

49、SIOC,我們注意到有一些基本的概念混淆,關(guān)于怎樣實際確認資源在所以的虛擬機和主機間被公平的分配,這個例子就包括它,但是原理可能沒有那么明顯,所以我們叫它一個特別的稱呼:排隊節(jié)流在我們解釋怎么排隊節(jié)流工作之前,我們想簡單的解釋下不同的隊列,當客戶端系統(tǒng)初始化I/O,這是為了工作流和隊列能相遇:· 客戶設(shè)備驅(qū)動隊列深度(LSI=32,PVSCSI=64)· VHBA(hard code 限制LSI=128,PVSVSI=255)· Vmkernel設(shè)備驅(qū)動(FC=32,ISCSI=128,NFS=256,本地磁盤=256)· 多路徑SA

50、N/陣列隊列(包括端口緩沖區(qū),端口隊列,磁盤隊列等)這些值得注意的Disk.SchedNumReqOutstanding (DSNRO)沒有提到,正常來說它在Vmkernel設(shè)備驅(qū)動后直接提到,但是,當SIOC開啟,DSNRO就不再經(jīng)常使用,自從SIOC保證了一定程度的公平。考 慮到你設(shè)置你為你的HBA設(shè)置了64的隊列深度,虛擬機在數(shù)據(jù)存儲上產(chǎn)生I/O,如果它只是數(shù)據(jù)存儲上的單個虛擬機,增加到64的 I/O將立即結(jié)束設(shè)備 驅(qū)動,但是,在大多數(shù)的環(huán)境中,LUNs被很多虛擬機共享,在大多數(shù)的場景中,這些虛擬機應該被平等對待,當同一數(shù)據(jù)存儲上兩個或者更多的虛擬機產(chǎn)生 I/O,DS

51、NRO將踢出它,但是,當Vmkernel檢測到只有一個節(jié)流隊列,計數(shù)器的閾值就達到了,計數(shù)器的名字叫做 Disk.SchedQControlVMSwitched,默認設(shè)置為6,這意味著當手工I/O節(jié)流隊列低于 Disk.SchedNumReqOutstanding的值(默認是32)之前,Vmkernel需要檢測6個虛擬機的交換機,(虛擬機交換機意味著需 要檢測6次,當前I/O不能來自之前虛擬機的同樣I/O)節(jié)流發(fā)生的原因是因為驅(qū)動已經(jīng)產(chǎn)生I/O,Vmkernel不能控制順序,只能想 象你有VM-A產(chǎn)生了一些I/O,另一個VM-B剛剛也產(chǎn)生了I/O,VM-A將結(jié)束全天運行的大多數(shù)全深度隊列,每次

52、VM-B產(chǎn)生I/O,它將通過 Vmkernel 調(diào)度器快速撿起(這是個不同的知識點),并盡快發(fā)送另外一個完成的給驅(qū)動,但是它不必要在VM-A 64的I/O的隊列之后,因為它已 經(jīng)在隊列中,這些通過VM-B將明顯的添加到I/O延遲經(jīng)歷中,這是不可取的,通過限制未完成的請求,我們允許Vmkernel快速安排VM-B的I/O 到VM-A的I/O流中,盡管為VM-B減少了延遲。現(xiàn)在,帶來第二部分的聲明:我們是否應該設(shè)置 Disk.SchedNumReqOutstanding的值和你們的隊列深度一樣么?OK,在這種情況中,你想你們的I/O過程盡可能快速,沒有任何公 平。但是,如果你在

53、單個數(shù)據(jù)存儲上有最小的工作負載,不想僅僅因為單個的虛擬機產(chǎn)生了過多的I/O,而招致你不想要的虛擬機過多延遲。真的是這樣嗎?不,不完全是,有一些問題依然不能解答:· Disk.SchedNumReqOutstanding的場景中連續(xù)I/O會怎樣?· VMkernel如何知道什么時候停止使用Disk.SchedNumReqOutstanding?讓 我們先處理連續(xù)I/O的問題,默認情況下,VMkernel在隊列中的虛擬機上產(chǎn)生8個連續(xù)的命令(由Disk.SchedQuantum控制),當它正 常的從其它虛擬機上調(diào)用I/O看起來很公平,這樣做是為了保護虛擬機工作負載的連續(xù)狀態(tài),I

54、/O發(fā)生的扇區(qū)鄰近之前被調(diào)用的I/O,它的順序比I/O扇區(qū) 快,10X是不經(jīng)常的,當包括緩存影響或者當緩存對比磁盤尺寸太小。但是,連續(xù)需要考慮哪些呢?如果下一次I/O比當前少于2000扇區(qū),I/O考慮連 續(xù),這個距離在高級參數(shù)Disk.SectorMaxDiff中進行控制?,F(xiàn)在,如果其中一臺虛擬機變成空閑狀態(tài),你將非常期望你的活動虛 擬機去再次使用全隊列深度,這是Disk.SchedQControlSeqReqs的作用。默認情況 下,Disk.SchedQControlSeqReqs被設(shè)置為128,意味著當一臺虛擬機已經(jīng)產(chǎn)生了128條命令且沒有任何交 換,Disk.SchedQControlV

55、MSwitches將再次將它重置為0,活動虛擬機能再次使用64的全隊列深度。通過之前的例子,想法是這樣 的,如果VM-B產(chǎn)生了非常少的I/O(每128從其它虛擬機中少于1),此時我們將讓VM-B付出高處罰的延遲,推測起來,它不是任何形式的磁盤綁定。在我們繼續(xù)之前,讓我們確信清楚了這些混淆的概念,當SIOC開啟,DSNRO將不適用,SIOC適用公平,它基于發(fā)生延遲而不是VM交換數(shù)量,換句話說,如果延遲閾值沒有被超過,SIOC不會節(jié)流隊列。當SIOC啟用,它將請求每設(shè)備最大的設(shè)備隊列深度,并設(shè)置它們?yōu)樽畲?,SIOC試圖設(shè)置隊列深度到256。在大多數(shù)的場景中,盡管它是設(shè)置成32,原因是大多數(shù)的維護人

56、員使用了該默認值。這給我們帶來一些設(shè)計原則。基本設(shè)計原則一旦SIOC在爭用期間負責公平申請,確保你的陣列的可用性和咨詢你的存儲供應商,并在合適的事情請他們支持,設(shè)置隊列深度最小為64如果延遲閾值超過了(這個狀態(tài)每4秒計算一次),SIOC基于他們的在陣列級別上I/O slot配額,動態(tài)節(jié)流主機的隊列,注意當我們談到延遲(等待時間),SIOC考慮設(shè)備延遲,設(shè)備延遲是從所有主機連接的數(shù)據(jù)存儲上觀測的平均延遲。SIOC怎樣確定每個虛擬機和最終每個主機的配額,PAPDA白皮書(討論SIOC研發(fā)的學術(shù)文章)描述如下:引用資 源分配通過份額值被指定,它是標記虛擬機消耗的I/O資源,一個虛擬機有權(quán)去

57、消耗分配的存儲陣列資源,它指定關(guān)聯(lián)I/O請求對比其他虛擬機的重要性,I /O共享與主機的是一種簡單的關(guān)系,每個虛擬機共享的全部數(shù)量統(tǒng)計為所有的虛擬機,合適的份額公平的被定義,提供存儲陣列服務(wù)給適合他們份額的主機。問題是,怎樣讓每個主機知道延遲被其它主機觀察到?通信原理SIOC 是用的原理類似于HA:數(shù)據(jù)存儲上的一個共享文件夾,這個共享文件,iormstats.sf(圖 110),通過多個主機同步能夠進入,每個主機定期的 為數(shù)據(jù)存儲上的文件,寫入它的平均延遲和I/O數(shù)量,這些開啟了所有主機讀取該文件,計算數(shù)據(jù)存儲的平均延遲,它改變?yōu)槊總€主機基于I/O slot配 額,而是允許

58、計算隊列深度。圖110:通信原理我們意識到這聽起來十分復雜,所有我們嘗試邏輯化,SIOC怎樣工作在下面的部分中我們分場景進行描述。本地磁盤調(diào)度本 地磁盤調(diào)度,一些時候被當做SFQ(start-time fair queuing),它是負責一些事情,但是,正如它的名字所透露的,所有關(guān)聯(lián)的主機 的調(diào)度,除此之外標記每個虛擬機在資源爭用時間公平的共享I/O資源,當IOPS限制被定義,本地磁盤調(diào)度還負責限制虛擬機。本地磁盤調(diào)度 影響主機級別的優(yōu)先級,針對同一個ESXi主機所有運行的虛擬機,通過本身,當一定數(shù)量的虛擬機需要比其它虛擬機高一些優(yōu)先級,它有比較大的價值,但它同 時也威脅到

59、虛擬機的平等,當3個虛擬機擁有平等的份額,接下來的圖表描述了這個場景,但VM1和VM2收到較少的帶寬,因為它們運行不同的主機上。圖111:本地磁盤調(diào)度Datastore-Wide磁盤調(diào)度Datastore-wide磁盤調(diào)度有點類似于本地磁盤調(diào)度,它將虛擬機的調(diào)度優(yōu)先于其它依靠自身磁盤的調(diào)度,它通過計算I/O slot 權(quán)限,但只當配置的延遲閾值被超過時。一個例子將可能描述它是怎樣工作的,接下來的圖片(圖112)描述了延遲閾值被超過,主機被節(jié)流的場景。圖112:Datastore-wide 磁盤調(diào)度Datastore- Wide磁盤調(diào)度為數(shù)據(jù)存儲上虛擬機的每個VMDK文件統(tǒng)計磁盤份額,在ESXi-01的情況中,它是2000,在ESXi-02的情況中是1000,接 下來,datastore-wide磁盤調(diào)度將基于主機級別的共享計算I/O slot配置,它將節(jié)流隊列。在這個例子中,每一個虛擬機被分配了33%的 存儲資源,如果你同圖111的場景進行比較,你能理解為什么建議在所有的數(shù)據(jù)存儲上開啟SIOC,即使不需要提高優(yōu)先級?;驹O(shè)計原則即使虛擬機不需要比其它虛擬機更高的優(yōu)先級,開啟存儲I/O控制是有利的,它能幫助阻止自身造成的拒絕服務(wù)攻擊。另外一個例子所 有的虛擬機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論