VMware於2014年發表了vSAN,在當時HDD仍然是主流,SSD雖然速度快但是成本高昂。為了達到速度快並且節省成本的目的,vSAN cluster採用了雙層儲存架構,如下圖所示:
磁碟群組的入口是SSD,SSD只存放HDD的Cache資料,其中70%的容量用作Read Cache,30%的容量用作Write Cache。每個磁碟群組最多可以放7個HDD device,每個Host最多支持5個磁碟群組,所以一個Host最多可以有49個容量磁碟。
當然,我們也可以在維持相同的雙層儲存架構下,把所有HDD替換成SSD,也就是All Flash,全閃存模式。啟用了全閃存模式後,vSAN Cluster可以支援更多功能,例如Compression、deduplication、RAID-5/6等等功能。
這種雙層架構的缺點是如果唯一入口SSD掛了,後面的HDD容量層都不能使用。另外,Hybrid和All Flash模式下的cache演算法和角色也不完全相同。
Hybrid模式:
- 快取演算法著重於「暫時資料」
- 外部的I/O會先寫入SSD,然後立即回傳I/O成功,再透過非同步方式把資料寫入容量層
- 快取層同時擔任「讀取快取」和「寫入緩衝」的角色
All Flash模式:
- 快取演算法著重於「熱資料」
- 快取層全部負責寫入緩衝,讀取快取則放在容量層
- 由於全部都是SSD,讀取速度非常快
寫入緩衝的意思是資料不會直接寫進容量層,而是會在快取層停留一段時間,這樣做的目的是維持vSAN物件的可用性。當vSAN對一個物件寫入資料時,通常會在FTT>1的情況下,對至少兩個host寫入,當寫入兩個host的SSD時,才會真正寫入容量層。
總結:
- vSAN採用雙層儲存架構,以SSD作為Cache層,HDD作為容量層
- 支援Hybrid和All Flash模式,兩種模式下cache演算法不同
- SSD掛了會影響HDD容量層的使用
- All Flash模式下支援更多進階功能