5. PF透传虚拟机场景

5.1. 基本原理

将GPU卡PF直接透传给虚拟机应用场景下,需要管理员在host端部署一个Warm Reset监控工具,该工具会在管理平台对虚拟机开机和关机操作时进行Warm Reset相关操作。

当用户在虚拟机里面运行任务遇到GPU卡严重故障问题,并提示需要Warm Reset操作恢复后,用户可以在虚拟机里面发起Warm Reset操作(实际为Warm Reset请求),然后将虚拟机关机并重新开机。

在host端启动虚拟机前,Warm Reset监控工具检测到GPU卡有Warm Reset请求标记,会对GPU卡进行Warm Reset复位。

在所有带有Warm Reset请求标记的GPU卡完成Warm Reset操作之后,host端会正式启动虚拟机,用户继续在虚拟机里面运行任务。

备注

host端的Warm Reset监控工具无法获取到完整MetaXLink互联信息,在host启动虚拟机前,Warm Reset监控工具会对属于该虚拟机下的所有GPU卡进行必要的状态检查,只有当前状态满足Warm Reset条件了,监控工具才会对GPU卡进行Warm Reset操作。

5.2. 操作步骤

  1. 第一次部署时,管理员在host安装mxhv工具。

    rpm系列:

    rpm -i mxhv-xxx.rpm
    

    deb系列:

    dpkg -i mxhv-xxx.deb
    

    备注

    • 必须在host安装mxhv工具,因为在虚拟机里触发Warm Reset命令后,都是由host端的mxhv工具执行Warm Reset复位。

    • 不要在host安装GPU KMD驱动或其他MXMACA工具,防止host端GPU KMD驱动对透传GPU卡有影响。

  2. 管理员将用户需要的GPU卡透传配置到虚拟机。比如,在虚拟机里面需要使用MetaXLink互联功能,则需要将有MetaXLink互联的GPU卡全部透传到虚拟机,以保证GPU在虚拟机里面的MetaXLink互联拓扑完整性。

  3. 用户通过虚拟机管理平台启动虚拟机。

  4. 用户需要Warm Reset时,通过mx-smi工具,找出需要Warm Reset的GPU卡的node ID(有MetaXLink互联的GPU卡群组可以指定群组内的任意node ID),然后在虚拟机下执行如下命令:

    mx-smi -r -i <node ID>
    

    备注

    • 如果执行Warm Reset命令后console显示了错误信息,或者该命令无法结束,请重启主机。

    • 如果不知道node ID,可直接使用 mx-smi -r -i all 命令对所有GPU卡进行Warm Reset。

  5. 用户在虚拟机里面执行poweroff命令,关闭虚拟机。

    poweroff
    

    备注

    必须使用poweroff命令,不能用reboot等其它重启命令。

  6. 用户通过虚拟机管理平台再次启动虚拟机。

    备注

    在host端启动虚拟机前,Warm Reset监控工具会对GPU卡进行Warm Reset复位,完成后才会正式启动虚拟机,如果5分钟后虚拟机启动没有成功,请重启主机。

  7. 虚拟机启动成功后,执行以下命令查看所有GPU卡和拓扑连接是否恢复,同时确认dmesg没有错误日志。

    mx-smi topo -m
    

    备注

    如果Warm Reset完成后,通过mx-smi命令查看的拓扑连接不正常,或者dmesg有错误日志,请冷重启主机。

  8. 用户继续执行业务。