在日常运维 vSphere 虚拟化环境的过程中,只要你的业务负载用到了云原生存储 CNS—— 不管是原生 Kubernetes、第三方 K8s 集群,还是 vSphere Kubernetes Service(VKS)、vSAN 文件服务,亦或是 VMware Cloud Foundation Automation(VCFA),大概率都在 vCenter 的近期任务面板里,见过反复出现的「Query container volume async」(查询容器卷异步)任务。

之前我一直把它当成普通的信息类提示,直接忽略不管。但最近在做VCFA 升级后,我发现这个任务的出现频率明显变高,几乎一直在刷屏,既影响查看关键任务,也让我好奇它到底从哪来、能不能降低出现频率。于是我决定一步步排查,把这个问题彻底弄清楚。

首先我发现,这些任务虽然显示在 vCenter 里,但 vSphere UI 界面只展示了任务名称,没有任何额外的说明、来源和触发逻辑,根本没法直接判断原因。既然 UI 查不到信息,我就转向 vSphere API,通过 PowerCLI 写了一段脚本,专门抓取这类任务的详细信息:

# 筛选出Query container volume async任务
$tasks = Get-VIEvent -MaxSamples 5000 | where { $_.GetType().Name -eq "TaskEvent" -and $_.FullFormattedMessage -eq "Task: Query container volume async" }
$results = @()
# 提取任务时间和OpID
foreach ($task in $tasks) {
    $tmp = [pscustomobject] [ordered] @{
        Time = $task.CreatedTime
        OpID = $task.info.ActivationId
    }
    $results += $tmp
}
# 按时间排序展示
$results | Sort-Object -Property Time

通过这段脚本,我不仅成功筛选出了所有这类任务,还拿到了关键的OpID(操作 ID)。这个 ID 是排查日志的核心线索,我可以用它在 vCenter Server 的日志里精准定位任务来源。

随后我在 vCenter 日志中检索这些 OpID,发现它们全部出现在 /var/log/vmware/vsan-health/vsanvcmgmtd.log 日志文件中,顺着日志往下分析,终于找到了问题的核心根源。

原来这个频繁的任务,是由两个独立的健康检查服务共同触发的:

1.vSAN 健康检查服务

这是最主要的来源。vSAN 健康服务会每 5 分钟执行一次周期性检查,目的是保障底层存储系统的健康状态,这个检查过程就会生成「Query container volume async」任务,而且这个频率是默认固定、无法手动配置修改的。

2.vSphere CSI 容器存储接口驱动

除了 vSAN 健康检查,vSphere 底层的 CSI 驱动也会自主执行定期健康检查,尤其是在容器卷挂载、卸载的时候,同样会触发这类任务。不过 CSI 的检查频率远低于 vSAN 健康检查,且可以在 vSphere Supervisor 中手动调整。

我在日志里对比了不同 OpID 的时间戳,能清晰看到两组任务都严格遵循 5 分钟的周期,一组来自 vSAN,一组来自 CSI,两者目的不同,但最终生成了一模一样的任务提示。

为了验证判断,我做了一个测试:在 vCenter 中临时关闭 vSAN 健康检查服务。结果不出所料,界面里频繁弹出的「Query container volume async」任务直接消失了。但这里必须强调:生产环境绝对不能关闭 vSAN 健康检查,这个服务是保障 vSAN 存储稳定、提前发现存储故障的核心组件,禁用会带来极大的存储风险。

针对这个问题,我已经向 VMware 官方提交了功能增强建议:

一是希望 vSAN 健康检查的频率至少支持自定义配置,避免任务刷屏;

二是建议优化任务逻辑 —— 健康检查成功时不生成提示任务,仅在存储出现异常时告警;

三是希望 vCenter 支持「排除指定任务展示」的功能,不用再被这类信息类任务干扰。

目前从官方层面,还没有直接关闭或降低该任务频率的正式方案。可以明确的是:vSphere UI 中频繁出现的「Query container volume async」任务是完全正常的健康检查行为,不是系统故障,也不会影响业务运行。

如果你也遇到了这个问题,无需恐慌和额外处理,耐心等待 VMware 后续版本优化即可。日常运维中,可暂时通过任务筛选的方式,忽略这类信息类提示,专注关注关键业务任务即可。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐