[记录]英伟达Tesla K80显卡直通出现未知错误

  实验室添置了新显卡,超微塔式服务器没地方了,只好把旧显卡换到戴尔刀片里,之后在做显卡直通的时候遇到一些莫名其妙的问题,折腾了好久才解决,在这记录一下。

环境:

实体机:DELL PowerEdge R730
操作系统: VMware ESXi, 6.5.0, 6765664
管理平台: VMware vCenter Server Appliance, 6.7.0.21000, 11726888
设备: Nvidia Tesla K80

  问题是这样的:在主机上开虚拟机,并直通其他PCI设备(usb控制器),一切正常,且虚拟机正常启动,正常识别设备。给虚拟机直通Nvidia Tesla K80,虚拟机无法开机,报未知异常,如下图:

  尝试了很多国内外常见的解决方案都无法生效。怀疑是跟显卡型号有关,最后在官方社区找到一个出现完全相同问题的讨论:Passing through Tesla k80 Issue…。下面有一个官方人员的回答是:

Re: Passing through Tesla k80 Issue…

A previous version of this post included advice to add two VMX file entries (efi.legacyBoot.enabled and efi.bootOrder) as part of the solution. These two settings should NOT be used. Instead, following the directions below.
 ——–
You should be able to pass a single GPU (that is, half of a K80) to a VM running on ESX 6 by creating an EFI-bootable VM, doing an EFI installation of your guest OS, and then adding the following to the VM’s VMX file.
pciPassthru.use64bitMMIO=”TRUE”
Trying to pass more than one of these GPUs into the same VM will currently hit a platform memory limit and the VM will fail to boot. (NOTE: This limit has been removed in ESX 6.5).
A smaller card like the K2 does not have this issue: GPGPU Blog Entry
If the above does not work for you, send me email directly at “simons at vmware dot com”. In either case, please share your experience with others on the thread.
And if you have any other questions about running HPC applications in a VMware environment, I’d be happy to hear from you directly.
If you are interested in learning more of what we’ve been doing related to HPC, you can check out our HPC entries on the VMware CTO blog site here: HPC Blog Entries
 
Josh Simons
High Performance Computing
Office of the CTO
VMware, Inc.

  关键是要添加以下高级参数:

HP Microserver Gen8 微型服务器折腾记

得知研一的奖学金是每人平均分后兴奋地买了种草已久的HP Microserver Gen8。在经历漫长的德国直邮和配置升级之后,终于在上周末开始准备上电装系统。现在已经基本完成了计划,在此记录一下。

这台微型服务器首先是要取代我旧的下载机,其次还要为以后用作数据、媒体中心准备,因此我决定直接安装虚拟化环境。虚拟化环境最出名的就是VMware的vSphere产品了,我要使用的是其中的ESXi。

首先下载HP定制版ESXi6.5系统镜像:

HP定制镜像下载页:https://www.hpe.com/us/en/servers/hpe-esxi.html

HPE Custom Image for ESXi 6.5U1 Install CD:https://my.vmware.com/cn/group/vmware/details?downloadGroup=OEM-ESXI65U1-HPE&productId=614

文件为:VMware-ESXi-6.5.0-Update1-6765664-HPE-650.U1.10.1.5.26-Oct2017.iso ,SHA1:58685a1d662f9fb798d2ccb28376811f1b78090a

直接使用iLO远程挂载镜像,注意必须在win7中用ie打开远程控制台,win10有安全限制,chrome会识别为文件下载!

安装前尽量把非目标硬盘都断开连接,只接目标硬盘,我选择安装在主板上的U盘里。安装过程中按照提示选择即可。安装完成后,注意进BIOS改硬盘模式。默认是使用RAID模式,ESXi里只能看到U盘和RAID卡,除非配置好RAID卡上的硬盘组,否则不会显示硬盘。手动切换到AHCI模式后,就可以在ESXi里直接管理硬盘了。

在安装好用来取代之前下载机的虚拟机后,要配置硬盘直通,把旧下载机的硬盘直通给新下载机。ESXi不能简单的直通硬盘,因为硬盘不是设备,只能直通硬盘控制器,但是这样的话所有的硬盘都只能给一个机器用,显然是不合理的。也不能使用扩展卡,因为这样会占用显卡安装位。因此要用RDM技术来间接实现硬盘直通,这种技术是创建一个的特殊 .vmdk 文件(一个文本文件)映射到一块物理磁盘,当虚拟机向这块 VMDK 写入时,实际写入的是后面的物理磁盘。

1、在ESXi 中打开 SSH 访问,并远程登录。

2、寻找需要直连的磁盘路径,一般在/vmfs/devices/disks/目录下

CC(_857X_[H688DG[I_]G~T

3、创建RDM映射

可选参数-z或-r
-r 参数创建的是 Virtual Compabilitiy Mode RDM,即 ESXi 会截获除 READ / WRITE 之外所有 SATA 指令。
-z 参数则是创建 Physical Compability Mode RDM,即 ESXi 除了 LUN REPORT 指令,其他全部原样传递给物理磁盘。

4、分配.vmdk硬盘给目标虚拟机