偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

KVM虛擬化之設(shè)備透傳

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

顯卡透傳

查看顯卡PCI地址

lspci | grep -i nvidia

會(huì)看到類似下面的輸出,其中包含顯卡的 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)

確認(rèn) IOMMU 支持

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

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

然后更新 GRUB 配置:

update-grub

確認(rèn) IOMMU 組

確認(rèn)顯卡在單獨(dú)的 IOMMU 組中:

dmesg | grep -e DMAR -e IOMMU

這里有一個(gè)腳本可以查看

#!/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;

綁定設(shè)備到 VFIO 驅(qū)動(dòng)

查找設(shè)備 ID:

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

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

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

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

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

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

update-initramfs -u
reboot

編輯虛擬機(jī)xml文件

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

通常情況下,顯卡的audio可以不用透傳,只需要添加一個(gè)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>

之后啟動(dòng)虛擬機(jī)。

網(wǎng)卡透傳

檢查宿主機(jī)是否支持 IOMMU

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

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

啟用 IOMMU

在宿主機(jī)中啟用 IOMMU 功能:

修改 GRUB 配置:

編輯 /etc/default/grub 文件:

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

  • 對(duì)于 Intel CPU:
intel_iommu=on iommu=pt
  • 對(duì)于 AMD CPU:
amd_iommu=on iommu=pt

更新 GRUB 并重啟:

sudo update-grub
sudo reboot

檢查 IOMMU 是否啟用

在宿主機(jī)重啟后,運(yùn)行以下命令確認(rèn) IOMMU 是否啟用:

dmesg | grep -e DMAR -e IOMMU

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

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

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

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] 是設(shè)備的廠商和設(shè)備 ID。

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

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

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

lehw -C network -businfo

編輯虛擬機(jī)的 XML 配置文件:

virsh edit <VM-NAME>

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

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

重啟虛擬機(jī):

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

驗(yàn)證網(wǎng)卡透傳

在虛擬機(jī)中運(yùn)行以下命令,查看網(wǎng)卡是否被識(shí)別:

lspci | grep -i ethernet

USB透傳

常要用于透傳usb存儲(chǔ)設(shè)備和加密狗設(shè)備給虛擬機(jī)

確認(rèn)宿主機(jī)可以識(shí)別 USB 設(shè)備

查看所有連接的 USB 設(shè)備:

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 表示設(shè)備的總線號(hào)和設(shè)備號(hào)。
  • 0781:5581 是廠商和設(shè)備 ID。

將 USB 設(shè)備分配給虛擬機(jī)

使用 virsh 修改虛擬機(jī)配置:

編輯虛擬機(jī)的 XML 配置:

virsh edit <VM-NAME>

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

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

參數(shù)說明:

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

保存后退出。

重啟虛擬機(jī)

將 USB 設(shè)備透傳給虛擬機(jī)后,重啟虛擬機(jī):

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

在虛擬機(jī)中驗(yàn)證設(shè)備

登錄到虛擬機(jī)后,使用以下命令查看 USB 設(shè)備是否可用:

lsusb

應(yīng)該可以看到之前透傳的 USB 設(shè)備。

USB 設(shè)備熱插拔配置

在虛擬機(jī)運(yùn)行時(shí),可以使用以下命令將 USB 設(shè)備添加到虛擬機(jī)或者在虛擬機(jī)動(dòng)態(tài)移除:

添加 USB 設(shè)備:

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

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

動(dòng)態(tài)移除 USB 設(shè)備

如果需要從虛擬機(jī)中移除 USB 設(shè)備,使用以下命令:

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

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

創(chuàng)建一個(gè)名為 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卡透傳到虛擬機(jī)

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

檢查宿主機(jī)支持 PCI 直通

HBA 卡透傳需要宿主機(jī)支持 IOMMU 功能。

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

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

檢查是否啟用 IOMMU:

dmesg | grep -e DMAR -e IOMMU

如果未啟用,請(qǐng)參考以下步驟配置 IOMMU。

啟用 IOMMU

修改 GRUB 配置:

編輯 /etc/default/grub 文件:

vim /etc/default/grub

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

  • 對(duì)于 Intel CPU:
intel_iommu=on iommu=pt
  • 對(duì)于 AMD CPU:
amd_iommu=on iommu=pt

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

sudo update-grub
sudo reboot

確認(rèn) HBA 卡信息

使用以下命令列出宿主機(jī)的所有 PCI 設(shè)備:

lspci -nn

找到 HBA 卡對(duì)應(yīng)的設(shè)備。例如:

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

記錄設(shè)備的 PCI 地址,例如 04:00.0。

將 HBA 卡分配給虛擬機(jī)

編輯虛擬機(jī) XML 配置:

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

啟動(dòng)虛擬機(jī)并驗(yàn)證

啟動(dòng)虛擬機(jī):

virsh start <VM-NAME>

在虛擬機(jī)中驗(yàn)證 HBA 卡

登錄虛擬機(jī)后,運(yùn)行以下命令檢查是否識(shí)別到 HBA 卡:

lspci -nn | grep Fibre

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

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

2009-11-23 19:47:57

ibmdwLinux

2021-02-14 16:49:22

Linux虛擬化Virtio

2020-06-18 16:39:10

KVM虛擬化虛擬機(jī)

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

2013-04-08 10:08:22

開源虛擬化KVM

2013-05-29 15:33:01

開源虛擬化KVM

2019-11-12 14:48:00

Linux桌面虛擬化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-30 16:04:08

虛擬化

2013-02-21 10:50:49

KVM虛擬化

2018-08-08 14:55:32

KVM虛擬化取證
點(diǎn)贊
收藏

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