mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
On a Proxmox node, physical disks collected by the host agent were keyed by the NVMe controller (e.g. "nvme0 [nvme]") instead of the namespace, reported sizeBytes 0 (or a stale filesystem-usage value), and flickered as the agent reading intermittently replaced the authoritative Proxmox disks/list reading. Root causes: - smartctl --scan-open reports NVMe disks by their controller char device (/dev/nvme0), and that scan label became the reported devPath. - DiskSMART carried no capacity, so the server backfilled size by matching the SMART device against host filesystem-usage entries, which never match a whole partitioned/LVM/ZFS disk, leaving size 0. - The unified-resource merge let the agent's controller label overwrite the canonical Proxmox /dev/... devPath. Fixes: - The agent now reports the canonical block device (an NVMe controller resolves to its namespace) and the authoritative capacity from /sys/block, with the smartctl user_capacity / nvme_total_capacity as a cross-platform fallback. Disks behind multiplexing controllers (megaraid, cciss, areca) keep their disambiguating label and smartctl-reported size. - SizeBytes flows through the agent report, host model, and adapter; the filesystem-usage match is demoted to a legacy fallback. - The merge keeps a canonical /dev/<device> devPath and never downgrades it to a scan label, so an un-updated agent can no longer corrupt Proxmox data. Refs #1483. |
||
|---|---|---|
| .. | ||
| docker | ||
| host | ||
| kubernetes | ||