Files
tommy b43007c9a9 hardware-inventory: add disk SMART/serials for all PVE nodes (via Proxmox API)
All 19 PVE-node disks health=PASSED. Serials + wear captured without sudo.
Still pending: DIMM/system-serial on 4 nodes + PBS disk SMART.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 22:31:40 -05:00

75 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Homelab Hardware Inventory
_Gathered 2026-07-06 via SSH probe (all hosts) + Proxmox read-only API. Serials/DIMM/SMART captured only on nodes with passwordless sudo (compute5, compute6); the rest are pending a sudo pass._
## PVE cluster — physical nodes (6)
| Node | IP | Model | CPU | RAM | Storage | iGPU | NIC |
|---|---|---|---|---|---|---|---|
| **beast** | .200 | Gigabyte X570 AORUS MASTER (BIOS F39) | Ryzen 9 5950X (16c/32t) | 128 GB | 2× Samsung 870 EVO 1TB SATA, 2× Crucial BX500 2TB SATA, 2× HGST 8TB USB HDD (USB-ZFS), Sabrent Rocket 4TB NVMe, Samsung 990 PRO 2TB NVMe | — (2× P2200 discrete, passed to VM 101) | 1 GbE |
| **compute2** | .192 | Dell OptiPlex 3090 | i5-10500T (6c/12t) | 32 GB | Crucial MX500 1TB SATA, Samsung 970 EVO+ 1TB NVMe | UHD 630 | 1 GbE |
| **compute3** | .193 | Dell OptiPlex 3080 | i5-10500T (6c/12t) | 32 GB | Crucial BX500 1TB SATA, Samsung 990 PRO 2TB NVMe | UHD 630 | 1 GbE |
| **compute4** | .194 | Dell OptiPlex 7050 | i7-7700T (4c/8t) | 16 GB | Bliksem 120GB SATA, SK hynix PC601 1TB NVMe | HD 630 | 1 GbE |
| **compute5** | .196 | Dell OptiPlex Micro Plus 7010 (SN 1JPM7Y3) | i7-13700T (16c/24t) | 32 GB DDR5-4800 | WD SN740 256GB NVMe (18% wear), SK hynix PC711 1TB NVMe | UHD 770 | 1 GbE |
| **compute6** | .198 | GMKtec NucBox K10 | i9-13900HK (14c/20t) | 64 GB DDR5-5600 (2×32, A-DATA) | EDILOCA EN206 256GB SATA, Crucial P5 1TB + P3 Plus 1TB NVMe | Iris Xe | **100 Mb ⚠️** |
All PVE nodes on kernel 6.17.13-pve. **beast = PVE master + NUT master**, holds the GPUs and most critical guests.
## Standalone physical hosts
- **pbs** (.153) — HP EliteDesk 800 G4 DM 35W, i5-8500T (6c), 32 GB, Samsung 870 EVO 1TB SATA + Samsung 990 EVO 1TB NVMe + USB drives backing the USB-ZFS datastores (1TB Toshiba MD1000, 2× Hitachi 3TB, Toshiba 2TB, WD10EZEX 1TB), 1 GbE. Proxmox Backup Server 7.0.0-3 — **not** a cluster member.
- **pi4** (.227) — Raspberry Pi 4 (Cortex-A72 4c, 4 GB, 32 GB microSD), 1 GbE, aarch64. Off-host Prometheus watchdog.
## Storage appliances
- **TrueNAS Scale = VM 100 on beast** (4 vCPU, 34 GB) — serves `tank` over NFS (`/mnt/Tank/Media` → media-server `/mnt/media`). Physical disk backing = beast's disks (exact passthrough map TBD).
- **Synology** (.82) — external physical NAS (model TBD, no SSH). NFS `/volume1/PBS` → PBS datastore.
## GPUs
- **2× NVIDIA Quadro P2200** (5 GB GDDR5 each) — physically in beast, **PCI-passthrough to Media-Server VM 101** (driver 580.159.03). Used for Plex / Immich / Tdarr transcode.
- iGPUs for QuickSync: compute4 (HD 630) + compute6 (Iris Xe) run Tdarr nodes.
## UPS (NUT master = beast)
- **cyberpower1** — CyberPower CP1500PFCLCDa (1500 VA / 1000 W tower), ~31% load.
- **cyberpower2** — CyberPower CP1500PFCRM2U (1500 VA / 1000 W rack), ~12% load.
## Guest / workload allocation
**PVE VMs & LXCs**
- **beast**: 100 TrueNAS (4c/34G), 101 Media-Server (8c/17G/230G + 2 GPU), 102 dns-server LXC (Technitium), 103 nextcloud LXC (8c/9G), 104 nut LXC, 108 docker-node02 (8c/4G), 900 ubuntu-template (stopped).
- **compute2**: 106 docker-node01 (4c/6G), 107 ansible-control (2c/2G).
- **compute3**: 109 wazuh (4c/9G).
**Host-level Docker on PVE nodes** (NOT LXC-wrapped — `pct list` empty on these):
- **compute4**: tdarr-node.
- **compute5**: node-exporter.
- **compute6**: tdarr-node, diun, vikunja, speedtest-tracker, ntfy, node-exporter, netdata, glances, watchyourlan, **linkding**.
## Disk health & serials (SMART via Proxmox API, 2026-07-06 — all PASSED)
Wear = % life remaining (100 = new).
| Node | Device | Model | Serial | Size | Wear |
|---|---|---|---|---|---|
| beast | nvme0n1 | Samsung 990 PRO 2TB | S7L9NJ0Y428635T | 2 TB | 98% |
| beast | nvme1n1 | Sabrent SB-ROCKET-4TB | R24093062000007 | 4 TB | 100% |
| beast | sda / sdb | Samsung 870 EVO 1TB | S75BNL0XC20021M / …26272M | 1 TB | 99% |
| beast | sdc / sdd | Crucial BX500 2TB | 2306E6A93ADA / …3C38 | 2 TB | 98% |
| beast | sde / sdf | HGST HUS728T8TALE6L4 8TB (USB) | VGGANA5G / VGK1WUDG | 8 TB | HDD |
| compute2 | nvme0n1 | Samsung 970 EVO Plus 1TB | S6S1NS0TB13410F | 1 TB | 99% |
| compute2 | sda | Crucial MX500 1TB | 2310E6B97787 | 1 TB | 91% |
| compute3 | nvme0n1 | Samsung 990 PRO 2TB | S73WNU0XA01509Y | 2 TB | 99% |
| compute3 | sda | Crucial BX500 1TB | 2306E6A8BFB7 | 1 TB | 97% |
| compute4 | nvme0n1 | SK hynix PC601 1TB | NS03N5816101Y3M12 | 1 TB | 98% |
| compute4 | sda | Bliksem 128GB | YS202010005501AA | 128 GB | 100% |
| compute5 | nvme0n1 | WD SN740 256GB | 22340J800493 | 256 GB | 82% |
| compute5 | nvme1n1 | SK hynix PC711 1TB | AJ0BNA4391070C757 | 1 TB | 100% |
| compute6 | nvme0n1 | Crucial P5 1TB | 20512C08236A | 1 TB | 96% |
| compute6 | nvme1n1 | Crucial P3 Plus 1TB | 25144F6C8F15 | 1 TB | 100% |
| compute6 | sda | EDILOCA EN206 256GB | MX_00000000000060007 | 256 GB | HDD/N-A |
Most-worn SSD = compute5 WD SN740 (82% remaining) — still healthy. pbs disk serials/SMART not yet captured (PBS API token mismatch, sudo pw rejected).
## Notable findings / TODOs
- ⚠️ **compute6 NIC runs at 100 Mb** (ethtool-confirmed; the K10 has 2.5 GbE) — bad cable/switch port. `speedtest-tracker` runs on this node, so its WAN results are capped/misleading. Fix the cable/port.
- **beast concentration / SPOF** — PVE master + NUT master + GPUs + TrueNAS + Media-Server + Nextcloud + DNS all on one machine.
- **Kernel skew** — docker-node01/02 + ansible-control on 6.8.0-111 (pending update); media-server 6.8.0-134; PVE nodes 6.17.13-pve.
- **Disk SMART/serials: DONE for all 6 PVE nodes** (via Proxmox API, no sudo). Still deferred: **DIMM layout + system serial on beast/compute2/3/4** (need `sudo`; the password tried was rejected), **pbs disk SMART/serials** (PBS API token id unknown, sudo pw rejected), TrueNAS `tank` disk-passthrough map, Synology model.