在2012年芝加哥存儲決策會議(Storage Decisions Chicago)上,Demartek LLC公司的創始人和總裁Dennis Martin作了一篇題爲"存儲網絡的變革:下一代數據中心的下一代存儲網絡"的演講,Demartek LLC公司總部位於科羅拉多州阿瓦達(Arvada, Colo.),他探討了I/O虛擬化(I/O virtualization,IOV)和實現它所需的部件,以及這項技術是如何使IT公司受益的。請觀看視頻並閱讀Martin的評論,進一步瞭解關於使用SR-IOV(Single Root IOV)和MR-IOV(Multi Root IOV)規範來實現I/O虛擬化以及這兩種規範如何用於網卡(NIC)、磁盤陣列控制器(RAID controller)和光纖通道主機總線適配器(Fibre Channel host bus adapter,FC HBA)使數據中心更有效率的問題。服務器
I/O虛擬化與服務器虛擬化並不相同,而是其補充。拿虛擬服務器來講,虛擬化是把物理設備從邏輯設備分離。虛擬機(VM)的好處是你能夠很容易把它們整合在一塊兒而不須要爲其單獨購買新硬件,這樣能夠把它們裝到另外一臺服務器上。網絡
你所作的就是用一臺硬件並把它看成多個硬件使用。它看上去像一臺服務器,但它實際上是軟件。你能夠將東西組合、分離等,這就是一般所說的虛擬化。ide
考慮一下I/O的問題。若是安裝在服務器插槽上的NIC、RAID控制器、FC HBA或者其它任何東西你均可以如此的話會怎麼樣?若是你能夠虛擬化、分離、組合或者重整的話會怎麼樣?spa
例如,你能夠進行網卡聚合(NIC teaming),這樣可使網絡鏈接看上去如同一個2個分叉、4個分叉或者任何你想設定的分叉的管子同樣。orm
咱們把這個問題再提高一個層次。這個特定的狀況稱做SR-IOV。在這幅圖裏面有一個盒子,在盒子裏面有3個虛擬機,是一款服務器虛擬機管理器(hypervisor)軟件------選擇你喜歡的廠商------以及某一款適配卡。注意,我並無說是網卡仍是HBA,而是任何一款能插入PCIe(PCI Express)總線的適配卡。視頻
要是沒有SR-IOV而你又須要這樣作,那麼VM須要將適配卡共享,那是什麼安排這種共享?是hypervisor?那hypervisor是否妨礙了這種作法?是的。所以,你想要作的就是把全部的管理工做卸載到這個適配卡上,這就是SR-IOV的概念。有了SR-IOV技術,帶SR-IOV功能的適配卡具備管理這些虛擬鏈接的智能,而hypervisor不須要進行管理,這意味着你從CPU得到幾個週期(cycle)處理其它事情,由於如今已經卸載到這個適配卡上了。所以,你能夠再在這臺機器上安裝一個VM或者安裝一個較大的應用。htm
考慮一下NIC、FC HBA、磁盤控制器和RAID控制器。考慮一下像PCIe固態硬盤(SSD)之類昂貴的東西。要是你能夠對全部客戶機(guest)共享它們而實際上你不須要hypervisor幫你作,你只經過硬件便可作到,會怎麼樣?ci
如今咱們再把這個問題提高到更高的層次並突破它。這是一幅與SR-IOV例子很是類似的圖,但與多個VM運行在一臺物理機不一樣,你有3臺物理機,每臺都運行多個VM。在這種狀況下,經過把一塊適配卡安裝在外部PCIe機箱裏,這塊適配卡能夠被3臺物理機共享。這是MR-IOV的狀況。所以,若是單臺物理機用不滿這個8個分叉的FC管子,那2臺或者3臺服務器應該能夠用滿了。get
考慮一下另一臺只有插槽在裏面的服務器------沒有CPU,只有插槽------把10個分叉的網絡適配器、16個分叉的FC HBA卡或任何東西裝進去,在服務器上裝一塊PCIe卡,再往機箱接一根線纜,而後接到外面的這塊卡上。虛擬機
如今你能夠共享這些卡。考慮一下光纖通道存儲局域網(FC SAN)。在SAN裏面,全部存儲都在外面,沒有一臺服務器有專用的存儲;你只是將它劃分紅一個池,說:「這些邏輯單元號(Logic Unit Number,LUN)歸這裏,那些邏輯單元號歸那裏。」同理,只是如今是這些卡。你並不是真的擁有FC HBA卡、10個分叉的網絡適配器或者磁盤陣列控制器。它不被服務器所擁有,但被服務器使用。