自动化kolla-ansible部署openstack+GPU透传方法
自动化kolla-ansible部署openstack+GPU透传方法
欢迎加QQ群:1026880196 进行交流学习
1. CentOS7.x-8.x系列为虚拟机配置GPU直通
1. 编辑文件vim /etc/modules, 添加以下内容:
pci_stub
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_intel 2. 在KVM主机上启用IOMMU #对于Intel芯片:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on" #对于AMD芯片:
GRUB_CMDLINE_LINUX_DEFAULT="iommu=pt iommu=1" vim /etc/default/grub GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"
3. 重新生成grub
EFI
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
非EFI
grub2-mkconfig -o /boot/grub2/grub.cfg
4. 将下列内容加入到blacklist中以避免被宿主机占用,编辑文件
vim /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
blacklist nvidia 5. 查找显卡的Product ID 以及 Vendor ID:
yum install pciutils -y
lspci -nn | grep NVIDIA 如下:
[root@stein-a ~]#
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P4000] [10de:1bb1] (rev a1)
03:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) 6. 编辑
vim /etc/modprobe.d/vfio.conf # create new: for [ids=***], specify [vendor-ID:device-ID]
options vfio-pci ids=10de:1bb1,10de:10f0 7. 写入到系统启动项
echo 'vfio-pci' > /etc/modules-load.d/vfio-pci.conf 8. 重新生成initramfs
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r) 9. 重启系统
reboot 10. 验证
lspci -nnk -d 10de:1bb1
dmesg | grep -i vfio [root@stein-a ~]# lspci -nnk -d 10de:1bb1
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P4000] [10de:1bb1] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:11a3]
Kernel driver in use: vfio-pci
Kernel modules: nouveau
[root@stein-a ~]# dmesg | grep -i vfio
[ 2.503115] VFIO - User Level meta-driver version: 0.3
[ 2.515645] vfio_pci: add [10de:1bb1[ffff:ffff]] class 0x000000/00000000
[ 2.515752] vfio_pci: add [10de:10f0[ffff:ffff]] class 0x000000/00000000
[root@stein-a ~]#
2. Ubuntu18.04系列为虚拟机配置GPU直通
1. 编辑文件vim /etc/modules, 添加以下内容:
pci_stub
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_intel 2. 在KVM主机上启用IOMMU #对于Intel芯片:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on" #对于AMD芯片:
GRUB_CMDLINE_LINUX_DEFAULT="iommu=pt iommu=1" vim /etc/default/grub GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on"
GRUB_CMDLINE_LINUX=""
3. 重新生成grub
EFI
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
非EFI
grub2-mkconfig -o /boot/grub2/grub.cfg
4. 将下列内容加入到blacklist中以避免被宿主机占用,编辑文件
vim /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
blacklist nvidia 5. 查找显卡的Product ID 以及 Vendor ID:
apt install pciutils -y
lspci -nn | grep NVIDIA 如下:
[root@stein-a ~]# lspci -nn | grep NVIDIA
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P4000] [10de:1bb1] (rev a1)
03:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) 6. 编辑
vim /etc/modprobe.d/vfio.conf # create new: for [ids=***], specify [vendor-ID:device-ID]
options vfio-pci ids=10de:1bb1,10de:10f0 7. 写入到系统启动项
echo 'vfio-pci' > /etc/modules-load.d/vfio-pci.conf 8. 重新生成initramfs
dracut -v /boot/initramfs-$(uname -r).img $(uname -r) 9. 重启系统
reboot 10. 验证
lspci -nnk -d 10de:1bb1
dmesg | grep -i vfio root@kvm:~# lspci -nnk -d 10de:1bb1
dmesg | grep -i vfio
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104GL [Quadro P4000] [10de:1bb1] (rev a1)
Subsystem: NVIDIA Corporation GP104GL [Quadro P4000] [10de:11a3]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
root@kvm:~# dmesg | grep -i vfio
[ 3.838714] VFIO - User Level meta-driver version: 0.3
[ 3.846238] vfio-pci 0000:03:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none
[ 3.866370] vfio_pci: add [10de:1bb1[ffffffff:ffffffff]] class 0x000000/00000000
[ 3.886375] vfio_pci: add [10de:10f0[ffffffff:ffffffff]] class 0x000000/00000000
3. CentOS7.x系列 安装显卡驱动
1. 查看是否含有英伟达显卡
lspci | grep -i NVIDIA #下面说明有1块英伟达的显卡
[root@train-all ~]# lspci | grep -i NVIDIA
04:00.0 VGA compatible controller: NVIDIA Corporation GP104GL [Quadro P4000] (rev a1)
04:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
[root@train-all ~]# 2. 添加ELRepo源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 3. 安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 4. 安装nvidia-detect
yum install nvidia-detect -y 5. 运行nvidia-detect
nvidia-detect -v 6. 查找驱动程序
yum search kmod-nvidia 7. 安装驱动程序
yum install kmod-nvidia.x86_64 -y 8. 查看禁用Nouveau
lsmod | grep nouveau
#若没有输出 则说明禁用成功,否则执行下面的命令 9. 在/etc/modprobe.d/blacklist-nouveau.conf中创建一个文件,其内容如下:
vi /etc/modprobe.d/blacklist-nouveau.conf 添加
blacklist nouveau
options nouveau modeset=0 10. 重新生成内核initramfs
dracut --force 11. 重启系统
reboot 12. 测试
nvidia-smi
自动化kolla-ansible部署openstack+GPU透传方法的更多相关文章
- openstack PCI透传(GPU)
描述 kolla-ansible部署openstack的GPU透传方法 一.gpu物理服务器配置 在gpu服务器上主启用IOMMU 确认内核⽀支持iommu $ cat /proc/cmdline | ...
- 使用Ansible部署openstack平台
使用Ansible部署openstack平台 本周没啥博客水了,就放个云计算的作业上来吧(偷个懒) 案例描述 1.了解高可用OpenStack平台架构 2.了解Ansible部署工具的使用 3.使用A ...
- kolla-ansible-----快速部署openstack
基本环境 操作系统:CentOS Linux release 7.5.1804 (Core) 内核版本:3.10.0-862.el7.x86_64 docker版本:1.13.1 1.禁用宿主机的 L ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
- OpenStack(四)——使用Kolla部署OpenStack多节点云
(1).实验环境 主机名 IP地址 角色 内存 网卡 CPU 磁盘 OpenStack-con 192.168.128.110 controller(控制) 8G 桥接网卡ens32和ens33 4核 ...
- kolla部署openstack多节点高可用并对接ceph后端存储(17)
部署节点执行: 安装基础包和docker yum install python-devel libffi-devel gcc openssl-devel git python-pip -y 升级一下 ...
- 001.Ansible部署RHCS存储集群
一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...
- 使用ansible部署CDH 5.15.1大数据集群
使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...
随机推荐
- WPF 之绘画(十一)
一.WPF 绘画 WPF 可以绘制线段(Line).矩形(Rectange).椭圆(Ellipse).路径(Path).具体使用如下所示: <!--(1)线段:Line--> <Li ...
- JVisualVM监控JVM-外网服务器
环境说明: a:阿里云服务器Centos8.2 b:JDK1.8 1:增加JMV运行参数 java -jar 启动时添加一下参数: -Djava.rmi.server.hostname=外网IP地址 ...
- oracle startup startup nomount startup mount 的区别
startup nomount选项启动实例,但不安装 数据库.当数据库以这个模式启动时,参数文件被读取:后台进程和内存结构被启动:但它们不被附加或与数据库的磁盘结构进行通信.当实例处于这个状态时sta ...
- python的基本运算符
目录 基本运算符 1.算术运算符 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.身份运算符 6.位运算符 7.成员运算符 基本运算符 1.算术运算符 运算符 描述 实例 + 加-两个对象相加 a ...
- mtk相机冷启动拆解
1 概述 冷启动大致可以分成以下几块内容: S0 (system) 主要是 Activity 的创建耗时(从 Touch up,即 ptr:up 开始) ptr:up S1 App 从 Activit ...
- 基于 react + electron 开发及结合爬虫的应用实践🎅
前言 Electron 是一个可以使用 Web 技术如 JavaScript.HTML 和 CSS 来创建跨平台原生桌面应用的框架.借助 Electron,我们可以使用纯 JavaScript 来调用 ...
- Java多态练习题
需求: 宠物饿了,需要铲屎官给宠物喂食. 不同宠物吃的东西不一样. 不同宠物恢复后体力值不一样. 铲屎官和狗狗玩接飞盘游戏,狗狗健康值减少10,与铲屎官亲密度增加5 铲屎官和 企鹅玩游泳游戏,企鹅健康 ...
- Java 中为什么要设计包装类
尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...
- 推荐模型AutoRec:原理介绍与TensorFlow2.0实现
1. 简介 本篇文章先简单介绍论文思路,然后使用Tensoflow2.0.Keras API复现算法部分.包括: 自定义模型 自定义损失函数 自定义评价指标RMSE 就题目而言<AutoRec: ...
- Java 集合框架 03
集合框架·HashSet 和 TreeSet HashSet存储字符串并遍历 * A:Set集合概述及特点 * 通过API查看即可 * 无索引,不可以重复,无序 * B:案例演示 * HashSet存 ...