ubuntu22.04安装kvm、virt-manage并配置SR-IOV操作

一、安装KVM及相关组件

sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

将用户加入libvirt组

sudo usermod -aG libvirt $USER
newgrp libvirt  # 刷新组权限(或重新登录)

二、启用IOMMU支持

  1. 编辑GRUB配置:
sudo vim /etc/default/grub
  • intel CPU:修改GRUB_CMDLINE_LINUX行:
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"
  • AMD CPU:
GRUB_CMDLINE_LINUX="amd_iommu=on iommu=pt"
  1. 更新GRUB并重启:
sudo update-grub
sudo reboot

三、验证IOMMU是否启用

dmesg | grep -i iommu
# 应看到类似 "IOMMU enabled" 的输出

四、配置SR-IOV虚拟功能(VF)

1.确认网卡支持SR-IOV

lspci -nn | grep -i ethernet
# 记录网卡的 PCI 地址(如 0000:02:00.0)
ethtool -i <网卡名> | grep driver
# 确认驱动支持 SR-IOV(如 ixgbe、i40e 等)

2.启动SR-IOV并创建VF

# 查看当前 VF 数量
cat /sys/class/net/<网卡名>/device/sriov_numvfs

# 临时创建 4 个 VF
echo 4 | sudo tee /sys/class/net/<网卡名>/device/sriov_numvfs

# 永久配置(以 Intel 驱动为例)
sudo nano /etc/modprobe.d/ixgbe.conf
# 添加:
options ixgbe max_vfs=4

3.确认VF已生成

ip link show
# 应看到类似 "vf 0" 的条目
lspci | grep Virtual
# 应列出 VF 的 PCI 设备

五、将VF绑定到vfio-pci驱动

# 安装 vfio-pci 驱动
sudo apt install vfio-pci

# 获取 VF 的 PCI ID(如 0000:02:10.0)
VF_PCI_ID="0000:02:10.0"

# 解绑原有驱动
echo $VF_PCI_ID | sudo tee /sys/bus/pci/devices/$VF_PCI_ID/driver/unbind

# 绑定到 vfio-pci
echo "vfio-pci" | sudo tee /sys/bus/pci/devices/$VF_PCI_ID/driver_override
echo $VF_PCI_ID | sudo tee /sys/bus/pci/drivers/vfio-pci/bind

六、使用virt-manager创建虚拟机

  1. 启动virt-manager:
virt-manager
  1. 新建虚拟机时,在 最后一步 勾选 Customize before install。

  2. 添加 PCI 设备:

  3. 点击 Add Hardware → PCI Host Device

  4. 选择对应的 VF 设备(如 0000:02:10.0)

  5. 确保虚拟机配置使用 Q35 芯片组和 UEFI(如 OVMF)。

七、验证虚拟机内的SR-IOV网卡

  1. 启动虚拟机后,检查网卡是否识别:
lspci | grep Ethernet
ip link show

2.配置网络(如静态IP或DHCP)
常见问题排查

  1. VF 未显示:
  • 检查 dmesg | grep -i sriov
  • 确认 BIOS 中启用 SR-IOV 和 VT-d/AMD-Vi
  1. 性能问题:
  • 启动 iommu=pt 减少开销
  • 检查IRQ分配是否均衡
  1. 权限问题:
  • 确保用户属于kvm 和 libvirt 组
### 安装 Virt-manager 虚拟机管理器 为了在 Ubuntu 22.04 LTS 中安装 `virt-manager` 虚拟机管理器,需执行一系列命令来确保软件包被正确安装配置。 #### 更新系统包列表 首先更新系统的包列表以获取最新的版本信息: ```bash sudo apt update ``` #### 安装 Virt-manager 及其依赖项 接着通过 APT 包管理系统安装 `virt-manager` 和必要的库文件: ```bash sudo apt install virt-manager -y ``` 这一步骤会自动处理所有必需的依赖关系,完成 `virt-manager` 的安装过程[^1]。 #### 启动 Libvirtd 服务 由于 `virt-manager` 需要与 libvirt 进行交互才能管理和创建虚拟机实例,因此还需要启动启用 `libvirtd` 服务: ```bash sudo systemctl enable --now libvirtd.service ``` 此操作不仅立即激活该守护程序而且设置它随操作系统一同开机自启。 #### 添加用户至 KVM 和 Libvirt 组 对于非 root 用户来说,在尝试运行图形界面下的 `virt-manager` 前应该把自己加入到特定权限组内以便于后续的操作更加顺畅。具体做法如下所示: ```bash sudo usermod -aG kvm $USER sudo usermod -aG libvirt $USER ``` 上述指令将当前登录账户添加到了两个重要的用户组中——kvm 和 libvirt,从而赋予了足够的权利去利用这些工具所提供的功能[^2]。 #### 登录新会话使更改生效 最后记得注销再重新登陆一次计算机使得新的群组成员身份得到应用;或者也可以采用更简单的方法即关闭终端窗口之后新开一个继续下面的工作流程。 现在可以打开应用程序菜单找到 "Virtual Machine Manager" 或者直接输入命令 `virt-manager` 来启动这个 GUI 工具来进行下一步关于 Windows XP 等其他 guest OSes 的部署工作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值