Xen虛擬化環(huán)境下顯卡透?jìng)鲗?shí)現(xiàn)_第1頁(yè)
Xen虛擬化環(huán)境下顯卡透?jìng)鲗?shí)現(xiàn)_第2頁(yè)
Xen虛擬化環(huán)境下顯卡透?jìng)鲗?shí)現(xiàn)_第3頁(yè)
Xen虛擬化環(huán)境下顯卡透?jìng)鲗?shí)現(xiàn)_第4頁(yè)
Xen虛擬化環(huán)境下顯卡透?jìng)鲗?shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、XenVGAgraphicsadapterpassthrough顯卡虛擬化調(diào)研報(bào)告ii簡(jiǎn)介XenVGAgraphicsadapterpassthrough是指將顯卡綁定到虛擬機(jī),虛擬機(jī)可以直接的獨(dú)占的使用顯卡,獲得更好的3D和視頻加速性能。XenVGApassthrough只能用于全虛擬化虛擬機(jī),不支持半虛擬化虛擬機(jī)。XenVGApassthrough需要Xen4.0或更新版本,需要domO內(nèi)核包含pci后端驅(qū)動(dòng)。XenVGApassthrough需要硬件(CPU,主板,芯片組,BIOS)支持IOMMU(IntelVT-d或AMDIOMMU)技術(shù),滿足要求的硬件參考 HYPERLINK /xe

2、nwiki/VTdHowTo%e3%80%82 /xenwiki/VTdHowTo。1.2原理VGApassthrough的技術(shù)基礎(chǔ)是PCIpassthrough,PCIpassthrough需要硬件支持10MMU,主要用于網(wǎng)卡,U盤等PCI設(shè)備的直接訪問(wèn)。顯卡的一些特殊性使其不能直接使用PCIpassthrough,比如VGA顯卡有自己的bios,集成顯卡需要固定內(nèi)存作為顯存等。VGApassthrough的步驟如下:映射VGA幀緩存到虛擬機(jī)。拷貝VGABIOS到虛擬機(jī)。映射VGAI/O端口。關(guān)閉Xen的VGA模式,即禁止domO使用該VGA顯卡。1.3顯卡支持情況Xen4.0的顯卡支持情況

3、支持intel集成顯卡支持主顯卡適配器(primarygraphicsadapters),即開(kāi)機(jī)啟動(dòng)時(shí)默認(rèn)使用的顯卡。部分Nvidia和ATI的顯卡需要而外的patch來(lái)支持FLR(FunctionLevelReset)。部分Nvidia顯卡需要而外的使vBAR=pBAR的patch。部分顯卡需要修改VGABIOS。1.4成功案例1)Wiki上測(cè)試過(guò)的顯卡網(wǎng)址: HYPERLINK /xenwiki/XenVGAPassthroughTestedAdapters /xenwiki/XenVGAPassthroughTestedAdaptersIntelCorporation82Q35Expre

4、ssIntegratedGraphicsController,下圖顯示相關(guān)的配置信息。XenOpenSuse丄丄2xenlinux263丄丄2-0iluiiiUkernelDellOptiplex755desktopWindowsXPH71IiT-iest,Dellprovid已clIntelgraphicsdriverPriiiiaryadapterPa3St.hriiforbothPCIIDs00:02iVGAcoiiip且匸il:已controller:IntelCorporation82Q35ExpressIncegratedGraphicsController(rev02)00:02

5、丄Displaycontroller:IntelCorporaiLion82Q35ExpressIntegra匸已clGraphicsController(rev02)Nvidia顯卡,官方數(shù)據(jù)僅有FX3800,4800and5800支持graphicspassthrough,下圖顯示相關(guān)的配置信息。Xen4.0.0-rc8,pvopsxen/3t:itile-2.6.32.xdoiiiOkernelAsusP7P55DMBBIOS1207,Corei7860CPU.Lim.E/sys/bus/pci/drivers/pci-stub/new_idecho0000:01:00.0/sys/bu

6、s/pci/drivers/0000:01:00.0/driver/unbindecho0000:01:00.0/sys/bus/pci/drivers/pci-stub/bind使用pci-stub綁定設(shè)備的方法,僅適用于HVMguests的pci的passthrough。用內(nèi)核參數(shù)xen-pciback.hide的方法適用于HVM和PVguests,在使用上,優(yōu)先考慮使用xen-pciback.hide的方法。在我們的實(shí)現(xiàn)上,也是使用的xen-pciback.hide的方法。虛擬機(jī)DomU配置文件在虛擬機(jī)配置文件中,不要添加上這句:gfx_passthru=1o在我們?cè)鹊娘@卡虛擬化調(diào)研中

7、,一直認(rèn)為在虛擬機(jī)配置文件中,要加上這句話。但加上這句話后,我們遇到的問(wèn)題是:可以用命令xmcreate*.hvm創(chuàng)建起來(lái)一個(gè)虛擬機(jī),但是用命令xmvncviewerID去連接啟起來(lái)的虛擬機(jī)時(shí),發(fā)現(xiàn)GuestOS不能正常啟動(dòng)起來(lái)。解決這個(gè)問(wèn)題,是通過(guò)一個(gè)網(wǎng)址上的內(nèi)容,它使用的是相同的顯卡:/VGA-passthrough-GA-890FXA-with-ASUS-EAH5750-video-td3274626.html。在系統(tǒng)grub文件配置細(xì)節(jié)中,我們介紹了xen-pciback.hide,它從Dom0隱藏pci設(shè)備。實(shí)現(xiàn)了這點(diǎn),接下來(lái)的工作,是為虛擬機(jī)DomU指派pci設(shè)備。在這里介紹兩種方

8、法為虛擬機(jī)DomU指派pci設(shè)備。方法一:虛擬機(jī)DomU配置文件中添加上這一句:pci=04:00.0。它表示為此虛擬機(jī)指派pci設(shè)備:04:00.0。方法二:VT-dDeviceHot-Plug。它是針對(duì)全虛擬化虛擬機(jī),它是在虛擬機(jī)啟動(dòng)完成后,再用命令行為此虛擬機(jī)指派一個(gè)pci設(shè)備。具體信息參考:/xenwiki/VTdHowTo。具體命令如下,xmpci-attachHVMDomainlD00:04:00.0在我們的實(shí)驗(yàn)中,這兩種方法都試驗(yàn)過(guò),都可行。當(dāng)給虛擬機(jī)DomU指派了pci設(shè)備后,用命令xmpci-listHVMDomainID查看此虛擬機(jī)擁有的pci設(shè)備時(shí),會(huì)有顯示。如下:roo

9、tlocalhostimage#xmpci-attach300:04:00.0rootlocalhostimage#xmpci-list3VdevDevice05.00000:04:00.0但是,用命令xmpci-list-assignable-devices,并沒(méi)任何顯示。在我們的實(shí)驗(yàn)中,方法一和方法二還有個(gè)區(qū)別:用方法一實(shí)現(xiàn)顯卡passthrouh的虛擬機(jī)啟動(dòng)后,第一次安裝顯卡驅(qū)動(dòng)后,以后每次啟動(dòng)此虛擬機(jī),顯卡都是能正常可用的。當(dāng)用方法二的虛擬機(jī),第一次安裝顯卡驅(qū)動(dòng)后,以后每次這樣啟動(dòng)此虛擬機(jī),它的顯卡可以檢測(cè)到,但并不可用,需要重啟一下,顯卡才能正常使用。3.3實(shí)現(xiàn)過(guò)程中可能會(huì)遇到的問(wèn)題

10、(1)pci設(shè)備綁定的問(wèn)題在我們的實(shí)現(xiàn)過(guò)程中,創(chuàng)建虛擬機(jī)時(shí),遇到了這樣的問(wèn)題:Error:pci:0000:04:000mustbeco-assignedtothesameguestwith0000:04:001。我們要passthrough設(shè)備是0000:04:00.0(顯卡)。這個(gè)問(wèn)題的詳細(xì)信息及解決方法見(jiàn)網(wǎng)址:/xenwiki/XenPCIpassthroughIgetError:pci:0000:02:06.0mustbeco-assignedtothesameguestwith0000:02:05.0errorwhentryingtostarttheguestThiserrorusu

11、allyhappenswhenyouretryingtopassthruonlyasinglefunctionfromamulti-functiondevice(forexampleadual-portnic),oronlyoneofthedevicesbehindthesamePCIbridge.ThisisnotallowedbytheIntelVT-dspecificationPleaseseethisemailfortheexplanationofthisissue:O HYPERLINK http:/lists.xensourcQ.coni/3%e3%80%8cchivQs/html

12、/xQn%e3%83%bbd%e2%82%acVQl/2010%e3%83%bb0l/msg00870.html http:/lists.xensourcQ.coni/3chivQs/html/xQndVQl/20100l/msg00870.htmlandthepatchimplementingtheseFLRmethods:thtp:/xenbits.XQnsouCQ.com/xRnijnstablQ.hg?rQv/Q61978c24d84IfyouwanttomanuallyoverridethisinXen4.0.0orneweryoucanspecifypci-passthroughs

13、trict-checknoin/etc/xen/xwnd-config.sxp,andafterrestart!ngxendpassthrucodewontgivethiserroranymoreInsome(many?)casesPCIpassthrucanworkafterthischangeIfthePCIdeviceisasingle-functiondevice,youcanalsomoveittoadifferentPCIslottoworkaroundtheissueWithXen3.4.xand3.3.xversionsyoucanapplyadisableFLRpatchto

14、workaroundthisissue:Ohttp:/lists.xensoumcom/archives/html/xervdevGl/20080/binAofZNDKlrll.binmnddiscussionaboutithere HYPERLINK /archives/html/xen-devel/2008/msg00280.html /archives/html/xen-devel/2008/msg00280.html出現(xiàn)這樣問(wèn)題的原因:設(shè)備0000:04:00.0(顯卡)和設(shè)備0000:04:00.1(聲卡),同屬于相同的pcibridge,不允許它們中的單獨(dú)一個(gè)設(shè)備passthrou

15、gh。在我們的解決方法中,是采用了pci設(shè)備綁定的方法,即讓它們都從DomO隱藏。具體的操作是:grub中,xen-pciback.hide=(04:00.0)(04:00.1)。上圖中提到了還有另外一種方法:修改/etc/xen/xend-config.sxp文件,指定pci-passthrough-strict-checkno。此方法,在我們的實(shí)驗(yàn)中,沒(méi)有嘗試。(2)網(wǎng)橋的問(wèn)題在虛擬機(jī)的配置文件中,會(huì)有關(guān)于網(wǎng)橋的這樣一行:vif=type=ioemu,mac=00:16:3e:00:00:11,bridge=xenbr0。Bridge=xenbr0或者xenbr1,這個(gè)取決于我們宿主機(jī)是e

16、th0還是eth1,這個(gè)一般是默認(rèn)配置。在我們?cè)鹊奶摂M機(jī)文件中,是xenb門。在創(chuàng)建虛擬機(jī)的時(shí)候就出現(xiàn)了問(wèn)題,它會(huì)提示找不到bridgexenbr1。Xen啟動(dòng)起來(lái)后,用命令brctlshow,它顯示的是bridge為tmpbridge。修改虛擬機(jī)配置文件中,bridge=tmpbridge。此時(shí)虛擬機(jī)能正常啟動(dòng)起來(lái)。但又出現(xiàn)了新的問(wèn)題,進(jìn)入虛擬機(jī)后,為虛擬機(jī)配置正確的IP后,它始終是不能上網(wǎng)的。問(wèn)題就出在bridge=tmpbridge上。tmpbridge在Dom0中是不認(rèn)可的。它正確的bridge不是tmpbredge。其實(shí)從xen4.0開(kāi)始,它的bridge都修改為了peth0或者p

17、eth1。在xendstart啟動(dòng)后,用命令brctlshow出現(xiàn)下面的提示,就表示網(wǎng)橋配置正確了:rootlocalhostimage#brctlshowbridgenamebridgeidSTPenabledinterfaceseth18000.1c6f65c3075enopeth1tap6.0vif6.0我在這里就介紹下,在我們的實(shí)驗(yàn)中,fc14系統(tǒng)下配置網(wǎng)橋的要注意幾點(diǎn)吧:關(guān)閉NetworkManger服務(wù),把它設(shè)為開(kāi)機(jī)不啟動(dòng)。fc14的網(wǎng)絡(luò)管理是由NetworkManger和network一起來(lái)管理,與ubuntu相比,它的網(wǎng)絡(luò)管理比較混亂,索性把NetworkMagner設(shè)為開(kāi)機(jī)不

18、啟動(dòng)。(chkconfigNetworkMangeroff)fc14中perferences-NetworkConnections為空,如圖:WiredjWirelessMobileBroadband0VPN?DSLNameLastUsed3)Administration-Network中只有ethl,如圖1Adminstration-NetworkDeviceControl為空,如圖/etc/sysconfig/Network-scripts/下會(huì)有ethl,它里面有關(guān)于IP配置的信息完整。xendstart后,ifconfig會(huì)多出一個(gè)網(wǎng)橋pethl。(3)安裝顯卡驅(qū)動(dòng)的問(wèn)題顯卡passt

19、hrogh成功后,全虛擬化的虛擬機(jī)里面,能夠檢測(cè)到顯卡的存在,它顯示的是一個(gè)U盤符的形式,點(diǎn)擊它,提示如圖(上圖為win7,下圖為xp)方法一:配置好虛擬機(jī)里面的網(wǎng)絡(luò),直接從網(wǎng)上下載對(duì)應(yīng)型號(hào)的顯卡驅(qū)動(dòng)程序,進(jìn)行安裝,重啟虛擬機(jī),即可。方法二:修改虛擬機(jī)的配置文件,在虛擬機(jī)里面掛載一個(gè)U盤,進(jìn)入虛擬機(jī)后,能夠識(shí)別讀取U盤,即可。在win7虛擬機(jī)鏡像的配置文件里面加的語(yǔ)句為:disk=file:/home/image/win764.img,hda,wphy:sdd1,hdb,wl,紅色部分即為添加的部分。sdd1對(duì)應(yīng)于,此U盤插在物理機(jī)上時(shí),用fdisk-l命令查看得到的U盤占用的磁盤分區(qū)號(hào)。在winxp虛擬機(jī)鏡像配置文件里面加的語(yǔ)句為:disk=file:/home/image/winxp.img,ioemu:hda,w;phy:sdd1,sda,w。安裝顯卡驅(qū)動(dòng)后,設(shè)備管理器的顯示如下:(上圖為win7,下圖為xp)TechPowerUpGPU-Z0.5.4旦亙Qcpu-zL三si割文件0)操作查看辺窗口)幫助QJ)團(tuán)計(jì)算機(jī)管理庫(kù)地)T爲(wèi)系統(tǒng)工具+甌)事件查看器出Q共享文件夾田甬土刪性能日志和警報(bào)昌設(shè)備笞理器E)國(guó)存儲(chǔ)a養(yǎng)可移動(dòng)存儲(chǔ)B磁盤碎片整理程序吾I磁盤管理上曲服務(wù)和應(yīng)用程序本地用尸和組一旦+IDEATA/ATAPI控制器+崙SCSI和RAI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論