2011年6月25日 星期六

簡單了解Intel VT-d及VM Passthrough 設定

本文取自虛擬先生Blog站台 http://vaemon.com/article/865.html


【長篇教學】簡單了解Intel VT-d

esx06
大約在2006年後生產的中高級CPU/晶片組產品都開始支援虛擬技術了。在INTEL這邊我們看到的是VT技術,而AMD則推出AMD-V。技術的原理也許有所不同,但主要的目的都在加快Binary Translation的速度。最近客戶一直在問VT-d的技術,在購買伺服器時也一直怕買到的產品不支援這個技術的產品。很多人將VT-d以及VT-x搞混,今天趁著這個機會就簡單說明一下VT-d技術發揮的場所。
VT-d的用途

簡單來說 ,如果你有一個VM,想直接存取某個硬體設備(通常是PCI設備),如網路卡或是儲存HBA 卡,而不是選擇虛擬的硬體設備,那麼有沒有辦法讓這些真實的網路卡或HBA卡直接給這個VM用?例如我安裝一片Intel的網路卡,然後我在VM下不要使用假的虛擬網路卡,而是真正抓到這個型號,還得安裝驅動程式才能用這片網路卡呢?

答案是肯定的,如果你安裝ESX/ESXi的主機有支援VT-d,那麼VT-d的功能可以把這片網路卡的PCI裝置直接指定到某一個VM中。讀者們一定會問會有這種場合嗎?事實上在虛擬環境中,還是有許多直接硬體存取的機會,如備份伺服器,常常需要直接存取HBA卡才能加快速度,此時VT-d就派上用場了。

我使用的主機板支援VT-d嗎?

首先大家要知道,VT-d是晶片組支援的而非CPU所支援,因此如果你到處問哪些CPU是支援VT-d,可能得不到正確的答案。那麼你一定會問,哪些晶片組支援VT-d?伺服器的晶片組大部分都支援VT-d,而桌上型電腦較新的也支援,但嘉許不是偷懶不做晶片組的列表,而是如果這片主機板的BIOS不支援,你很可能也無法使用VT-d的功能,因此嘉許的建議是
確定你主機板的型號之後,查找使用手冊或BIOS中是否有開啟VT-d的選項。如果找不到,直接聯絡該產品的技術支援確定。如果你確定使用的主機板晶片組支援VT-d,但BIOS中確沒有選項,可能會需要BIOS的更新才能支援,因此在購買新產品時,一定要先確定在BIOS中有支援VT-d才進行採購。

要在BIOS中開啟VT-d很簡單,只要BIOS有這個選項,Enable就行了。

ESX/ESXi中的VT-d設定

在開啟了VT-d之後,ESX/ESXi中的設定就簡單了。只要進入ESX主機的「Configuration」/「Hardware」/「Advanced Settings」,右上方會出現「Configure Passthrough」,就可以進入設定了。
esxi02

在設定時,系統會要求指定要使用的PCI設備,你只要在設備前打勾就行。但要注意的是,選定設備後必須重新啟動ESX/ESXi。啟動之後,就可以看到指定的設備已經準備好可以給VM使用了。
esxi03 esxi04 esxi05

在VM中指定設備

在VM中要指定VT-d設備也很容易。只要在VM中新增PCI Device,並且選擇剛才所打勾的設備即可。當新增完之後,在VM中會要求安裝這個設備的原生驅動程式,安裝好之後就可以使用了。
esxi07

Intel的技術論壇中有一篇文章有完整的說明,大家有興趣可以到這邊來看

沒有留言:

Windows Server AD dsquery (查詢指令)

Windows Server  AD  dsquery     ( 查詢指令 ) 通用的參數:    -limit 0   指定傳回符合搜尋條件的物件數目,如果值是 0 ,將傳回所有符合的物件。 如果不指定此參數,根據預設將只顯示前 100 個結果。 ...