docs: integrate tsys2 hardware findings from Windows inventory

tsys2 validated via PowerShell on Windows: 2 SSDs (Samsung 960 PRO
NVMe 512GB + Samsung 850 EVO SATA 1TB) -- the best local storage in
the fleet. wnode-tsys2 needs no NFS; boot on NVMe, bulk data on SATA
SSD. Both NICs are USB dongles (ASIX + Realtek) -- unavoidable on
this laptop form factor, no PCIe NIC expansion possible.

Updated storage tiers, wnode placement, and k8s labeling to reflect
that tsys2 is the fastest-storage worker node. Marked TODO.md items
as resolved.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
This commit is contained in:
2026-07-27 11:39:59 -05:00
parent 11ae08f7e6
commit db575080c9
4 changed files with 53 additions and 12 deletions
+4 -1
View File
@@ -32,7 +32,10 @@ is for batch jobs. Backups DO matter (PBS in use). Production lives elsewhere.
### INCOMING ### INCOMING
- **pfv-tsys2** (Precision 5520, i7-7820HQ, 32GB max, Quadro M1200): Currently - **pfv-tsys2** (Precision 5520, i7-7820HQ, 32GB max, Quadro M1200): Currently
Win10. Will be rebuilt as Proxmox. K8s-dedicated host. Win10. Will be rebuilt as Proxmox. K8s-dedicated host. **Hardware validated
2026-07-27: 2 SSDs (Samsung 960 PRO NVMe 512GB + Samsung 850 EVO SATA 1TB)
-- best local storage in fleet. Both NICs are USB dongles (ASIX + Realtek)
-- unavoidable on laptop, no PCIe NIC option.**
- **tsys5 NVMe**: PCI NVMe drive being added Friday. Recommend local-only - **tsys5 NVMe**: PCI NVMe drive being added Friday. Recommend local-only
(not NFS-exported) for VM images. (not NFS-exported) for VM images.
+9 -7
View File
@@ -94,7 +94,7 @@ SSD/NVMe is essential). The tiered StorageClass design (section 6) serves both.
| cnode4 | control | tsys9 | D5 (tsys4) | -- | NFS-HDD | | cnode4 | control | tsys9 | D5 (tsys4) | -- | NFS-HDD |
| cnode5 | control | tsys3 | S3 (tsys5) | -- | NFS-HDD | | cnode5 | control | tsys3 | S3 (tsys5) | -- | NFS-HDD |
| wnode-tsys1 | worker | tsys1 | D5 (tsys4) | -- | NFS-HDD (small) | | wnode-tsys1 | worker | tsys1 | D5 (tsys4) | -- | NFS-HDD (small) |
| wnode-tsys2 | worker | tsys2 | local (TBD) | D2/S2 (NFS) | TBD | | wnode-tsys2 | worker | tsys2 | **NVMe (960 PRO 512GB)** | **SATA SSD (850 EVO 1TB)** | **NVMe + SSD -- no NFS needed** |
| wnode-tsys3 | worker | tsys3 | **local-lvm (HDD)** | S3 (NFS) | LOCAL-HDD | | wnode-tsys3 | worker | tsys3 | **local-lvm (HDD)** | S3 (NFS) | LOCAL-HDD |
| wnode-tsys5 | worker | tsys5 | **NVMe (local)** | local-nonprod (HDD) | **NVMe** | | wnode-tsys5 | worker | tsys5 | **NVMe (local)** | local-nonprod (HDD) | **NVMe** |
| wnode-tsys6 | worker | tsys6 | **local-lvm (HDD)** | D2 (NFS) | LOCAL-HDD | | wnode-tsys6 | worker | tsys6 | **local-lvm (HDD)** | D2 (NFS) | LOCAL-HDD |
@@ -105,11 +105,13 @@ SSD/NVMe is essential). The tiered StorageClass design (section 6) serves both.
| Storage server | cnodes | wnodes (boot) | wnodes (data) | | Storage server | cnodes | wnodes (boot) | wnodes (data) |
|---------------|--------|---------------|---------------| |---------------|--------|---------------|---------------|
| tsys4 (D2) | cnode2 | wnode-tsys6, wnode-tsys2 | wnode-tsys7 | | tsys4 (D2) | cnode2 | wnode-tsys6 | wnode-tsys7 |
| tsys4 (D5) | cnode1, cnode4 | wnode-tsys1 | -- | | tsys4 (D5) | cnode1, cnode4 | wnode-tsys1 | -- |
| tsys5 (S2) | cnode3 | wnode-tsys9 | wnode-tsys2 | | tsys5 (S2) | cnode3 | wnode-tsys9 | -- |
| tsys5 (S3) | cnode5 | -- | wnode-tsys3 | | tsys5 (S3) | cnode5 | -- | wnode-tsys3 |
**Note: wnode-tsys2 needs no NFS** -- it has 1.5 TB local SSD (NVMe + SATA SSD).
**No single disk or server is a quorum-losing failure point.** **No single disk or server is a quorum-losing failure point.**
--- ---
@@ -213,7 +215,7 @@ responsive. **This is the single highest-impact change for k8s performance.**
| Host | wnode | Boot disk | Data disk | Total RAM | wnode RAM | Role | | Host | wnode | Boot disk | Data disk | Total RAM | wnode RAM | Role |
|------|-------|-----------|-----------|-----------|-----------|------| |------|-------|-----------|-----------|-----------|-----------|------|
| tsys1 | wnode-tsys1 | D5 (tsys4 NFS) | -- | 32 GB | 4-8 GB | Small worker, infra co-tenant | | tsys1 | wnode-tsys1 | D5 (tsys4 NFS) | -- | 32 GB | 4-8 GB | Small worker, infra co-tenant |
| tsys2 | wnode-tsys2 | local (TBD) | NFS | 32 GB | 16-24 GB | General worker (when online) | | tsys2 | wnode-tsys2 | **NVMe (960 PRO 512GB)** | **SATA SSD (850 EVO 1TB)** | 32 GB | 16-24 GB | **Best storage of any worker -- 1.5TB local SSD, no NFS needed** |
| tsys3 | wnode-tsys3 | **local-lvm (349 GB)** | S3 (NFS) | 32 GB | 20 GB | General worker | | tsys3 | wnode-tsys3 | **local-lvm (349 GB)** | S3 (NFS) | 32 GB | 20 GB | General worker |
| tsys5 | wnode-tsys5 | **NVMe (local)** | local-nonprod (HDD) | 96 GB | 32-64 GB | **HPC/ETL powerhouse** | | tsys5 | wnode-tsys5 | **NVMe (local)** | local-nonprod (HDD) | 96 GB | 32-64 GB | **HPC/ETL powerhouse** |
| tsys6 | wnode-tsys6 | **local-lvm (1.7 TB)** | D2 (NFS) | 128 GB | 64-96 GB | **Heavy worker, max RAM** | | tsys6 | wnode-tsys6 | **local-lvm (1.7 TB)** | D2 (NFS) | 128 GB | 64-96 GB | **Heavy worker, max RAM** |
@@ -241,7 +243,7 @@ With local-lvm boot disks:
| tsys6 (128 GB) | 8 cores, 64-96 GB RAM, local-lvm boot + NFS data | Second-largest -- parallel heavy jobs | | tsys6 (128 GB) | 8 cores, 64-96 GB RAM, local-lvm boot + NFS data | Second-largest -- parallel heavy jobs |
| tsys5 (96 GB + NVMe) | 4 cores, 32-64 GB RAM, NVMe boot + HDD data | NVMe makes this fastest for I/O-bound HPC | | tsys5 (96 GB + NVMe) | 4 cores, 32-64 GB RAM, NVMe boot + HDD data | NVMe makes this fastest for I/O-bound HPC |
| tsys3 (32 GB) | 4 cores, 20 GB RAM, local-lvm boot | General-purpose worker | | tsys3 (32 GB) | 4 cores, 20 GB RAM, local-lvm boot | General-purpose worker |
| tsys2 (32 GB, incoming) | 4 cores, 16-24 GB RAM | General-purpose worker | | tsys2 (32 GB, NVMe+SSD, incoming) | 4 cores, 16-24 GB RAM, **NVMe boot + SSD data** | **Fastest storage worker** -- HPC with I/O bounds |
| tsys1 (32 GB) | 2 cores, 4-8 GB RAM | Small worker, don't starve infra VMs | | tsys1 (32 GB) | 2 cores, 4-8 GB RAM | Small worker, don't starve infra VMs |
| tsys9 (24 GB) | 2-4 cores, 4-8 GB RAM | Small worker, SSD boot is the advantage | | tsys9 (24 GB) | 2-4 cores, 4-8 GB RAM | Small worker, SSD boot is the advantage |
@@ -262,7 +264,7 @@ wnode-tsys9: workload=light, storage=ssd
# General workers # General workers
wnode-tsys3: workload=general wnode-tsys3: workload=general
wnode-tsys2: workload=general wnode-tsys2: workload=storage-fast, storage=nvme
wnode-tsys1: workload=light wnode-tsys1: workload=light
``` ```
@@ -434,7 +436,7 @@ Plan for a maintenance window with the k8s cluster briefly down.
1. Install Proxmox on tsys2. 1. Install Proxmox on tsys2.
2. Run `scripts/check.sh` to inventory. 2. Run `scripts/check.sh` to inventory.
3. Run `scripts/apply-tunings.sh --apply`. 3. Run `scripts/apply-tunings.sh --apply`.
4. Create wnode-tsys2 with local boot disk. 4. Create wnode-tsys2 with **boot disk on NVMe (960 PRO)** and **data disk on SATA SSD (850 EVO)**. No NFS needed -- 1.5 TB local SSD is the most local storage of any worker.
5. Join to k8s cluster. 5. Join to k8s cluster.
### 8.5 Phase 5: Critical VM relocation ### 8.5 Phase 5: Critical VM relocation
+6 -4
View File
@@ -52,7 +52,7 @@ a 250 GB local SSD that no VM is using.
| Host | Model | CPU (year) | Cores | RAM | Local Disk | Role (intended) | Tuning | | Host | Model | CPU (year) | Cores | RAM | Local Disk | Role (intended) | Tuning |
|------|-------|-----------|-------|-----|-----------|-----------------|--------| |------|-------|-----------|-------|-----|-----------|-----------------|--------|
| pfv-tsys1 | OptiPlex 9020 | i7-4770 Haswell (2013) | 4c/8t | 32 GB DDR3 | HDD (LVM-thin) | **Infrastructure** | Done | | pfv-tsys1 | OptiPlex 9020 | i7-4770 Haswell (2013) | 4c/8t | 32 GB DDR3 | HDD (LVM-thin) | **Infrastructure** | Done |
| pfv-tsys2 | Precision 5520 | i7-7820HQ Kaby Lake (2017) | 4c/8t | 32 GB (max) | TBD | **Kubernetes** | Incoming (Win10) | | pfv-tsys2 | Precision 5520 | i7-7820HQ Kaby Lake (2017) | 4c/8t | 32 GB (max) | **NVMe 512GB + SATA SSD 1TB** | **Kubernetes** | Incoming (Win10) |
| pfv-tsys3 | Precision 7510 | Xeon E3-1535M v5 Skylake (2015) | 4c/8t | 32 GB DDR4 | HDD (LVM-thin) | **Kubernetes** | Done | | pfv-tsys3 | Precision 7510 | Xeon E3-1535M v5 Skylake (2015) | 4c/8t | 32 GB DDR4 | HDD (LVM-thin) | **Kubernetes** | Done |
| pfv-tsys4 | Precision T1700 | Xeon E3-1246 v3 Haswell (2013) | 4c/8t | 16 GB DDR3 | 6 disks (HDD+SSD+SMR) | **Storage (NFS+PBS)** | Blocked (NIC+RAM) | | pfv-tsys4 | Precision T1700 | Xeon E3-1246 v3 Haswell (2013) | 4c/8t | 16 GB DDR3 | 6 disks (HDD+SSD+SMR) | **Storage (NFS+PBS)** | Blocked (NIC+RAM) |
| pfv-tsys5 | Precision T7500 | Xeon E5620 Westmere (2010) | 4c/8t | 96 GB DDR3 | 6 disks (HDD+SSD) | **Storage (NFS+VMs)** | Blocked (cable) | | pfv-tsys5 | Precision T7500 | Xeon E5620 Westmere (2010) | 4c/8t | 96 GB DDR3 | 6 disks (HDD+SSD) | **Storage (NFS+VMs)** | Blocked (cable) |
@@ -136,6 +136,8 @@ storage tier in the fleet. See section 7.4 for placement recommendation.
| tsys6 | local-lvm | HDD | 1.7 TB | 0 GB | **1.7 TB** | No (all VMs on NFS) | | tsys6 | local-lvm | HDD | 1.7 TB | 0 GB | **1.7 TB** | No (all VMs on NFS) |
| tsys7 | local-lvm | HDD | 1.7 TB | 0 GB | **1.7 TB** | No (all VMs on NFS) | | tsys7 | local-lvm | HDD | 1.7 TB | 0 GB | **1.7 TB** | No (all VMs on NFS) |
| **tsys9** | **local-lvm** | **SSD (PNY CS900)** | **136 GB** | **0 GB** | **136 GB** | **No (all VMs on NFS)** | | **tsys9** | **local-lvm** | **SSD (PNY CS900)** | **136 GB** | **0 GB** | **136 GB** | **No (all VMs on NFS)** |
| **tsys2** | **NVMe** (Samsung 960 PRO) | **NVMe** | **512 GB** | (Win10) | **512 GB** | **Incoming — fastest boot tier after tsys5 NVMe** |
| **tsys2** | **SATA SSD** (Samsung 850 EVO) | **SSD** | **1 TB** | (Win10) | **1 TB** | **Incoming — bulk data on SSD, not rust** |
**Critical observation: every k8s host has 0% used local-lvm.** tsys3 (349 GB), **Critical observation: every k8s host has 0% used local-lvm.** tsys3 (349 GB),
tsys6 (1.7 TB), tsys7 (1.7 TB) all have massive unused local storage. All their tsys6 (1.7 TB), tsys7 (1.7 TB) all have massive unused local storage. All their
@@ -146,8 +148,8 @@ NFS dependency and network latency for every k8s worker -- at zero cost.
| Tier | Where | Speed class | Best for | | Tier | Where | Speed class | Best for |
|------|-------|------------|----------| |------|-------|------------|----------|
| **NVMe** | tsys5 (Friday addition) | 2000-3500 MB/s | HPC scratch, ETL staging, container runtime | | **NVMe** | tsys5 (Friday addition), **tsys2 (Samsung 960 PRO 512GB)** | 2000-3500 MB/s | HPC scratch, ETL staging, container runtime, wnode boot |
| **Local SSD** | tsys9 (PNY CS900, 136 GB) | 500 MB/s | wnode boot disk, etcd | | **Local SSD** | tsys9 (PNY CS900, 136 GB), **tsys2 (Samsung 850 EVO 1TB)** | 500 MB/s | wnode boot disk, etcd, bulk SSD data |
| **NFS-SSD** | tsys4 D3 (SK hynix, USB), tsys5 T5-SSD (Samsung) | 200-400 MB/s over NFS | UCS/LDAP, latency-sensitive VMs | | **NFS-SSD** | tsys4 D3 (SK hynix, USB), tsys5 T5-SSD (Samsung) | 200-400 MB/s over NFS | UCS/LDAP, latency-sensitive VMs |
| **NFS-HDD** | tsys4 D2/D5, tsys5 S1-S4 | 80-120 MB/s over NFS | Bulk data, large disks, non-critical VMs | | **NFS-HDD** | tsys4 D2/D5, tsys5 S1-S4 | 80-120 MB/s over NFS | Bulk data, large disks, non-critical VMs |
| **Local HDD** | tsys3/6/7 local-lvm | 100-150 MB/s | wnode boot disk (better than NFS-HDD due to no network hop) | | **Local HDD** | tsys3/6/7 local-lvm | 100-150 MB/s | wnode boot disk (better than NFS-HDD due to no network hop) |
@@ -605,7 +607,7 @@ and NFS-HDD for bulk data.**
| wnode-tsys6 | tsys6 | **local-lvm (1.7 TB HDD)** | D2 or S2 (NFS) | Move from NFS to local. 1.7 TB local is massive. Restart (currently stopped). | | wnode-tsys6 | tsys6 | **local-lvm (1.7 TB HDD)** | D2 or S2 (NFS) | Move from NFS to local. 1.7 TB local is massive. Restart (currently stopped). |
| wnode-tsys7 | tsys7 | **local-lvm (1.7 TB HDD)** | D5 or S3 (NFS) | Move from NFS to local. 1.7 TB local is massive. | | wnode-tsys7 | tsys7 | **local-lvm (1.7 TB HDD)** | D5 or S3 (NFS) | Move from NFS to local. 1.7 TB local is massive. |
| wnode-tsys9 | tsys9 | **local-lvm (136 GB SSD)** | S2 or D2 (NFS) | Move from NFS to local SSD. **Fastest boot disk for any wnode.** | | wnode-tsys9 | tsys9 | **local-lvm (136 GB SSD)** | S2 or D2 (NFS) | Move from NFS to local SSD. **Fastest boot disk for any wnode.** |
| wnode-tsys2 | tsys2 | local (TBD) | NFS | Create when tsys2 is Proxmox. | | wnode-tsys2 | tsys2 | **NVMe (Samsung 960 PRO 512GB)** | **SATA SSD (Samsung 850 EVO 1TB)** | **Best storage of any wnode.** No NFS needed -- 1.5 TB local SSD. |
| wnode-tsys5 | tsys5 | **new NVMe (local)** | local-nonprod (HDD) | **Fastest wnode in fleet.** HPC/ETL workloads land here. | | wnode-tsys5 | tsys5 | **new NVMe (local)** | local-nonprod (HDD) | **Fastest wnode in fleet.** HPC/ETL workloads land here. |
**Storage tiering strategy per wnode:** **Storage tiering strategy per wnode:**
+34
View File
@@ -90,6 +90,40 @@ wmic path win32_videocontroller get name,adapterram,driverversion
- **PCIe slots**: Is there a free PCIe slot for adding a NIC or HBA? - **PCIe slots**: Is there a free PCIe slot for adding a NIC or HBA?
- **Service tag confirmation**: `GH1XZG2` (already on file from spreadsheet). - **Service tag confirmation**: `GH1XZG2` (already on file from spreadsheet).
### STATUS: Collected 2026-07-27
**Disk inventory — RESOLVED:**
- Disk 0: Samsung SSD 960 PRO **512 GB NVMe** (best local storage in fleet)
- Disk 1: Samsung SSD 850 EVO **1 TB SATA SSD**
- Both SSDs, no spinning rust. 1.5 TB total local SSD.
**Network adapters — RESOLVED (concerning):**
- StorageNetwork: **ASIX USB to Gigabit Ethernet** (dongle, D4-81-D7-3E-0D-5E)
- Ethernet: **Realtek USB GbE Family Controller** (also USB, 18-FD-CB-00-D2-CA)
- Wi-Fi: Intel 8265 (disconnected)
- **Both wired NICs are USB-attached.** Same anti-pattern as tsys4/9.
Unavoidable on this laptop form factor — no onboard PCIe NIC available.
**GPU — RESOLVED:**
- Intel HD Graphics 630 (integrated, 1 GB)
- NVIDIA Quadro M1200 (4 GB, confirmed for passthrough)
**PCIe slots — RESOLVED:**
- Slots 3/6/7/8 report "Available" but these are laptop M.2/WWAN slots, not
user-accessible full PCIe. **Cannot add a PCIe NIC.** NVMe slot occupied
by 960 PRO.
**RAM — PARTIAL:**
- Total 32 GB confirmed (34,097,573,888 bytes).
- Per-stick detail failed to run (PowerShell line-break split
`Format-T` + `able`). Re-run the command below if bandwidth planning
needs stick-level detail:
```powershell
Get-CimInstance Win32_PhysicalMemory | Select-Object Manufacturer, PartNumber, Capacity, Speed, ConfiguredClockSpeed, DeviceLocator, FormFactor | Format-Table -AutoSize
```
**Service tag — CONFIRMED:** `GH1XZG2` (Precision 5520).
--- ---
## 2. Friday maintenance window (physical hardware) ## 2. Friday maintenance window (physical hardware)