最近在研究xen虛擬機的問題,了解到PCI Passthrough的特征,可以直接將設備分配給VM。這里主要討論的是HVM。主要的問題是給DomU分配好NIC之后,利用virt-manager無法正常啟動DomU。
相關的一些配置:
xen的版本:xen-4.1.2
Dom0中的系統:Ubuntu-12.04(Linux-3.5.0-23)
DomU中的系統:Ubuntu-12.04(Linux-3.5.0-23)
DomU的安裝是由virt-manager實作。
硬體支持IOMMU,BIOS中已設定I/O虛擬化。
直接分配的步驟(主要是參考xen的官方檔案:http://wiki.xen.org/wiki/XenPCIpassthrough#Guest_configuration)
通過lspci指令可以知道本機NIC對應的是0000:00:19.0
1.利用檔案系統進行動態分配
# modprobe xen-pciback
2.通常的步驟:
? Unbind from the old driver.
? Create a new slot in pciback for the device
? Bind to pciback
可以使用一個腳本檔案完成上述操作:(pciback.sh)
#! /bin/bash
if [ $# -eq 0 ]; then
echo "Require PCI devices in format: <domain>:<bus>:<slot>.<function>"
echo "Eg: $(basename $0) 0000:00:1b.0"
exit 1
fi
modprobe xen-pciback
for pcidev in $@; do
if [ -h /sys/bus/pci/devices/"$pcidev"/driver ]; then
echo "Unbinding $pcidev from" $(basename $(readlink /sys/bus/pci/devices/"$pcidev"/driver))
echo -n "$pcidev" > /sys/bus/pci/devices/"$pcidev"/driver/unbind
fi
echo "Binding $pcidev to pciback"
echo -n "$pcidev" > /sys/bus/pci/drivers/pciback/new_slot
echo -n "$pcidev" > /sys/bus/pci/drivers/pciback/bind
done
腳本檔案的執行:
sudo bash -x pciback.sh 0000:00:19.0
0000:00:19.0對應<domain>:<bus>:<slot>.<function>
3.驗證分配是否成功:
# xm pci-list-assignable-devices
0000:99:19.0
4. virtual PCI slots (6~7) are reserved in HVM guest to support VTd hotplug.
Detach the device from the guest by the physical BDF. Then HVM guest will receive a virtual PCI hot removal event to detach the physical device
# xm pci-detach zbn01 0000:00:19.0
Attach a PCI device to the guest by the physical BDF and desired virtual slot(optional). Following command would insert the physical device into guest's virtual slot 7
# xm pci-attach zbn01 0000:00:19.0 7
基本按照上面的操作執行之后,利用virt-manager啟動zbn01虛擬機,可是無法正常啟動。突然界面自己就關掉了。
希望各位能指出在下的問題所在,同時也能提供一些建議和意見。大謝!!!!!!!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/110024.html
標籤:虛擬化
上一篇:秒殺android/iOS,某培訓機構第6期僅畢業10天就已經就業70%
下一篇:虛擬化跟云計算的關系?
