feat: add home-assistant-dashboard-conventions skill + update multiple skills
- New: smart-home/home-assistant-dashboard-conventions (Mushroom cards, view tabs, no Bubble Cards) - Updated: rke2, ceph, galera, proxmox, brainstorming, compound-learning, 1password-cli, smart-home-automation skills - New references: ceph-cluster-administration, docker-volume-forensics, ceph-crush-weight, ceph-ec-mixed-size
This commit is contained in:
@@ -195,3 +195,69 @@ n5pro is NOT reachable by hostname from proxmox1 — use IP:
|
||||
```bash
|
||||
ssh -o StrictHostKeyChecking=no 10.0.20.91 'commands'
|
||||
```
|
||||
|
||||
### `pvesm list` Fails During Ceph Backfillfull (2026-07-12)
|
||||
|
||||
When Ceph pool `hdd_disk` is in `backfillfull` state (osd.10 at 96.72%),
|
||||
`pvesm list hdd_disk` returns empty with error:
|
||||
```
|
||||
rbd error: rbd: listing images failed: (2) No such file or directory
|
||||
```
|
||||
Similarly `pvesh get /nodes/{node}/storage/hdd_disk/content` fails.
|
||||
**Fallback**: Use `rbd ls hdd_disk` directly (works even when PVE storage
|
||||
layer cannot enumerate). Cross-reference with `pvesh get /cluster/resources
|
||||
--type vm` for orphan detection.
|
||||
|
||||
### HA Rule Created: k8s-prefer-n5pro (2026-07-12)
|
||||
|
||||
Successfully created node-affinity rule for K8s VMs:
|
||||
- Rule name: `k8s-prefer-n5pro`
|
||||
- Type: `node-affinity`
|
||||
- Resources: `vm:118,vm:128,vm:129,vm:130,vm:131,vm:132`
|
||||
- Nodes: `n5pro,proxmox5,proxmox3,proxmox2` (ordered preference)
|
||||
- All 6 VMs briefly went through "deleting" → "starting" → "started" transition
|
||||
- Existing rules untouched (ct:104/ct:99999 → n5pro, vm:310/311 + vm:301/302 negative affinity)
|
||||
|
||||
See `references/ha-manager-and-custom-dashboards-2026-07.md` for full syntax.
|
||||
|
||||
## K8s VM Anti-Affinity Problem (2026-07-12)
|
||||
|
||||
### Current Distribution (BAD)
|
||||
|
||||
| Node | CP | Worker | Risk |
|
||||
|------|----|--------|------|
|
||||
| proxmox2 | cp-03 (129) | worker-02 (132) | 2 VMs lost on node failure |
|
||||
| proxmox3 | cp-02 (130) | worker-03 (131) | 2 VMs lost on node failure |
|
||||
| proxmox5 | cp-01 (118) | worker-01 (128) | 2 VMs lost on node failure |
|
||||
|
||||
Each of the 3 K8s nodes hosts BOTH a CP and a Worker. A single node
|
||||
failure drops 1 CP + 1 Worker simultaneously. Quorum survives (2/3 CPs)
|
||||
but workload capacity drops 33%.
|
||||
|
||||
### K8s VM Anti-Colocation: EXECUTED (2026-07-12) ✅
|
||||
|
||||
The proposed distribution was successfully implemented via live migration.
|
||||
All 3 worker VMs migrated to separate nodes (no node hosts >1 K8s VM):
|
||||
|
||||
| Node | CP | Worker |
|
||||
|------|----|--------|
|
||||
| proxmox1 | — | worker-02 (132) ← migrated FROM proxmox2 |
|
||||
| proxmox2 | cp-03 (129) | — |
|
||||
| proxmox3 | cp-02 (130) | — |
|
||||
| proxmox4 | — | worker-03 (131) ← migrated FROM proxmox3 |
|
||||
| proxmox5 | cp-01 (118) | — |
|
||||
| n5pro | — | worker-01 (128) ← migrated FROM proxmox5 |
|
||||
|
||||
**Migration commands** (ran from source node, not coordinator):
|
||||
```bash
|
||||
ssh root@10.0.20.20 'qm migrate 132 proxmox1 --online' # proxmox2 → proxmox1
|
||||
ssh root@10.0.20.30 'qm migrate 131 proxmox4 --online' # proxmox3 → proxmox4
|
||||
ssh root@10.0.20.50 'qm migrate 128 n5pro --online' # proxmox5 → n5pro
|
||||
```
|
||||
|
||||
HA rule `k8s-prefer-n5pro` was expanded to include ALL 8 nodes before
|
||||
migration (was missing proxmox1, proxmox4 — caused migration failure).
|
||||
See `references/ha-manager-and-custom-dashboards-2026-07.md` for details.
|
||||
|
||||
Result: Any single node failure now loses at most 1 K8s VM (was 2).
|
||||
Quorum survives any single CP node failure (2/3 CPs remain).
|
||||
|
||||
Reference in New Issue
Block a user