vSAN課程筆記第一部分-概念
最後更新: 2019-11-14 11:53 pm
概念
介紹
此為Clear and Simple VMware vSAN 6.7(vSAN)的課程筆記(原始教學網站www.trainertests.com)
VMware vSAN 是軟體的分散式層,該軟體做為 ESXi Hypervisor 的一部分以原生方式執行。vSAN 可彙總主機叢集的本機或直接連結的容量裝置,並建立在 vSAN 叢集的所有主機之間共用的單一儲存區集區。
雖然 vSAN 支援 HA、vMotion 和 DRS 等需要共用儲存區的 VMware 功能,但無需外部共用儲存區,並且簡化了儲存區組態和虛擬機器佈建活動。


vSAN基礎架構
- vSAN只能在ESXi 主機的叢集中被啟用
- 需要用一個VMkernel port在每個ESXi主機中並標記為vSAN流量
- 虛擬機的物件會被條帶化(Stripe)和複寫(Mirror)在所有的主機上
- 讀的快取和寫的緩存是被用來增進效能

讀
在混合(Hybrid)和全閃存(All Flash)配置中,vSAN會檢查所請求的塊在緩存層中是否仍然很熱。如果是這樣,這稱為緩存命中(Cache Hit)。對於混合和全閃存,vSAN以不同方式處理緩存未命中。如上所述,在混合配置中,如果存在塊,則從讀取高速緩存服務讀取(從SSD讀取),如果讀取遺失發生,vSAN將從容量層檢索數據並將其提供給請求應用程序。vSAN還具有預讀緩存優化,其中正在讀取的數據塊周圍的1 MB數據也被帶入緩存。這裡的假設是下次讀取可能是最後一次讀取的本地讀取,也將被緩存。
在全閃存配置中,沒有讀緩存。如果請求的塊在寫緩衝區中,則將從那裡提供請求。如果不是,vSAN將從容量層讀取數據。由於容量層是全閃存,因此影響很小。通過不在全閃存配置上實現讀緩存,緩存層可以處理更多寫入,從而提高整體性能。
寫
在混合和全閃存配置中,寫高速緩存充當回寫緩衝區。當應用程序發出寫入操作時,將根據存儲策略(即容錯,條帶,RAID等)將寫入發送到適當的ESXi主機緩存。
在混合配置中,30%的緩存層專用於寫入緩衝。緩衝區中的寫入被確認回VM,而不必首先移動到容量層。
在全閃存配置中,100%的緩存設備專用於寫入緩衝(最多600 GB)。 vSAN仍然利用整個磁盤,無論大小如何,都會將寫入擴展到設備上的每個塊。這減少了Flash裝置上的Cell的磨損,並延長了壽命。

Disk Group
一組硬碟(含Cache Device和Capacity Device)組成磁碟組
- 在vSAN 6.7每台主機最多可以有5個Disk Group
- Disk Group可以包含1個閃存裝置和1-7個容量裝置
- 所有的Disk Group結合起來提供裸儲存給vSAN datastore
增進效能
- Design 1: 1 Disk Group 有 1 個緩存裝置和 6 個容量裝置
- Design 2: 2 Disk Groups 有 2 個緩存裝置和 6 個容量裝置
建議的基準比率為10%,假如我有一個1TB的硬碟,則需要100GB的SSD緩存,增加此比率可以有更好的效能

VSAN和傳統的儲存陣列
- 虛擬機透過虛擬的SCSI控制器存取儲存
- 通常透過網路連結儲存和ESXi主機
- 共享儲存是必須的因為一些功能像是HA、FT和DRS
- vSAN創建共享儲存使用本地的儲存不是儲存陣列

vSAN 基礎
資源
https://www.vmware.com/products/vsan.html
比較重要的有
- vSAN DataSheet有簡介
- Licensing and Packaging Guide
混合 vs. 全閃存
Hybrid的選擇
- 比較便宜並提供較大的容量
- 負載有一致的資料比較理想
- 像是VDI的環境用Link Cloned和Instant Cloned,因為會大量的讀取SSD部分
全閃存
- 在全閃存的環境下,較快的SSD會整顆來做寫緩存,其他的來做容量SSD,架構不變
- 所以寫緩存的SSD必須要能耐久且能處理大量同時的請求
全閃存的選擇
- 更好的效能用在所有的使用情形
- 現在Flash的價格一直往下
- RAID 5/6的支援
- DE-duplication 和 Compression
儲存政策(Storage Policy)
vSAN VM 物件
- VM Home Namespace:有vmx 檔和log檔及其他元數據檔案紀錄每台虛擬機存放的地方
- VM Swap File:使用虛擬機器可執行檔 (VMX) 分頁檔,主機可大幅減少為 VMX 程序保留的額外負荷記憶體數量
- VMDK:虛擬機的硬碟
- Snapshot Delta VMDKs:當虛擬機拍攝快照時產生的檔案
儲存區原則規則
容許的主要層級故障 (PFTT)
Primary level of failures to tolerate定義虛擬機器物件可容許的主機和裝置故障次數。如果使用 RAID 5 或 RAID 6,在容許 n 次故障後,寫入的每筆資料都會儲存在 n+1 個位置 (包含同位檢查複本)。佈建虛擬機器時,如果不選取儲存區原則,vSAN 會將此原則指派為預設虛擬機器儲存區原則。如果已設定容錯網域,則需要 2n+1 個具有提供容量之主機的容錯網域。不屬於容錯網域的主機將被視為其自身的單一主機容錯網域。預設值為 1。最大值為 3。
故障容許方法
指定針對效能還是容量最佳化資料複寫方法。如果選取 RAID-1 (鏡像) – 效能,vSAN 會使用較多磁碟空間來放置物件的元件,但能提升存取物件的效能。如果選取 RAID-5/6 (糾刪碼) – 容量,則 vSAN 會使用較少磁碟空間,但效能會降低。您可套用 RAID-5/6 (糾刪編碼) – 容量屬性至具備四個或更多容錯網域的叢集,並將容許的主要層級故障數設為 1,藉以使用 RAID 5。您可套用 RAID-5/6 (糾刪編碼) – 容量屬性至具備六個或更多容錯網域的叢集,並將容許的主要層級故障數設為 2,藉以使用 RAID 6。
RAID1,PFTT=1

- 最少要有三台ESXi主機(1W;2Replica)
- W表示Witness,仲裁有投票功能,當網路斷掉,主機故障等等發生時(假設ESXi01故障),還有1份資料,W有1票,ESXi02上的VM1.vmdk也有1票,共2票,確保系統能繼續運作
- 每個資料的複寫稱為replica
RAID1, PFTT=2

- 最少要有5台ESXi主機(2W;3Replica)
- 當網路斷掉,主機故障等等發生時(任2台主機),最少還有1分資料,其他主機放資料的和W加起來共3票,確保系統能繼續運作
RAID1, PFTT=3

- 最少要有7台ESXi主機(3W;4Replica)
- 當網路斷掉,主機故障等等發生時(任3台主機),最少還有1分資料,其他主機放資料的和W加起來共4票,確保系統能繼續運作
RAID5, PFTT=1

- 工作的機制不同,使用糾刪碼
- 最少必須4節點
- 必須跑在全閃存
RAID6, PFTT=2

- 工作的機制不同,使用糾刪碼
- 最少必須6節點
- 必須跑在全閃存
儲存政策Storage Policy
- 一組規則,用於控制對象的存儲方式
- 並不只適用於vSAN,也適用於一般的vSphere
強制佈建Force provisioning
如果此選項設為是,則即使資料存放區無法滿足儲存區原則中指定的容許的主要層級故障數、每個物件的磁碟等量區數目以及 Flash Read Cache 保留區原則,也仍會佈建物件。此參數可在啟動載入時,以及在出現故障無法再進行標準佈建時使用。
預設值對於大多數生產環境是可接受的。如果不符合原則需求,vSAN 將無法佈建虛擬機器,但可成功建立使用者定義的儲存區原則。
每個物件的磁碟等量區數目Number of disk stripes per object
PFTT=1, Stripe Width=2

要等量處理虛擬機器物件之每個複本的最少容量裝置數目。如果值大於 1,則可能會提高效能,但也會導致使用更多的系統資源。
預設值為 1。上限值為 12。
請勿變更預設的等量區值。
在混合環境中,磁碟等量區分散在各個磁碟上。對於全快閃組態,等量區將分散在構成容量層的各個 Flash 裝置上。確保 vSAN 環境中存在足夠的容量裝置以容納申請。
Flash Read Cache 保留區

保留為虛擬機器物件之讀取快取的 Flash 容量。指定為虛擬機器磁碟 (vmdk) 物件的邏輯大小百分比。保留的 Flash 容量無法供其他物件使用。未保留的 Flash 會在所有物件之間公平共用。僅使用此選項來解決特定的效能問題。
無須將保留區設定為獲取快取。在移動虛擬機器物件時設定讀取快取保留區可能會發生問題,因為快取保留區設定始終隨附該物件。
Flash Read Cache 保留區儲存區原則屬性僅支援混合組態。為全快閃叢集定義虛擬機器儲存區原則時,您不得使用此屬性。
預設值為 0%。上限值為 100%。
備註:依預設, vSAN 將根據需要為儲存區物件動態配置讀取快取。此功能代表最具彈性、最佳的資源利用。因此,通常無需變更此參數的預設值 0。
若要在解決效能問題時增加該值,請務必小心。在數個虛擬機器間過度佈建快取保留區,可能會導致超額保留區上的 Flash 裝置空間浪費。這些快取保留區無法在指定時間提供給需要必要空間的工作負載使用。這種空間浪費和無法使用的情形,會導致效能降低。
另外,假如如果在ESXi1啟用Flash Read Cache,但在ESXi2並無啟用,此VM將無法受到高可用保護。
物件空間保留區Object Space Reservation
在佈建虛擬機器時,必須保留或完整佈建之虛擬機器磁碟 (vmdk) 物件的邏輯大小百分比。可用選項如下:
- 0% 保留 = 精簡佈建 (預設值) ->要注意監控虛擬磁碟的使用狀態
- 25% 保留
- 50% 保留
- 75% 保留
- 100% 保留 = 完整佈建 ->會浪費掉沒有使用的空間
物件的 IOPS 限制
定義物件 (例如 VMDK) 的 IOPS 限制。IOPS 是使用加權大小計算的 I/O 作業數目。如果系統使用預設的 32 KB 基本大小,則 64-KB I/O 代表兩個 I/O 作業。
計算 IOPS 時,讀取和寫入視為相等,但不考慮快取命中率和循序性。如果磁碟的 IOPS 超出限制,就會對 I/O 作業進行節流。如果物件的 IOPS 限制設為 0,則不會強制執行 IOPS 限制。
vSAN 允許物件在開始作業的第一秒或閒置一段時間後達到 IOPS 限制的兩倍。
預設儲存政策
- PFFT = 1
- Stripe Width = 1
- Flash Read Cache Reservation = 1
- Object Space Reservation = 0
- Force Provisioning = No
容錯網域Fault Domain
vSAN 容錯網域功能指示 vSAN 將冗餘元件分散在單獨的運算機架中的伺服器之間。透過這種方式,您可以防止環境出現機架層級的故障,例如電源中斷或連線遺失。
vSAN 需要至少三個容錯網域才能支援 PFTT=1。每個容錯網域包含一或多個主機。容錯網域定義必須確認可能代表潛在故障區域的實體硬體建構,例如個別運算機架機殼。
如果可能,使用至少四個容錯網域。三個容錯網域不支援特定資料撤除模式,且 vSAN 無法在故障後重新保護資料。在此案例中,您需要一個具有容量的額外容錯網域用於重建,您無法隨三個容錯網域一起提供此容錯網域。
如果啟用容錯網域,vSAN 會將作用中虛擬機器儲存區原則套用至容錯網域而非個別主機。
1 |
公式:number of fault domains = 2 * PFTT + 1 |
根據數個主機故障使用容錯網域
考量一個叢集包含四個伺服器機架,每個機架具有兩台主機。如果將容許的主要層級故障數設為 1,且容錯網域未啟用,vSAN 可能會將包含主機之物件的兩個複本儲存在同一機架機殼中。透過這種方式,應用程式可能會在機架層級故障中暴露出潛在資料遺失。設定單獨容錯網域中可能同時發生故障的主機時,vSAN 可確保每個保護元件 (複本和見證) 放置在某個單獨的容錯網域中。
如果新增主機和容量,您可以使用現有的容錯網域組態,或定義容錯網域。
對於使用容錯網域時的平衡儲存區負載和 Fault Tolerance,請考量以下準則:
- 提供足夠的容錯網域,以滿足儲存區原則中設定的容許的主要層級故障數。
定義至少三個容錯網域。定義至少四個網域,以提供最好的保護。
- 為每個容錯網域指派相同數量的主機。
- 使用擁有統一組態的主機。
- 如果可能,專門用一個具有可用容量的容錯網域在故障後重建資料。