SSD既是磁盤組讀寫性能的關鍵,其質量好壞、壽命也對整個磁盤組數據安全性有重要的影響。
如果磁盤組中的某塊容量磁盤損壞,只會影響這塊磁盤所涉及的虛擬機;但如果某塊緩存磁盤損壞,則會影響到這整塊磁盤組中所有的虛擬機。在機械磁盤中,很少有機械磁盤在短時間內連續(xù)出錯,所以用作容量磁盤的機械磁盤(HDD)出錯,vSAN還有重建或恢復的時間。但如果用作緩存磁盤的SSD在短時間內連續(xù)出錯,那影響的有可能是整個架構!
閃存磁盤(SSD,或固態(tài)硬盤)有擦寫壽命,在使用相對平均的vSAN磁盤組中,同一批閃存磁盤有可能是同一時間達到其壽命從而導致閃存磁盤報廢!所以,在vSAN架構中,閃存磁盤的選擇與使用期限至關重要。
在規(guī)劃vSAN群集時,要合理地評估磁盤組數據變動量(寫入、刪除、重復數據寫入),并根據所用SSD的容量、壽命,合理評估緩存磁盤的使用壽命,在其壽命終結之前逐步、有序地用全新、更高級別、更大容量的閃存磁盤替換。
例如,在一個vSAN群集系統(tǒng)中,每塊磁盤組選擇MLC的200GB的SSD,設計(評估)SSD的使用壽命是1000天,則應該在第900~950天的時間,花費大約1周~1個月的時間,用400GB的SSD一一替換原來200GB的SSD(不要一次全部替換,正確的作法是將某臺主機置于維護模式,并撤出全部數據。當數據遷移到其他主機后,刪除該主機的磁盤組,然后從主機移除緩存磁盤,添加新的緩存磁盤,最后重新添加磁盤組,使用新的緩存磁盤和原來的容量磁盤組成新的磁盤組),等這臺主機添更新完成并運行24小時甚至更長時間無誤之后,再為下一臺主機更換緩存磁盤。
用400GB的SSD替換,原因有兩點:首先vSAN群集的數據寫入量整體應該是持續(xù)上升的,用容量增加1倍的SSD,相同P/E次數的持久性會增加;其次電子產品整體價格是下降的,900天后400GB的SSD的費用應該比現(xiàn)在200GB的SSD的費用要下降。
為vSAN選擇SSD時,有兩個重要參數:讀寫性能與P/E擦寫次數。由于SSD所選擇的芯片不同,每秒寫入次數決定了其讀寫性能,而P/E次數(閃存完全擦寫次數)決定了其使用壽命。
1.VMware兼容性指南中的閃存設備的性能分級(SSD Performance Classes)如下。

例如,對于400GB的SSD來說,要達到Class D級別,TBW大于等于7300。則總寫入次數= 7300×1000÷400=18250(次)。即其P/E次數為18250次以上,這是數據中心級SSD所能達到的次數。
如果規(guī)劃SSD使用壽命為5年,一年365天,則每天可寫入次數=18250÷5÷365=10。每天寫入次數10,對于400GB的SSD來說,允許每天寫入4000GB的數據,連續(xù)使用5年。
VMware閃存持久性定義的 A、B、C、D級別,根據SSD硬盤總寫入量來定義的。但并沒有限制硬盤容量的大小。舉例來說,Class D級的7300:
對于400GB的SSD來計算,寫入7300TB的數據其寫入次數是18250次;
對于800GB的SSD來計算,寫入7300TB的次數是9125次;
對于1200GB的SSD來計算,寫入7300TB的次數是6083.3次。
在當前的vSAN 6.x的規(guī)格中,每個磁盤組中使用的SSD緩存容量上限為600GB,但這并不影響選擇使用更大容量的緩存磁盤,例如800GB。由于P/E次數的存儲,雖然vSAN只使用600GB用作緩存,但800GB的硬盤比600GB的硬盤具有更高的TBW。
例如,對于P/E次數為10000次的相同SSD芯片來說,800GB的 SSD其持久性將達到8000TBW;而600GB的SSD其持久性則達到6000TBW。
根據VMware建議,在全閃存架構中,作為緩存層的SSD持久性應選擇Class C及其以上級別;在混合架構中,作為緩存層的SSD持久性至少要選擇Class B級別。其中VMware的建議如表1所列。

表1 VMware建議持久性級別及對應選擇
在使用閃存設備時,可監(jiān)控閃存設備的使用頻率并估算其生命周期。
在產品規(guī)劃設計時,為vSAN選擇的較高持久性的SSD。但在產品上線一段時間之后,還需要實際統(tǒng)計計算ESXi主機中用于緩存設備的SSD的實際寫入量,以及在全閃存架構中緩存SSD與容量SSD的實際寫入量,以正確的評估閃存設備的壽命。
下面通過某4節(jié)點vSAN群集為例(混合架構,每主機2個磁盤組,每個磁盤組一塊400GB的 SSD、5塊 900GB的HDD),介紹評估閃存設備生命周期的方法。
1.某單位使用4臺聯(lián)想3650 M5服務器組成標準vSAN群集,每臺服務器配置有2個E5-2620 V4、256GB內存、2塊Intel S3700 400GB SSD、10塊 900GB 10000轉 /分的2.5寸SAS磁盤、2端口萬兆網卡,如圖1所示。
2.在vSphere Web Client中導航器中選擇群集或數據中心,在右側單擊“主機”選項卡,查看并記錄每臺主機正常運行時間,如圖2所示。此時看到3臺服務器連續(xù)運行83天,一臺運行35天。

圖1 某4節(jié)點vSAN群集

圖2 計算每臺主機連續(xù)運行時間

圖3 記錄每塊閃存設備的標識符
3.記錄每臺主機閃存設備的標識符。本示例以記錄其中一臺主機為例。在導航器中選中一臺主機,在“配置→存儲設備”中,查看并記錄閃存設備的“標識符”,如圖3所示。
可以將這4臺主機每塊SSD的標識符復制、粘貼并保存到“記事本”中,例如:





4.為主機啟用SSH,使用xShell等軟件以SSH方式登錄到ESXi主機,運行 “esxcli storage core device stats get -d=device_ID” 命令。
例如,對于ESXi主機-1的第一塊SSD來說,其命令格式為:

表2 某vSAN群集中SSD寫入數據統(tǒng)計

Blocks Written后 面的數據顯示從上次重新啟動后寫入設備的塊的數量。在本示例中,該值為121329054632。每次重新引導后,該值會重置為0。
之后在該主機執(zhí)行:


然后在其他主機,分別執(zhí)行類似命令獲得該主機每塊SSD的寫入塊數并記錄下來。
5.計算每塊SSD的總寫入量。
一個塊是512字節(jié)。要計算寫入的總量,請將“寫入的塊”值乘以512,然后將得到的值轉換為GB。
在ESXi主機-1的示例中,從上次重新啟動后寫入的總量分別為62120GB、69033GB。
其計算公式為:寫入的塊 ×512÷(1000×1000×1000)。
【說明】正常情況下1GB=1024MB,1MB = 1024KB,1KB =1024B。但設備廠商是10進制,即1GB=1000MB。例如120GB的固態(tài)硬盤,實際是111.79GB。為了計算方便,在計算時以1000為例計算。這并不影響實際的計算結果。
6.估算每天平均寫入量(以GB單位),這可以用距上次重新啟動后寫入的總量除以距上次重新啟動的天數。
在本示例中,ESXi主機-1正常運行時間為83天,硬盤大小為400GB,則2塊SSD每天寫入數量約748.44GB、831.73GB。本示例中4臺主機每塊SSD寫入數據統(tǒng)計如表2所示。
7.使用以下公式估算設備的生命周期。
供應商提供的每天寫入量乘以供應商提供的生命周期除以每天實際平均寫入量。
例如,如果供應商保證在每天寫入20GB的情況下生命周期為5年,而每天實際寫入量為30GB,則閃存設備的生命周期約為3.3年。
當前選擇的Intel S3700固態(tài)硬盤,其400GB的寫入壽命約7.25PB,800GB的寫入壽命約14.5PB。其P/E次數為18125。
當前ESXi主機1配置的2塊400GB的固態(tài)硬盤,其每天的P/E次數分別為1.87、2.08。以當前選擇的P/E次數大于18125次的固態(tài)硬盤來說,當前固態(tài)硬盤的使用壽命大約是25年。當然,一個vSphere群集的設計壽命一般是5~8年左右。在生命周期內,不需要更換固態(tài)硬盤。