《KVM實戰(zhàn):原理、進階與性能調優(yōu)》一2.1.3 I/O虛擬化
2.1.3 I/O虛擬化

在虛擬化的架構下,虛擬機監(jiān)控器必須支持來自客戶機的I/O請求。通常情況下有以下4種I/O虛擬化方式。
1)設備模擬:在虛擬機監(jiān)控器中模擬一個傳統(tǒng)的I/O設備的特性,比如在QEMU中模擬一個Intel的千兆網(wǎng)卡或者一個IDE硬盤驅動器,在客戶機中就暴露為對應的硬件設備。客戶機中的I/O請求都由虛擬機監(jiān)控器捕獲并模擬執(zhí)行后返回給客戶機。
2)前后端驅動接口:在虛擬機監(jiān)控器與客戶機之間定義一種全新的適合于虛擬化環(huán)境的交互接口,比如常見的virtio協(xié)議就是在客戶機中暴露為virtio-net、virtio-blk等網(wǎng)絡和磁盤設備,在QEMU中實現(xiàn)相應的virtio后端驅動。
3)設備直接分配:將一個物理設備,如一個網(wǎng)卡或硬盤驅動器直接分配給客戶機使用,這種情況下I/O請求的鏈路中很少需要或基本不需要虛擬機監(jiān)控器的參與,所以性能很好。
4)設備共享分配:其實是設備直接分配方式的一個擴展。在這種模式下,一個(具有特定特性的)物理設備可以支持多個虛擬機功能接口,可以將虛擬功能接口獨立地分配給不同的客戶機使用。如SR-IOV就是這種方式的一個標準協(xié)議。
表2-1展示了這4種I/O虛擬化方式的優(yōu)缺點,給讀者一個概括性的認識。在這4種方式中,前兩種都是純軟件的實現(xiàn),后兩種都需要特定硬件特性的支持。
設備直接分配在Intel平臺上就是VT-d(Virtualization Technology For Directed I/O)特性,一般在系統(tǒng)BIOS中可以看到相關的參數(shù)設置。Intel VT-d為虛擬機監(jiān)控器提供了幾個重要的能力:I/O設備分配、DMA重定向、中斷重定向、中斷投遞等。圖2-5描述了在VT-d硬件特性的幫助下實現(xiàn)的設備直接分配的架構,并與最傳統(tǒng)的、通過軟件模擬設備的I/O設備虛擬化進行了對比。
盡管VT-d特性支持的設備直接分配方式性能可以接近物理設備在非虛擬化環(huán)境中的性能極限,但是它有一個缺點:單個設備只能分配給一個客戶機,而在虛擬化環(huán)境下一個宿主機上往往運行著多個客戶機,很難保證每個客戶機都能得到一個直接分配的設備。為了克服這個缺點,設備共享分配硬件技術就應運而生,其中SR-IOV(Single Root I/O Virtualization and Sharing)就是這樣的一個標準。實現(xiàn)了SR-IOV規(guī)范的設備,有一個功能完整的PCI-e設備成為物理功能(Physical Function,PF)。在使能了SR-IOV之后,PF就會派生出若干個虛擬功能(Virtual Function,VF)。VF看起來依然是一個PCI-e設備,它擁有最小化的資源配置,有用獨立的資源,可以作為獨立的設備直接分配給客戶機使用。Intel的很多高級網(wǎng)卡如82599系列網(wǎng)卡就支持SR-IOV特性,一個85299網(wǎng)卡PF就即可配置出多達63個VF,基本可滿足單個宿主機上的客戶機分配使用。當然,SR-IOV這種特性可以看作VT-d的一個特殊例子,所以SR-IOV除了設備本身要支持該特性,同時也需要硬件平臺打開VT-d特性支持。圖2-6展示了一個Intel以太網(wǎng)卡支持SR-IOV的硬件基礎架構。
KVM 虛擬化 應用性能調優(yōu)
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。