自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

KVM虛擬化之設備透傳

云計算 虛擬化
HBA卡用于FC-SAN存儲,可能原來服務器使用了FS-SCN存儲,當服務器遷移到超融合或者私有云上后,仍希望繼續(xù)使用FC-SAN存儲,可采購HBA卡插到超融合或者私有云服務器上,并將其透傳到對應的虛擬機上繼續(xù)使用

顯卡透傳

查看顯卡PCI地址

lspci | grep -i nvidia

會看到類似下面的輸出,其中包含顯卡的 PCI 地址,例如 0000:03:00.0:

03:00.0 VGA compatible controller: NVIDIA Corporation Device 1eb8 (rev a1)
03:00.1 Audio device: NVIDIA Corporation Device 10f7 (rev a1)

確認 IOMMU 支持

確保主機啟用了 IOMMU 支持。在 GRUB 配置中添加以下參數(shù):

  • 對于 Intel CPU,在 /etc/default/grub 文件中的 GRUB_CMDLINE_LINUX 添加 intel_iommu=on:
GRUB_CMDLINE_LINUX="... intel_iommu=on"
  • 對于 AMD CPU,添加 amd_iommu=on:
GRUB_CMDLINE_LINUX="... amd_iommu=on"

然后更新 GRUB 配置:

update-grub

確認 IOMMU 組

確認顯卡在單獨的 IOMMU 組中:

dmesg | grep -e DMAR -e IOMMU

這里有一個腳本可以查看

#!/bin/bash
for d in /sys/kernel/iommu_groups/*; do
    if [ -d "$d" ]; then
        echo "IOMMU Group ${d##*/}:"
        for f in $(ls $d/devices/); do
            echo -e "\t$(lspci -nns $f)"
        done;
    fi;
done;

綁定設備到 VFIO 驅(qū)動

查找設備 ID:

使用 lspci -nn | grep -i nvidia找到顯卡設備 ID,例如 10de:1eb8 和 10de:10f7。

創(chuàng)建 VFIO 配置文件:

在 /etc/modprobe.d/vfio.conf 文件中添加以下內(nèi)容,將設備 ID 替換為找到的設備 ID:

options vfio-pci ids=10de:1eb8,10de:10f7

更新 initramfs 并重啟系統(tǒng):

更新 initramfs 以應用新的 VFIO 配置,并重啟系統(tǒng):

update-initramfs -u
reboot

編輯虛擬機xml文件

在部分添加顯卡設備配置,使用上面找到的 PCI 地址:

通常情況下,顯卡的audio可以不用透傳,只需要添加一個hostdev的塊就可以了

<devices>
  ...
  <hostdev mode='subsystem' type='pci' managed='yes'>
    <source>
      <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </source>
    <rom bar='off'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
  </hostdev>
  <hostdev mode='subsystem' type='pci' managed='yes'>
    <source>
      <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </source>
    <rom bar='off'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
  </hostdev>
  ...
</devices>

之后啟動虛擬機。

網(wǎng)卡透傳

檢查宿主機是否支持 IOMMU

要進行網(wǎng)卡透傳,宿主機需要支持 IOMMU,并且BIOS中要開啟Intel vt-d。

grep -E "svm|vmx" /proc/cpuinfo
  • AMD CPU 支持 svm
  • Intel CPU 支持 vmx

啟用 IOMMU

在宿主機中啟用 IOMMU 功能:

修改 GRUB 配置:

編輯 /etc/default/grub 文件:

在 GRUB_CMDLINE_LINUX 中添加以下參數(shù):

  • 對于 Intel CPU:
intel_iommu=on iommu=pt
  • 對于 AMD CPU:
amd_iommu=on iommu=pt

更新 GRUB 并重啟:

sudo update-grub
sudo reboot

檢查 IOMMU 是否啟用

在宿主機重啟后,運行以下命令確認 IOMMU 是否啟用:

dmesg | grep -e DMAR -e IOMMU

如果輸出中顯示類似 IOMMU enabled,說明配置正確。

獲取網(wǎng)卡的 PCI ID

使用以下命令找到要透傳的網(wǎng)卡設備:

lspci -nn | grep -i network

示例輸出:

03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 [8086:1572]
  • 03:00.0 是網(wǎng)卡的 PCI 地址。
  • [8086:1572] 是設備的廠商和設備 ID。

將網(wǎng)卡分配給虛擬機

在 libvirt 的虛擬機配置文件(XML)中,添加透傳的網(wǎng)卡:

獲取網(wǎng)卡的 PCI 地址:

lehw -C network -businfo

編輯虛擬機的 XML 配置文件:

virsh edit <VM-NAME>

添加以下內(nèi)容到 <devices> 節(jié)點中:

<hostdev mode='subsystem' type='pci' managed='yes'>
  <source>
    <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
  </source>
</hostdev>

重啟虛擬機:

virsh shutdown <VM-NAME>
virsh start <VM-NAME>

驗證網(wǎng)卡透傳

在虛擬機中運行以下命令,查看網(wǎng)卡是否被識別:

lspci | grep -i ethernet

USB透傳

常要用于透傳usb存儲設備和加密狗設備給虛擬機

確認宿主機可以識別 USB 設備

查看所有連接的 USB 設備:

lsusb

示例輸出:

Bus 002 Device 005: ID 0781:5581 SanDisk Corp. Ultra
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
  • Bus 002 Device 005 表示設備的總線號和設備號。
  • 0781:5581 是廠商和設備 ID。

將 USB 設備分配給虛擬機

使用 virsh 修改虛擬機配置:

編輯虛擬機的 XML 配置:

virsh edit <VM-NAME>

在 <devices> 節(jié)點中添加以下內(nèi)容:

<hostdev mode='subsystem' type='usb' managed='yes'>
  <source>
    <vendor id='0x0781'/>
    <product id='0x5581'/>
  </source>
</hostdev>

參數(shù)說明:

  • vendor id='0x0781':設備的廠商 ID。
  • product id='0x5581':設備的產(chǎn)品 ID。

保存后退出。

重啟虛擬機

將 USB 設備透傳給虛擬機后,重啟虛擬機:

virsh shutdown <VM-NAME>
virsh start <VM-NAME>

在虛擬機中驗證設備

登錄到虛擬機后,使用以下命令查看 USB 設備是否可用:

lsusb

應該可以看到之前透傳的 USB 設備。

USB 設備熱插拔配置

在虛擬機運行時,可以使用以下命令將 USB 設備添加到虛擬機或者在虛擬機動態(tài)移除:

添加 USB 設備:

virsh attach-device <VM-NAME> --file usb.xml --live

其中 usb.xml 是描述 USB 設備的 XML 配置文件。

動態(tài)移除 USB 設備

如果需要從虛擬機中移除 USB 設備,使用以下命令:

virsh detach-device <VM-NAME> --file usb.xml --live

創(chuàng)建 USB 設備 XML:

創(chuàng)建一個名為 usb.xml 的文件,內(nèi)容如下:

<hostdev mode='subsystem' type='usb'>
  <source>
    <vendor id='0x0781'/>
    <product id='0x5581'/>
  </source>
</hostdev>
  • **vendor id**** 和 ****product id**:使用 lsusb 或 virsh nodedev-dumpxml 提取的廠商和產(chǎn)品 ID。

HBA卡透傳到虛擬機

HBA卡用于FC-SAN存儲,可能原來服務器使用了FS-SCN存儲,當服務器遷移到超融合或者私有云上后,仍希望繼續(xù)使用FC-SAN存儲,可采購HBA卡插到超融合或者私有云服務器上,并將其透傳到對應的虛擬機上繼續(xù)使用

檢查宿主機支持 PCI 直通

HBA 卡透傳需要宿主機支持 IOMMU 功能。

檢查 CPU 是否支持虛擬化和 IOMMU:

grep -E "svm|vmx" /proc/cpuinfo

檢查是否啟用 IOMMU:

dmesg | grep -e DMAR -e IOMMU

如果未啟用,請參考以下步驟配置 IOMMU。

啟用 IOMMU

修改 GRUB 配置:

編輯 /etc/default/grub 文件:

vim /etc/default/grub

添加以下參數(shù)到 GRUB_CMDLINE_LINUX:

  • 對于 Intel CPU:
intel_iommu=on iommu=pt
  • 對于 AMD CPU:
amd_iommu=on iommu=pt

保存文件后更新 GRUB 配置并重啟系統(tǒng):

sudo update-grub
sudo reboot

確認 HBA 卡信息

使用以下命令列出宿主機的所有 PCI 設備:

lspci -nn

找到 HBA 卡對應的設備。例如:

04:00.0 Fibre Channel [0c04]: QLogic Corp. QLE2562 8Gb Fibre Channel Adapter [1077:2532] (rev 02)

記錄設備的 PCI 地址,例如 04:00.0。

將 HBA 卡分配給虛擬機

編輯虛擬機 XML 配置:

  1. 打開虛擬機的 XML 配置:
virsh edit <VM-NAME>
  1. 在 <devices> 節(jié)點中添加以下內(nèi)容:
<hostdev mode='subsystem' type='pci' managed='yes'>
  <source>
    <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
  </source>
</hostdev>
  1. 保存并退出。

啟動虛擬機并驗證

啟動虛擬機:

virsh start <VM-NAME>

在虛擬機中驗證 HBA 卡

登錄虛擬機后,運行以下命令檢查是否識別到 HBA 卡:

lspci -nn | grep Fibre

如果一切正常,虛擬機應該能看到并使用透傳的 HBA 卡。

責任編輯:武曉燕 來源: 運維開發(fā)故事
相關(guān)推薦

2009-11-23 19:47:57

ibmdwLinux

2020-06-18 16:39:10

KVM虛擬化虛擬機

2021-02-14 16:49:22

Linux虛擬化Virtio

2018-06-05 14:28:25

KVM嵌套虛擬化

2021-03-28 18:23:22

Linux虛擬化Virtqueue

2019-06-27 15:38:52

KVM虛擬化開源

2013-04-07 09:33:31

開源虛擬化KVM

2019-11-12 14:48:00

Linux桌面虛擬化KVM

2013-04-08 10:08:22

開源虛擬化KVM

2013-05-29 15:33:01

開源虛擬化KVM

2015-09-09 17:25:06

2021-05-07 06:42:51

Vhost-NetLinux虛擬化

2020-11-23 07:19:15

Linux虛擬化KVM

2011-11-17 09:28:24

虛擬化開源虛擬化KVM

2013-05-23 11:28:46

KVM虛擬化REHL

2013-05-23 14:15:28

KVM桌面虛擬化案例

2012-09-10 10:39:04

IBMdw

2013-01-06 10:05:40

VissensaKVM

2013-01-30 16:04:08

虛擬化

2013-02-21 10:50:49

KVM虛擬化
點贊
收藏

51CTO技術(shù)棧公眾號