`

01.GPU云服务器直通方式实现

阅读更多

1、  设备环境

1.1  硬件环境:

  • • NF5280M5   4路服务器

    • NVIDIA Tesla V100

1.2软件环境:

  • • Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-36-generic x86_64)

    • Openstack Queens版本

2、   配置操作系统

2.1  方法及步骤:

(1)BIOS中打开硬件辅助虚拟化功能

         VT(VT-x)及VT-d支持,需要将相关支持设置为enable,默认开启

        路径:Processor—IIO Configuration—Intel@ VT for Directed I/O(VT-d)

 

           

(2)配置intel_iommu=on

        执行命令:sudo vi /etc/default/grub

        在GRUB_CMDLINE_LINUX_DEFAULT字段添加 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci

        在GRUB_CMDLINE_LINUX字段添加 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci

 

(3)修改内核模块文件/etc/modules

       修改内核模块文件/etc/modules,里面列出的模块会在系统启动时自动加载。

       执行命令:vi  /etc/modules
       添加以下内容:

pci_stub

vfio

vfio_iommu_type1

vfio_pci

kvm

kvm_intel

 

(4)更新grub.cfg文件

        执行命令:sudo update-grub 或使用sudo grub-mkconfig -o /boot/grub/grub.cfg

 

(5)重启操作系统开启 Intel_iommu=on

 

 

(6)检查VT-d(AMD芯片时是 IOV)是否工作

 

       执行命令:dmesg | grep IOMMU 或 dmesg | grep -e DMAR -e IOMMU 检查VT-d(AMD芯片时是 IOV)是否工作。若没有相应输出(IOMMU  enabled 必须有),需要重新检查之前的步骤。

 

7)添加黑名单

       添加黑名单,使卡不被占用。

 

       执行命令:sudo vim /etc/modprobe.d/blacklist.conf  

 

       最后添加内容:

 

#NVIDIA config

 

blacklist snd_hda_intel

 

blacklist amd76x_edac

 

blacklist vga16fb

 

blacklist nouveau

 

blacklist rivafb

 

blacklist nvidiafb

 

blacklist rivatv

 

 

 

(8)设置vfio并隔离用于直通的GPU

        在/etc/modprobe.d下添加文件vfio.conf

        执行命令:

        cd /etc/modprobe.d

       touch vfio.conf (创建文档)(如果出现touch: cannot touch 'vfio.conf': Permission denied 先执行sudo chmod -R 777 /etc/modprobe.d )

        文档内写入内容:options vfio-pci ids=10de:1db6  (其中10de:1db6由9得来)

 

(9)查看pci设备信息

        使用命令:lspci -nn | grep NVIDIA

        如果不是NVIDIA的显卡,可以换自己显卡的关键字查询。重查询结果上注意查看自己独立显卡(也就是要直通的显卡)的设备ID和地址,形如: [10de 1b80] 和 [10de 10f0], 01.00.0和01.00.1。(Gefore显卡一般会集成一个声卡芯片)

        其中GPU设备各值含义:

             3b:00.0 和 86:00.0   以 ”bus:slot.func“ 格式来唯一标识一个 PCI 设备

             0302     设备模式     0300: Graphics -- 代表为图形模式 0302:Compute -- 则表明为计算模式

            10de    厂商识别字段(Vendor ID),10de代表此设备来自NVIDIA公司

            1db6   标明特定的设备,由厂商来分配

            a1     设备的版本识别代码,其值由厂商提供

 

(10)查看pci设备驱动

         执行命令:lspci -vv -s 3b:00.0 | grep driver

        没有输出说明没有驱动.

       如果有输出信息如下:

       lspci -vv -s 3b:00.0 | grep driver

       >Kernel driver in use: nouveau    (ubuntu系统为显卡绑定的默认驱动)

       lspci -vv -s 01:00.1 | grep driver

     >Kernel driver in user: snd_hda_intel (显卡上附带的集成声卡的默认驱动)

 

(11)将PCI设备相关驱动解绑

        如果(10)中出现执行后有输出,需进行设备解绑

执行命令:(每个卡都要解绑)

     echo 0000: 3b:00.0 > /sys/bus/pci/devices/0000\:3b\:00.0/driver/unbind
     echo 0000:01:00.1 > /sys/bus/pci/devices/0000\:01\:00.1/driver/unbind

 

(12)将PCI设备绑定到VFIO

       引入VFIO 用户态驱动框架,向用户提供配置IOMMU接口,实现PCI设备在虚拟化场景透传。

       解绑设备 (命令执行上面11),并绑定到VFIO:

      加载VFIO执行命令:

          sudo modprobe vfio

          sudo modprobe vfio-pci

       执行完重启系统,重新启动主机并检查GPU是否在不同的IOMMU组中隔离,以及

      正在使用vfio驱动程序.

       执行命令检查GPU是否在不同的IOMMU组中隔离:

            find /sys/kernel/iommu_groups/*/devices/*

        执行命令进行绑定:

           echo 10de 1db6 > /sys/bus/pci/drivers/vfio-pci/new_id

       查看驱动是否绑定(每个卡都要看一下),执行命令:

           lspci -vv -s 3b:00.0 | grep driver

如果出现 Kernel driver in use : vfio-pci 说明绑定成功。

 

3、      配置openstack

3.1  方法及步骤:

(1)配置nova-scheduler (controller节点),编辑文件 /etc/nova/nova.conf

            [scheduler]  没有修改,用的默认

              scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler

        [filter_scheduler] 默认有,此处没有修改

available_filters=nova.scheduler.filters.all_filters

available_filters=nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter

      [DEFAULT]修改此处

scheduler_default_filters=RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,PciPassthroughFilter

 

(2)重启nova-scheduler 服务

        执行命令:sudo service nova-scheduler restart

 

(3)配置nova-api (controller节点),编辑文件 /etc/nova/nova.conf:  

        [PCI]  添加内容

alias = {"name":"nvidia_v100","product_id":"1db6","vendor_id":"10de","device_type":"type-PCI"} 

 

(4)重启nova-api服务

        执行命令:sudo service nova-api restart

 

(5)配置nova-compute(compute 节点),编辑文件/etc/nova/nova.conf:

        [PCI] 添加内容

 passthrough_whitelist = { "vendor_id":"10de","product_id":"1db6" }   

alias = {"name":"nvidia_v100","product_id":"1db6","vendor_id":"10de","device_type":"type-PCI"}

 

(6)重启nova-compute服务

    执行命令:sudo service nova-compute restart

 

4、     创建GPU服务器验证绑定

4.1  方法及步骤:

(1)创建主机聚合

 

(2) 创建Flavor 添加属性

 

(3) 创建云服务器

  执行命令: openstack server create --network vlan-161 --image ecs-ubuntu1604-x64-20181220 --flavor 513dfb0c-132b-4fb9-903a-ffd131cce6d7 test-gpu-1

 

(4)进入创建的GPU服务器验证挂载

     执行命令:lspci -nn | grep NVIDIA

 

 

 

 

分享到:
评论

相关推荐

    GPU云服务器特性详细设计_v2.1.1_20210430.docx

    以上知识点详细解释了GPU云服务器特性详细设计文档的核心内容,包括GPU直通技术的原理、实现方式以及在云计算环境中的实际操作步骤。这样的设计有助于提供高性能、低延迟的GPU服务,满足需要强大计算能力的用户需求...

    GPU虚拟化、GPU直通、GPU共享的区别.pdf

    GPU 共享是指将 GPU 设备直通给 GPU 服务器虚拟机,然后由 GPU 服务器虚拟机与多个 GPU 客户端虚拟机共享该 GPU 设备。这种模式下,多个虚拟机可以共享同一个物理 GPU 设备,但每个虚拟机的 GPU 使用权依赖于 GPU ...

    桌面云GPU虚拟化与直通技术方案.pptx

    GPU 直通实现方式:通过 PCIe 设备直通技术,虚拟机使用 GPU 和物理 PC 使用 GPU 不存在区别,用户体验相同。 应用配置建议 ------------- ### 软件兼容性 从 PCIE 设备直通技术来说,虚拟机使用 GPU 和物理 PC ...

    XenServer做GPU穿透以及vGPU显卡虚拟化文档.docx

    本文档基于XenServer 6.2版本,结合Dell R720服务器(搭载NVIDIA Grid K2显卡)和Windows 7 Enterprise SP1 64位/Windows Server 2008 R2 SP1 64位操作系统,详细介绍了如何在XenServer环境中实现GPU直通和vGPU显卡...

    FusionSphere虚拟化套件GPU直通技术白皮书.docx

    华为FusionSphere 6.5.0虚拟化套件针对此类需求提供了GPU直通技术,旨在实现GPU资源的高效利用和低延迟的图形处理能力。 1.1 背景简介 传统的虚拟化环境中,GPU资源往往由宿主机统一管理并分配给多个虚拟机,这种...

    锐角云 vbios N3450 PVE 核显直通 vgabios romfile

    1. **准备环境**:确保你的PVE版本支持GPU直通,并且服务器硬件配置允许直通,包括足够的PCI插槽供显卡使用。 2. **获取vgabios romfile**:找到适用于N3450集成显卡的vgabios romfile,例如vbios.rom。这个文件...

    vmware GPU虚拟化.pdf

    为了实现GPU直通,需要在主机配置中选择直通模式,分配GPU给特定的虚拟机。直通后的虚拟机将拥有对GPU的直接访问权限。在虚拟机上,需要关机配置,添加PCI设备,并选择GPU通道。同时,预留所有客户机内存以确保GPU...

    基于GPU资源池虚拟化技术的云非编应用.pdf

    后端云非编集群是云非编制作网的核心,采用硬件刀箱或机架服务器,配置多个可支持直通或虚拟化的GPU显卡,每个非编制作工作站独享高性能GPU能力。 基于GPU资源池虚拟化技术的云非编集群具有如下特点:可以实现非...

    openstack gpu 虚拟化

    硬件上确保服务器平台支持GPU虚拟化技术,软件上需要修改和增强OpenStack的相关组件,如Nova、Glance等,以实现对虚拟GPU设备的管理和调度。随着技术的不断进步和应用场景的扩展,GPU虚拟化在云计算领域的应用将会...

    GPU虚拟化的应用实践.pdf

    二、GPU 虚拟化实现原理 显卡虚拟化就是将显卡进行切片,并将这些显卡时间片分配给虚拟机使用的过程。我们现在使用 3D 桌面虚拟化解决方案中,大部分是使用 nVIDIA 公司提供的显卡虚拟化技术,即是 Vcuda(virtual ...

    gpu 虚拟化介绍

    - **GPU直通(GPU Pass-Through)**:在这种模式下,一个物理GPU被完全分配给一个虚拟机,提供最高级别的GPU性能和功能。 - **裸金属部署(Bare-Metal Deployment)**:允许在没有操作系统层的情况下直接在硬件上运行...

    GPU桌面虚拟化软件测试报告v10513.pdf

    6. **GPU vDGA测试**:vDGA是一种GPU直通技术,将GPU直接分配给单个虚拟机,以实现接近物理GPU的性能。测试可能关注启动时间、3D图形性能和应用程序响应速度等方面。 7. **GPU vSGA测试**:vSGA是一种共享GPU资源的...

    高清制图桌面云助力中国京冶打造建筑应用新标杆.pdf

    1. **GPU直通桌面云**:通过将GPU卡集成的图形工作站虚拟化,实现工地间的远程接入共享,减少了对图形工作站的需求,降低了BIM软件的采购成本,同时支持多用户协作。 2. **集中管理平台**:通过桌面云的集中部署,...

    深信服桌面云用户手册-深信服桌面云用户手册

    1. **高性能计算**: 利用先进的GPU直通技术和虚拟化技术,确保虚拟桌面拥有接近物理机的性能表现。 2. **数据安全**: 采用多层次的安全防护措施,包括访问控制、数据加密传输、行为审计等功能,有效保护企业核心数据...

    阿里云容器服务ACK产品介绍.pdf

    ### 阿里云容器服务ACK产品介绍 ...综上所述,阿里云容器服务ACK通过提供全面的技术支持和丰富的功能特性,能够满足不同规模企业的容器化需求,并帮助企业实现更加高效、稳定的云原生应用部署与管理。

    企业云工作站解决方案.pptx

    通过VDI+GPU,可以将高清120Mbps节目编辑引入办公区,提高节目制作效率,同时,VM+GPU直通技术可以替换专业合成渲染服务器,实现资源共享,提高合成渲染效果,延长节目制作时间。这使得工作人员无需在编辑区和工作区...

    HCIP云计算视频.zip

    15-GPU虚拟化与直通 16-应用虚拟化 17-桌面云管理维护 18-云终端使用 19-云故障处理 20-FA组件安装 21、FA组件安装及初始化配置实验 22、桌面虚拟机封装实验 23、桌面发布与运维实验 24、虚拟桌面删除实验 25-...

    FusionSphere服务器虚拟化运营指南.pdf

    总的来说,FusionSphere服务器虚拟化解决方案提供了一整套完善的云计算运营框架,通过技术创新实现了资源的高效利用、业务的灵活部署以及系统的高可用性,是企业构建私有云或混合云的理想选择。

    白皮书 - 如何为服务器系统添加媒体处理功能.zip

    通过GPU直通、GPU虚拟化等技术,可以优化多个媒体工作负载在同一服务器上的运行。 五、软件框架与API 利用开源软件框架(如FFmpeg、GStreamer)和API(如OpenCV、Intel Media SDK)可以简化媒体处理开发过程。这些...

    深信服_aDesk桌面云_3D设计解决方案.pdf

    深信服桌面云vGPU技术通过将vGPU软件部署在超融合平台上,实现对GPU资源的虚拟化,解决了传统桌面云采用显卡共享导致的性能限制问题。此外,vGPU技术还克服了直通方案部署密度低、不支持中高端显卡的局限,满足了...

Global site tag (gtag.js) - Google Analytics