數據存儲產業服務平臺

如何在vSphere環境下使用iSCSI存儲(上)

說到VMware vSphere的某些高級特性,比如VMotion、fault tolerance(容錯)、high availability(高可用)以及VMware DRS(Distributed Resource Scheduler,分布式資源調度)。vSphere的專利技術–“VMFS文件系統”——具有一種特殊的鎖機制,允許多臺物理主機連接到同一個共享的存儲卷,其上的虛擬機也可以共享存儲空間。不過,從傳統的角度來說,實現共享存儲卷意味著必須使用昂貴的光纖通道網絡基礎架構, 不過現在,iSCSI和NFS網絡存儲設備已經成為了一種更經濟的選擇。 

在本文中,我們將為您介紹如何在vSphere環境中正確的安裝、配置iSCSI存儲,我們會對要點做相應的提示,并提供一些最佳實踐供您參考。此外,我們在不同的配置環境下做了性能測試,通過比較這些測試結果,能夠分析出各類配置對性能的影響。

VMware的流行促進了iSCSI的普及

第一個支持iSCSI網絡存儲的VMware版本是 ESX 3.0。它的內部集成了一個叫做initiatior(發起端)的客戶端程序,通過局域網將SCSI命令發送到存儲裝置中的Target(目標端)SCSI設備。與光纖通道技術不同,iSCSI使用傳統的網絡元件和標準的TCP/IP協議,因此它不需要特殊的線纜和交換機設備。

目前iSCSI的initiator(發起端)可以是軟件程序,也可以基于硬件。軟件initiator 通過使用內建于VMkernel的設備驅動,利用網絡適配器和以太網協議將數據寫到遠端的iSCSI Target(目標端)。因此軟件initiator 的一些重要特征是:

使用以太網卡和本地VMkernel iSCSI堆棧

對于刀片服務器,或者擴展槽有限的服務器來說是一個好的選擇

比硬件initiator便宜

CPU密集運算,因為協議的處理會增加CPU的開銷

ESX server不支持基于軟件initiator的boot(啟動)模式;ESXi可以使用iSCSI Boot Firmware Table(iBFT)。

硬件initiator則使用專用的iSCSI HBA卡,它可以幫助服務器提升性能。它包括網絡適配器、TCP/IP協議卸載引擎(TOE,TCP/IP offload engine)、以及SCSI總線控制器等組件。硬件initiator的特征包括:

I/O性能比軟件initiator好

消耗更少的ESX server主機資源,特別是CPU資源

ESX server能夠從硬件initiator啟動

對于正在使用光纖通道存儲的用戶來說,iSCSI是個不錯的替代方案,因為iSCSI不但可以降低部署成本,還可以保證良好的性能。vSphere目前已經能夠支持10Gbps以太網協議,性能大大超過1Gbps以太網技術。當然,使用iSCSI也存在一個大的風險,如果采用的是軟件initiator,難免會給CPU帶來額外的開銷,不過換成硬件initiator之后,這個問題就可以避免。使用硬件initiator還有一個好處就是可以將iSCSI數據流與其他網絡流量完全隔離,而各種數據流的混合會讓網絡環境變得脆弱且容易波動。

出于優化vSphere的目的,VMware公司將軟件iSCSI initiator的堆棧代碼完全重寫了一遍,就是為了更有效的利用CPU時鐘周期。結果,與VMware的上一個版本Infrastructure 3相比,vSphere的效率和吞吐量明顯提升。這個結果的實現主要是通過改進VMkernel的TCP/IP堆棧,優化相關緩存,以及通過提高內部鎖的效率達成的。vSphere還增加了對雙向CHAP(Challenge-Handshake Authentication Protocol)的支持,無論是initiator(發起端)還是Target(目標端)都需要經過相互的認證,這種認證機制提供了更好的安全保護。

在vSphere環境中,如何規劃iSCSI的實施

在我們計劃將iSCSI存儲用于vSphere環境之前,必須做好幾個決策。讓我們先來看看iSCSI存儲設備。

我們可以在vSphere環境中隨心所欲的使用任何類型的iSCSI存儲設備,因為主機端連接使用的是標準的網絡適配器、標準的initiator以及通用的協議。但是我們必須注意兩件事。首先,vSphere官方宣稱支持的iSCSI存儲設備僅限于某些廠商的特定型號(具體參見vSphere硬件兼容性指南),這就意味著如果我們打電話向VMware咨詢一個與存儲設備相關的問題,他有可能讓我們去撥打存儲供應商的支持電話。其次,我們需要注意的是,不同的iSCSI存儲系統性能也有較大的差異。通常,對性能要求越高,所需的成本也越高。所以,針對虛擬機環境,我們要謹慎的選擇iSCSI設備,確保它的性能能夠滿足應用程序對磁盤I/O的要求。

關于網絡,也有一些需要注意的事項。如果要優化iSCSI的性能,最好創建一個獨立的網絡環境。這是為了確保iSCSI數據流不被其他網絡流量干擾,同時對確保iSCSI的信息安全也有幫助。在虛擬機環境下,不能用100兆網卡承載iSCSI應用,那會非常的慢,甚至于完全不可用。所以,至少要用到千兆網絡環境,如果預算充足的話,推薦使用萬兆以太網。如果擔心服務器資源開銷過大,則可以考慮使用硬件initiator(TOE適配器),前提是確保我們選擇的這個TOE適配器在VMware的硬件兼容列表中。如果我們使用了一個VMware不支持的TOE適配器,vSphere會將視其為一個標準的網卡,那也就無從發揮TOE的好處了。最后,如果為了獲得最高的系統可用性而使用多路徑的話,至少要用到兩塊網卡(不能是橋接或者多端口)分別連接到兩臺物理交換機,這一點與我們在光纖通道環境中配置多路徑是一樣的。

下一篇文章 如何在vSphere環境下使用iSCSI存儲(下)

未經允許不得轉載:存儲在線-存儲專業媒體 » 如何在vSphere環境下使用iSCSI存儲(上)
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走