在 VMware vSphere 9.0 与 VCF 9.0 的结合应用中vGPU 和 DirectPath 配置文件是实现虚拟化环境 GPU 资源高效分配的核心。随着企业对 AI 算力和虚拟化性能的需求提升手动在 UI 中查看配置文件已无法满足自动化运维的需求。本文将以通俗易懂的方式讲解如何通过 vSphere 9.0 API 检索 vGPU 配置文件、DirectPath 配置文件以及查看 DirectPath 配置文件的使用率同时提供可直接运行的 PowerCLI 示例帮助运维和自动化开发人员快速掌握实操方法提升资源管理效率。一、vSphere 9.0 中 vGPU 与 DirectPath 配置文件核心说明vSphere 9.0 针对 vGPU 和 DirectPath 配置文件进行了功能增强不仅在可视化界面中优化了展示效果还通过 API 开放了完整的操作能力支持自动化批量查询、管理。其中vGPU 配置文件用于为虚拟机分配虚拟化 GPU 资源适配不同的 GPU 算力、显存需求;DirectPath 配置文件实现虚拟机直通物理 PCI 设备提升设备访问性能常用于高吞吐、低延迟的业务场景;本文核心围绕检索配置文件和查看使用率两大核心场景讲解 API 的具体使用方式。二、检索 vGPU 配置文件实操(一)核心 API 与原理获取 vGPU 配置文件的核心是调用QueryConfigTarget() API该 API 的核心作用是返回指定资源范围(vSphere 集群 / 单台 ESXi 主机)的硬件和功能支持信息。其执行流程为确定资源作用范围(集群或主机);获取环境浏览器(EnvironmentBrowser)管理器实例;调用 QueryConfigTarget () 获取 ConfigTarget 对象;从 ConfigTarget 对象中提取 vGPU 相关配置信息(VgpuProfileInfo)。(二)操作步骤连接 vSphere 环境通过 PowerCLI 连接到 vCenter Server 或 ESXi 主机;确定资源作用范围选择目标 vSphere 集群或 ESXi 主机对象;获取环境浏览器引用通过作用域对象获取 EnvironmentBrowser 管理器;调用 API 并提取结果执行 QueryConfigTarget ()从返回的 ConfigTarget 中获取 VgpuProfileInfo 属性即为可用的 vGPU 配置文件列表。(三)PowerCLI 示例代码# 连接vCenter Server(替换为实际地址、账号、密码) Connect-VIServer -Server vcenter.example.com -User admin -Password password # 选择目标vSphere集群(替换为实际集群名称) $cluster Get-Cluster -Name Your-Cluster-Name # 获取环境浏览器管理器 $envBrowser Get-View $cluster.ExtensionData.EnvironmentBrowser # 调用QueryConfigTarget API获取配置目标信息 $configTarget $envBrowser.QueryConfigTarget($null) # 提取并输出vGPU配置文件信息 Write-Host 可用vGPU配置文件 -ForegroundColor Cyan $configTarget.VgpuProfileInfo | Select-Object Name, Description, VendorName | Format-Table -AutoSize # 断开vCenter连接 Disconnect-VIServer -Confirm:$false低版本兼容提示若使用 vSphere 7.0 及以上版本可通过 DynamicPassthrough 属性查看 DirectPath 设备信息;vSphere 7.0 Update 3 及以上支持 VgpuProfileInfo 属性;vSphere 8.0 及以上支持 VendorDeviceGroupInfo 属性可根据实际版本调整查询内容。三、检索 DirectPath 配置文件实操(一)核心 API 与原理DirectPath 配置文件的检索依赖DirectPathProfileManager对象核心调用其DirectPathProfileManagerList() API 方法该方法会直接返回当前环境中已创建的所有 DirectPath 配置文件详情。(二)操作步骤连接 vSphere 环境通过 PowerCLI 连接到 vCenter Server;获取 DirectPath 配置文件管理器实例通过 vCenter 的 ExtensionData 获取管理器;调用 List API执行 DirectPathProfileManagerList () 获取配置文件列表;格式化输出整理返回结果展示配置文件的名称、关联设备、适用范围等信息。(三)PowerCLI 示例代码# 连接vCenter Server(替换为实际信息) Connect-VIServer -Server vcenter.example.com -User admin -Password password # 获取DirectPath配置文件管理器 $dpProfileManager Get-View -Id DirectoryPathProfileManager # 调用API获取所有DirectPath配置文件 $dpProfiles $dpProfileManager.DirectPathProfileManagerList() # 输出配置文件信息 Write-Host 可用DirectPath配置文件 -ForegroundColor Cyan $dpProfiles | Select-Object Name, DeviceId, VendorId, Description | Format-Table -AutoSize # 断开连接 Disconnect-VIServer -Confirm:$false四、查看 DirectPath 配置文件使用率实操(一)核心 API 与原理查看 DirectPath 配置文件的使用率需继续使用DirectPathProfileManager对象调用DirectPathProfileManagerQueryCapacity() API该 API 会返回配置文件的总容量、已使用容量、剩余容量等核心使用率数据。(二)操作步骤连接 vSphere 环境通过 PowerCLI 连接到 vCenter Server;获取 DirectPath 配置文件管理器实例同检索配置文件的步骤;调用容量查询 API执行 DirectPathProfileManagerQueryCapacity ();解析使用率数据整理总资源、已用资源、空闲资源等信息直观展示配置文件使用情况。(三)PowerCLI 示例代码# 连接vCenter Server(替换为实际信息) Connect-VIServer -Server vcenter.example.com -User admin -Password password # 获取DirectPath配置文件管理器 $dpProfileManager Get-View -Id DirectoryPathProfileManager # 调用API获取使用率信息 $dpUsage $dpProfileManager.DirectPathProfileManagerQueryCapacity() # 输出使用率数据 Write-Host DirectPath配置文件使用率 -ForegroundColor Cyan $dpUsage | Select-Object {Name配置文件名称; Expression{$_.ProfileName}}, {Name总容量; Expression{$_.TotalCapacity}}, {Name已使用容量; Expression{$_.UsedCapacity}}, {Name剩余容量; Expression{$_.FreeCapacity}} | Format-Table -AutoSize # 断开连接 Disconnect-VIServer -Confirm:$false五、实操注意事项权限要求执行 API 操作需具备 vSphere 环境的只读及以上权限建议使用管理员账号操作;版本适配低版本 vSphere 虽支持部分 API但属性和功能有限需根据实际版本调整代码;环境验证执行代码前需确认 vCenter Server 和 ESXi 主机的网络连通性避免连接失败;结果解析API 返回的结果为结构化对象可根据实际需求筛选、过滤或导出数据(如导出为 CSV 文件)。通过以上实操步骤即可快速通过 vSphere 9.0 API 实现 vGPU 与 DirectPath 配置文件的自动化检索和使用率查看替代手动在 UI 中操作的繁琐流程大幅提升虚拟化环境的资源管理效率。