2019-10-23
存儲虛擬化是一種對物理存儲資源進行抽象的技術(shù),使其看起來像是一個集中的資源。虛擬化掩蓋了管理內(nèi)存、網(wǎng)絡(luò)、服務(wù)器和存儲中資源的復雜性。
存儲虛擬化運行在多個存儲設(shè)備上,使它們看起來就像一個單一的存儲池。這些池化的存儲設(shè)備可以來自不同的供應(yīng)商和網(wǎng)絡(luò)。存儲虛擬化引擎可識別來自多個陣列和存儲媒介的可用存儲容量,對其進行聚合、管理并將其呈現(xiàn)給應(yīng)用程序。
虛擬化軟件的工作原理是將存儲系統(tǒng)的I/O請求攔截到服務(wù)器。引擎將物理請求映射到虛擬存儲池,并從物理位置訪問請求的數(shù)據(jù),而不是由CPU處理請求以及將數(shù)據(jù)返回到存儲器。一旦計算機進程完成,虛擬化引擎將I/O從CPU發(fā)送到它的物理地址,并更新其虛擬映射。
該引擎將存儲管理集中到一個基于瀏覽器的控制臺,該控制臺允許存儲管理員將多個不同供應(yīng)商的陣列作為單個存儲系統(tǒng)進行有效管理。
存儲虛擬化的剖析
存儲虛擬化可以出現(xiàn)在各種不同的場景中
數(shù)據(jù)級別:塊或文件
基于塊
基于塊的存儲虛擬化是最常見的存儲虛擬化類型。它將存儲系統(tǒng)的邏輯存儲從其物理組件中抽象出來。物理組件包括內(nèi)存塊和存儲媒介,而邏輯組件包括驅(qū)動器分區(qū)。
存儲虛擬化引擎在可以多個陣列和單個媒介上發(fā)現(xiàn)所有可用塊,而不考慮存儲系統(tǒng)的物理位置、邏輯分區(qū)或制造商。引擎將數(shù)據(jù)留在物理位置,并將地址映射到虛擬存儲池。這使引擎能夠?qū)⒍鄠€供應(yīng)商的存儲系統(tǒng)的容量呈現(xiàn)給服務(wù)器,就好像整個存儲系統(tǒng)是單個陣列。
文件級別
文件級的虛擬化工作在NAS設(shè)備上,以此對獨立的NAS設(shè)備進行池化和管理。雖然管理單個NAS并不特別困難,但是管理多個設(shè)備既耗時又昂貴。NAS設(shè)備在物理上和邏輯上相互獨立,這需要單獨的管理、優(yōu)化和供應(yīng)。這增加了復雜性,并要求用戶知道訪問文件的物理路徑名。
使用多個NAS設(shè)備最耗時的操作之一是在它們之間遷移數(shù)據(jù)。當組織的規(guī)模超過了之前的NAS設(shè)備時,它們通常會購買一個新的、更大的設(shè)備,這往往需要從接近容量閾值的舊設(shè)備中遷移數(shù)據(jù)。反過來又需要大量停機時間來配置新設(shè)備、從遺留設(shè)備遷移數(shù)據(jù),以及在啟用之前測試遷移的數(shù)據(jù)。但是停機時間會影響用戶和項目,而且數(shù)據(jù)遷移的停機時間延長也會在財務(wù)上為企業(yè)帶來不良影響。
文件級存儲虛擬化掩蓋了管理多個NAS設(shè)備的復雜性,并使管理員能夠共享存儲資源,而不是將它們限制在特定的應(yīng)用程序或工作組中。虛擬化NAS設(shè)備也使數(shù)據(jù)遷移過程中不需要停機。虛擬化引擎維護正確的物理地址,并將更改的地址重新映射到虛擬池。用戶可以從舊設(shè)備訪問文件并保存到新設(shè)備,而無需知道發(fā)生了遷移。
組件:主機,網(wǎng)絡(luò)與陣列
虛擬化引擎可能位于不同的計算組件中,最常見的三種是主機、網(wǎng)絡(luò)和數(shù)組,服務(wù)于不同的存儲虛擬化用例。
基于主機
主要用例:
為VM環(huán)境和在線應(yīng)用程序提供虛擬化存儲。
有些服務(wù)器提供操作系統(tǒng)級的虛擬化。操作系統(tǒng)的存儲虛擬化可用以優(yōu)化容量和自動化分層存儲計劃。
更常見的基于主機的存儲虛擬化池存儲在虛擬環(huán)境中,并將池呈現(xiàn)給客戶操作系統(tǒng)。一種常見的實現(xiàn)方法是用動態(tài)擴展的VM充當存儲池。由于VM希望看到硬盤驅(qū)動器,所以虛擬化引擎將底層存儲作為硬盤驅(qū)動器呈現(xiàn)給VM。實際上,“硬盤驅(qū)動器”是由基于磁盤和陣列的存儲資產(chǎn)創(chuàng)建的邏輯存儲池。
這種虛擬化方法在云存儲和超融合存儲中最常見,單個主機或超融合系統(tǒng)將可用的存儲池存儲到虛擬驅(qū)動器中,并將這些驅(qū)動器呈現(xiàn)給客戶機。
基于網(wǎng)絡(luò)
主要用例:
SAN存儲虛擬化
基于網(wǎng)絡(luò)的存儲虛擬化是SAN存儲最常見的一種類型,組織一般會使用它來添加更多的存儲。存儲虛擬化從服務(wù)器或交換機上,跨光纖通道或iSCSI網(wǎng)絡(luò)運行。
基于網(wǎng)絡(luò)的設(shè)備抽象了跨存儲網(wǎng)絡(luò)運行的存儲I/O,并且可以跨所有連接的存儲設(shè)備復制數(shù)據(jù)。它還使用針對所有池化存儲的單一管理接口簡化了SAN管理。
基于陣列
主要用例:
存儲分層
基于陣列的存儲虛擬化并不新鮮。某些RAID級別本質(zhì)上就是虛擬化的,因為它們將存儲從多個物理磁盤抽象為一個邏輯數(shù)組。
如今,基于陣列的虛擬化通常指的是一種專門的存儲控制器,它攔截來自二級存儲控制器的I/O請求,并在連接的存儲系統(tǒng)中自動對數(shù)據(jù)進行分層。該設(shè)備允許管理員將媒體分配給不同的存儲層,通常是將SSD分配給高性能層,將HDD分配給近線或二級存儲層。虛擬化還允許管理員在同一存儲層中采用混合介質(zhì)。
這種虛擬化方法比基于主機或網(wǎng)絡(luò)的虛擬化更加有限,因為虛擬化只發(fā)生在連接的控制器上。二級控制器需要與虛擬化存儲控制器相同的帶寬,而這會影響性能。
但是,如果企業(yè)在高級混合陣列上投入了大量資金,那么陣列的存儲智能可能會超過存儲虛擬化所能提供的能力。在這種情況下,基于陣列的虛擬化允許企業(yè)保留陣列的本機功能,并添加虛擬化層以提高效率。
帶(Band):帶內(nèi)帶外
帶內(nèi)
當虛擬化引擎在主機和存儲之間進行操作時,就會發(fā)生帶內(nèi)存儲虛擬化。I/O請求和數(shù)據(jù)都通過虛擬化層,這允許引擎提供高級功能,如數(shù)據(jù)緩存、復制和數(shù)據(jù)遷移。
帶內(nèi)占用更少的主機服務(wù)器資源,因為它不需要查找和附加多個存儲設(shè)備。服務(wù)器只在其數(shù)據(jù)路徑中看到虛擬池存儲。但是,池增長得越大,它對數(shù)據(jù)路徑吞吐量產(chǎn)生影響的風險就越大。
帶外
帶外存儲虛擬化將路徑分為控制(元數(shù)據(jù))和數(shù)據(jù)路徑。只有控制路徑通過虛擬化設(shè)備運行,它攔截來自主機的I/O請求,查找并映射物理內(nèi)存位置上的元數(shù)據(jù),并向存儲器發(fā)出更新的I/O請求。數(shù)據(jù)不通過設(shè)備,這使得緩存不可能實現(xiàn)。
帶外虛擬化在各個服務(wù)器上安裝代理,將它們的存儲I/O定向到虛擬化設(shè)備。盡管這在一定程度上增加了單個服務(wù)器的負載,但帶外虛擬化不會像帶內(nèi)虛擬化那樣造成數(shù)據(jù)瓶頸。不過,最佳的實踐辦法是通過添加額外的冗余帶外設(shè)備來避免虛擬化中斷。
存儲虛擬化的優(yōu)勢
1、支持動態(tài)存儲使用以及附加存儲資源(包括塊和文件)的虛擬可伸縮性。
2、避免在數(shù)據(jù)遷移期間停機。虛擬化在后臺操作,可維護數(shù)據(jù)的邏輯地址以保留訪問權(quán)限。
3、集中一個管理臺來管理多個供應(yīng)商的存儲設(shè)備,節(jié)省了管理開銷和成本。
4、通過將可用存儲擴展到主機或SAN來保護現(xiàn)有的投資。
5、可以在多供應(yīng)商環(huán)境中添加存儲智能,如分層、緩存、復制和集中管理接口。
文章信息:
作者:謝濤
來源:ITPUB
原文鏈接:http://www.itpub.net/2019/10/09/3350/
本文僅供分享學習,不做商業(yè)用途!
聲明:版權(quán)歸作者所有。
如有侵權(quán)請通知刪除,謝謝!