ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Openstacak 实现GPU虚拟机

2021-09-01 16:02:51  阅读:198  来源: 互联网

标签:M60 13f2 虚拟机 nvidia Openstacak pci NVIDIA GPU


在宿主机中做虚拟化

开启CPU虚拟化支持 VT-D 和IOMMU 在系统bios中查看VT-D是否打开

dmesg | grep -e DMAR -e IOMMU 

确认IOMMU已经开启

VFIO 虚拟化驱动

默认开机状态下 ,通过指令

Lspci | grep VGA 查看当前安装NVIDIA 显卡

[root@compute ~]# lspci | grep NVIDIA

05:00.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)

06:00.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)

显示更详细的信息

[root@compute ~]# lspci -nn | grep NVIDIA

05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Tesla M60] [10de:13f2] (rev a1)

06:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GL [Tesla M60] [10de:13f2] (rev a1)

其中 05:00.0 表示显卡安装的物理位置, 以及设备相关配置放在linux 的文件目录 /sys/bus/pci/devices/

VGA compatible controller [0300] 表示 M60 工作在图形模式。

10de:13f2 为设备型号 10de vendor ID 为厂商ID 即NVIDIA 13f2 为 product ID 即M60显卡上 一个 GM204GL 核

要想让GPU可以在虚拟机上运行 ,实现虚拟机到物理机的中断映射,物理地址映射 bar空间映射 等

需要在物理机上 使GPU加载VFIO 驱动 在未安装NVIDIA的情况下,系统自带的驱动是nouveau,在安装了NVIDIA 驱动使用的 nvidia

[root@compute ~]# lspci -k -d 10de:13f2

05:00.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)

Subsystem: NVIDIA Corporation Device 115e

Kernel driver in use: vfio-pci

Kernel modules: nouveau, nvidia_drm, nvidia

06:00.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)

Subsystem: NVIDIA Corporation Device 115e

Kernel driver in use: vfio-pci

Kernel modules: nouveau, nvidia_drm, nvidia

在openstack中添加GPU

配置 openstack nova服务

​ nova-cpu.conf,nova.conf

注意 :

​ 配置文件目录 为 /etc/nova/

​ 管理 节点 nova 服务 使用的 配置文件 为 nova.conf,计算节点 nova-compute 服务 使用 配置文件 为 nova-cpu.conf ,两个服务均为 systemd 服务 ,因此 可以在 /etc/system/systemd 文件夹找到对应的配置

在管理节点filter_scheduler 添加 PciPassthroughFilter

enabled_filters =PciPassthroughFilter

添加白名单

[pci]

alias = { "vendor_id":"10de", "product_id":"13f2", "device_type":"type-PCI", "name":"GPU-M60" }

passthrough_whitelist = { "vendor_id": "10de", "product_id": "13f2" }

添加完成后在计算节点查看查看实时日志:

journalctl -f --unit devstack@* 

Final resource view: name=compute phys_ram=32672MB used_ram=512MB phys_disk=149GB used_disk=0GB total_vcpus=24 used_vcpus=0 pci_stats=[PciDevicePool(count=2,numa_node=0,product_id='13f2',tags={dev_type='type-PCI'},vendor_id='10de')]

在实例类型,元数据上添加 要透传的pci设备

pci_passthrough:alias =GPU-M60:1

其中:GPU-M60 为pci设备名 1 表示数量

生成实例后查看是否GPU成功加载

在客户机上安装NVIDIA驱动

通过阿里的 apt 源 直接下载

curl -fsSL https://mirrors.aliyun.com/nvidia-cuda/ubuntu1804/x86_64/7fa2af80.pub/
|sudo apt-key add -

echo "deb https://mirrors.aliyun.com/nvidia-cuda/ubuntu1804/x86_64/ ./" > /etc/apt/sources.list.d/cuda.list

sudo apt update 

sudo apt install -y nvidia-driver-450-server

#nvswitch 机器 需要下载 fabricmanager 工具

sudo apt install -y nvidia-fabricmanager-450

sudo systemctl enable nvidia-fabricmanager

sudo systemctl start nvidia-fabricmanager

安装CUDA

在 sample 文件夹下有 GPU 的性能 测试样例

deviceQuery 查询 GPU 状态

bandwidthTest pcie 通信测试

标签:M60,13f2,虚拟机,nvidia,Openstacak,pci,NVIDIA,GPU
来源: https://www.cnblogs.com/haoxiangchiyicizaofan/p/15214959.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有