Files
homelab-infra/docs/HARDWARE_INVENTORY.md

189 lines
6.3 KiB
Markdown

# Hardware Inventory - KalliLab CORE
Status: Hardware-Baseline erfasst; USV/Power-Loss ist als bewusst akzeptiertes Betreiber-Risiko dokumentiert.
Host: `Kallilabcore`
Letzte Pruefung: 2026-05-26
Naechster Review: 2026-08-26
## Zweck
Dieses Dokument beschreibt die physische Basis des Homelabs. Es ist die Grundlage fuer Capacity Planning, Restore-Zeit, Ersatzteilplanung, USV-Verhalten und Entscheidungen wie Immich-ML, Plex-Transcoding oder Storage-Erweiterung.
## Host
| Feld | Wert |
|---|---|
| Hostname | Kallilabcore |
| Standort | Heim-LAN, physischer Standort TBD |
| Betriebssystem | Unraid |
| Unraid-Version | 7.2.4 |
| Rolle | Single-Host Homelab, Docker Compose via Komodo |
| Boot-Medium | Samsung Flash Drive, 59.8G, FAT32 |
| Flash-Backup | In Borg-Scope aufgenommen, siehe `docs/RESTORE_MATRIX.md` |
## CPU
| Feld | Wert |
|---|---|
| Modell | 12th Gen Intel(R) Core(TM) i5-12400F |
| Kerne / Threads | 6 Kerne / 12 Threads |
| Architektur | x86_64 |
| Relevante Flags | AVX, AVX2, FMA, AES, VT-x vorhanden; kein AVX-512 |
| iGPU / Quick Sync | Nein, `F`-CPU ohne iGPU |
Pruefkommando:
```bash
cat /proc/cpuinfo | awk '/model name|flags/ {print; if(/flags/) exit}'
lscpu
```
## RAM
| Feld | Wert |
|---|---|
| Gesamt | 31 GiB |
| Belegt im Normalbetrieb | ca. 7.9 GiB genutzt, ca. 23 GiB verfuegbar |
| Slots / Ausbau | 4x 8 GB DDR4 belegt, gemischte Module |
| Module | Crucial CT8G4DFS8266.C8FE, Crucial CT8G4DFS8213.C8FDD1, 2x G.Skill F4-3600C17-8GVK |
| Konfigurierter Takt | 2133 MT/s |
| ECC | Nein |
Pruefkommando:
```bash
free -h
dmidecode -t memory | grep -E "Size|Speed|Locator|Type" | head -40
```
## Mainboard und Controller
| Feld | Wert |
|---|---|
| Mainboard | Gigabyte Technology Co., Ltd. B760M DS3H DDR4 |
| BIOS/Firmware | American Megatrends International F21, Release 2025-06-19 |
| SATA/HBA Controller | Intel Raptor Lake SATA AHCI Controller, onboard |
| NVMe Controller | Samsung SM981/PM981/PM983 NVMe Controller |
| NVMe Slots | mindestens 1 belegt |
Pruefkommando:
```bash
dmidecode -t baseboard | head -30
lspci
```
## Netzwerk-Hardware
| Interface | Speed | Rolle | Bemerkung |
|---|---:|---|---|
| eth0 / bond0 / br0 | 1 Gbit/s full duplex | LAN | Realtek RTL8125 2.5GbE Controller, Link aktuell 1G; Host-IP `192.168.178.58/24`, Gateway `192.168.178.1` |
| tailscale1 | virtuell | VPN | Tailscale IPv4 `100.80.98.33` |
Pruefkommando:
```bash
ip -br link
ethtool <interface>
tailscale ip -4
```
## Storage
| Slot | Device | Modell | Seriennummer | Groesse | Filesystem | Rolle | Health |
|---|---|---|---|---:|---|---|---|
| Cache | `nvme0n1p1` | Samsung SSD 970 EVO Plus 2TB | `S4J4NM0W609649H` | 1.8T | XFS | Appdata/system/domains | SMART passed |
| Disk1 | `md1p1` / physisch `sdc` | WDC WD60EFAX-68JH4N1 | `WD-WX32D90PC0V0` | 5.5T | XFS auf md1p1 | Array-Daten | SMART passed |
| Parity | physisch `sdb` | TOSHIBA HDWG480 | `2460A03VFA3H` | 7.3T | n/a | Parity | SMART passed |
| Boot | `sda1` | Samsung Flash Drive | `0375125090000587` | 59.8G | FAT32 | Unraid Boot | aktiv |
| Cold Backup | TBD | TBD | TBD | TBD | TBD | Externe Rotation | offen |
Pruefkommando:
```bash
lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINT,VENDOR
findmnt -no FSTYPE /mnt/cache /mnt/disk1 /boot
df -h /mnt/cache /mnt/disk1 /mnt/user
```
## SMART / Health
| Device | Letzter Check | Kritische Werte | Bewertung |
|---|---|---|---|
| /dev/nvme0n1 | 2026-05-26 | Critical Warning `0x00`, Percentage Used `0%`, Media Errors `0`, Power On Hours `370`, Written `5.87 TB` | gut |
| /dev/sdb | 2026-05-26 | Reallocated `0`, Pending `0`, Uncorrectable `0`, CRC `1`, Power On Hours `8971` | gut, CRC-Wert beobachten |
| /dev/sdc | 2026-05-26 | Reallocated `0`, Pending `0`, Uncorrectable `0`, CRC `0`, Power On Hours `14174` | gut |
Pruefkommando:
```bash
smartctl -a /dev/nvme0n1
smartctl -a /dev/sdb
smartctl -a /dev/sdc
```
## USV / Power Loss
| Feld | Wert |
|---|---|
| USV vorhanden | Nein / keine erkannte USV |
| Modell | Kein APC/Eaton/CyberPower-Geraet per `lsusb` erkannt |
| Verbindung | `apcupsd` ist auf USB vorkonfiguriert, aber kein passendes USB-USV-Geraet sichtbar |
| Software | `apcaccess` vorhanden; `apcupsd` laeuft nicht, `localhost:3551` liefert Connection refused |
| Konfigurierte Schwellen | `BATTERYLEVEL 5`, `MINUTES 3`, `TIMEOUT 0`, aber inaktiv solange `apcupsd` nicht laeuft |
| Laufzeit im Idle | Nicht messbar |
| Letzter Shutdown-Test | Nicht durchgefuehrt |
Bewertung:
- Aktueller Befund 2026-05-26: keine funktionierende USV-Absicherung nachgewiesen.
- `apcupsd` ist zwar auf dem System vorhanden, aber nicht aktiv.
- Operator-Entscheidung 2026-05-26: aktuell keine USV-Anschaffung.
- Power-Loss bleibt damit ein bewusst akzeptiertes Risiko fuer Docker-/DB-State und laufende Writes.
- Review-Ausloeser: Hardware-Erweiterung, wiederholte Stromausfaelle, Datenkorruption oder Veraenderung der Betreiber-Prioritaet.
## Stromverbrauch
| Zustand | Verbrauch | Messmethode | Datum |
|---|---:|---|---|
| Idle | TBD | externes Messgeraet erforderlich | TBD |
| Normalbetrieb | TBD | externes Messgeraet erforderlich | TBD |
| Backup-Lauf | TBD | externes Messgeraet erforderlich | TBD |
| Last | TBD | externes Messgeraet erforderlich | TBD |
## Ersatzteil- und Lifecycle-Plan
| Komponente | Trigger | Massnahme |
|---|---|---|
| Cache-NVMe | >70 % Fuellstand oder SMART-Warnung | Zweite NVMe / Pool-Entscheidung; aktuell 6 % belegt |
| Disk1 | >80 % Fuellstand oder SMART-Warnung | Array-Erweiterung / Ersatz; aktuell 33 % belegt |
| Parity | Kleiner als neue groesste Datenplatte | Parity-Upgrade vor Datenplatten-Upgrade |
| Boot-USB | Lesefehler oder Alter TBD | Flash-Backup verifizieren, Ersatzstick vorbereiten |
| RAM | Swap/OOM oder Immich/Nextcloud-Druck | Ausbau planen |
| USV | keine funktionierende USV-Abschaltung | Risiko am 2026-05-26 bewusst akzeptiert; bei Review erneut bewerten |
## Audit-Kommandos
```bash
hostname
uname -a
cat /etc/unraid-version 2>/dev/null || true
lscpu
free -h
dmidecode -t baseboard | head -30
dmidecode -t bios -t system -t baseboard
dmidecode -t memory | grep -E "Size|Speed|Locator|Type" | head -40
lspci | egrep -i 'sata|ahci|raid|nvme|ethernet|network'
ip -br link
ethtool eth0
tailscale ip -4
lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINT,VENDOR
df -Th /mnt/cache /mnt/disk1 /mnt/user /boot
smartctl -a /dev/nvme0n1 | head -100
smartctl -a /dev/sdb | head -100
smartctl -a /dev/sdc | head -100
apcaccess status
/etc/rc.d/rc.apcupsd status
lsusb
```