從接觸UnRaid近2年來,一直在學(xué)習(xí)和摸索其硬件直通的無限奧妙,既學(xué)會了常規(guī)的基于硬件(比如硬盤、顯卡、聲卡)的直通,也學(xué)會了可移動硬件(比如U盤、移動硬盤、藍(lán)牙接收器——鍵鼠、藍(lán)牙音箱等)的直通,更學(xué)會了基于控制器(比如硬盤控制器)的直通、虛擬化直通(比如SR-IOV、iGVT……)等多種直通方案,在此記錄備忘,也分享給有同樣需求的讀者。
我們在用UnRaid創(chuàng)建虛擬機(jī)的時候,默認(rèn)都是以虛擬磁盤、虛擬網(wǎng)卡等方式配置虛擬機(jī)的磁盤和網(wǎng)卡等,雖然方便,但副作用也是顯而易見的——虛擬磁盤相當(dāng)于是在UnRaid磁盤陣列中的某塊硬盤上建立一個虛擬磁盤鏡像文件,虛擬機(jī)把此鏡像文件當(dāng)作一個磁盤,因此其讀寫效率是有限的。有沒有什么辦法將需要的硬件直接綁定到虛擬機(jī)上,所有的操作都不經(jīng)過UnRaid宿主機(jī)層面呢?答案是肯定的,那就是硬件直通!接下來我將本人已經(jīng)測試成功的各種直通方法與大家逐一分享。
在網(wǎng)上搜到的大多數(shù)直通方案于此類似,即以id方式來直通硬盤(如下圖所示:)
在顯卡處直接選擇你有的顯卡,并加載相應(yīng)bios文件(bios文件下載地址),下圖以直通核顯為例(我的需要加載vbios_gvt_uefi.rom這個虛擬核顯bios才行,有些機(jī)器也許不需要):
由于2.1.方式直通的硬盤是以單個硬盤的方式直通的,且磁盤總線沒有Nvme等pci高速模式,磁盤效能大打折扣,如果有多塊硬盤還有一個一個的去添加id,很是繁瑣,稍不注意還會搞錯。于是就有了另外一種直通方式——控制器直通。
首先在UnRaid【工具】→【系統(tǒng)設(shè)備】中對欲直通的設(shè)備進(jìn)行vfio綁定(將設(shè)備對應(yīng)的□打勾,并點擊底部右側(cè)【在引導(dǎo)時對VFIO選擇了綁定】,再重啟UnRaid系統(tǒng)),參照下圖(這是6.9.x的新方式,之前的版本還是需要在Syslinux 配置中手工添加代碼進(jìn)行綁定,此處略)。
只需要在虛擬機(jī)設(shè)置頁面末尾,其他PCI設(shè)備中將與直通給虛擬機(jī)的控制器或設(shè)備(上一步已VFIO綁定過的設(shè)備會在此處出現(xiàn))勾選即可。比如Intel 200 Series SATA controller(這是我的主板集成的硬盤控制器,有4個SATA口),則插在本SATA控制器上的所有硬盤均直通給了虛擬機(jī),你不需要去關(guān)心直通的每一塊硬盤的順序,就像在物理機(jī)中使用硬盤一樣。
又分為2種情形:虛擬機(jī)獨占模式、按需掛載模式。
即在虛擬機(jī)設(shè)置中進(jìn)行綁定,比如藍(lán)牙鍵鼠接收器、usb網(wǎng)卡(聲卡)等等,只需要在虛擬機(jī)設(shè)置頁面靠近末尾部分的USB設(shè)備中勾選所要直通的USB設(shè)備即可:
比如U盤、USB移動硬盤等移動設(shè)備,只需要在讀寫其資料時掛載,則可以通過安裝Hotplug USB插件來實現(xiàn)。該插件是第三方提供的,不能直接在應(yīng)用apps中安裝,需要在插件頁手工安裝,插件地址部分輸入https://github.com/dlandon/libvirt.hotplug.usb/raw/master/libvirt.hotplug.usb.plg即可。
詳見我的另一篇博文:UnRaid利用iGVT-g插件實現(xiàn)Nas宿主機(jī)、虛擬機(jī)同時使用intel核顯輸出或硬解(硬件加速)功能
詳見我的另一篇博文:UnRaid開啟網(wǎng)卡SR-IOV并直通給虛擬機(jī)的方法
詳見我的另一篇博文:UnRaid虛擬機(jī)添加光驅(qū)設(shè)備
聯(lián)系客服