From 4b218a70ddfefa0c04e5fef70c45f4c655906ad8 Mon Sep 17 00:00:00 2001 From: Martin Eckardt Date: Sun, 28 Dec 2025 21:46:50 +0100 Subject: [PATCH] Add dual NVMe storage documentation and snapshot troubleshooting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated architecture diagram with actual disk sizes (100GB/200GB) - Added Storage section with NVMe layout and snapshot commands - Added VM/Storage troubleshooting section: - Snapshot feature not available (Raw Device fix) - Storage overview and disk migration - Thin pool warnings explanation - Updated changelog with storage optimization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- README.md | 47 ++++++++++++++++-- docs/TROUBLESHOOTING.md | 107 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 149 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1af1b83..211b4f0 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,8 @@ Internet [VM 100 "docker-services": 192.168.178.200 / 10.0.0.2] - Docker Host - Alle Services als Container - - 50GB System + 100GB Data Volume + - 100GB System (local-lvm/NVMe1) + - 200GB Data (nvme-data/NVMe2) ``` ## Services @@ -184,6 +185,40 @@ Siehe [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) fuer: - SSL-Zertifikat Fehler - Backup-Probleme - VT-x/KVM nicht verfuegbar +- VM Snapshots funktionieren nicht +- Storage-Migration zwischen NVMes + +## Storage + +### Proxmox Storage Layout + +| Storage | NVMe | Modell | Verwendung | Kapazitaet | +|---------|------|--------|------------|------------| +| `local-lvm` | nvme0n1 | WDC 476GB | VM System Disks | ~350GB Thin Pool | +| `nvme-data` | nvme1n1 | SKHynix 476GB | Data Volumes | ~450GB Thin Pool | + +### VM 100 Disk-Konfiguration + +| Disk | Storage | Groesse | Mountpoint | +|------|---------|---------|------------| +| scsi0 | local-lvm | 100GB | / (System) | +| scsi1 | nvme-data | 200GB | /data | + +### Snapshots + +```bash +# Snapshot erstellen +qm snapshot 100 --description "Beschreibung" + +# Snapshots auflisten +qm listsnapshot 100 + +# Zu Snapshot zurueckkehren +qm rollback 100 + +# Snapshot loeschen +qm delsnapshot 100 +``` ## Changelog @@ -208,8 +243,14 @@ Siehe [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) fuer: - Separates Git-Repository: proxmox-netdata - VT-x im BIOS aktiviert fuer VM-Support - Docker Container Migration zu VM 100: - - VM erstellt: 10GB RAM, 6 Cores, 50GB System Disk - - Separates 100GB Data Volume fuer Nextcloud/Services + - VM erstellt: 10GB RAM, 6 Cores, 100GB System Disk + - Separates 200GB Data Volume fuer Nextcloud/Services - WireGuard auf VM konfiguriert (10.0.0.2) - Alle Container erfolgreich migriert - Alte Container auf Host gestoppt +- Storage-Optimierung: + - Zweite NVMe (SKHynix 476GB) als nvme-data Storage aktiviert + - Data Volume auf nvme-data migriert (Live-Migration) + - Snapshots aktiviert (Raw Device zu Proxmox-managed konvertiert) + - NVMe 1 (WDC): VM System Disks + - NVMe 2 (SKHynix): Nextcloud/Data Volumes diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md index 1256e8d..1b1fb3d 100644 --- a/docs/TROUBLESHOOTING.md +++ b/docs/TROUBLESHOOTING.md @@ -8,7 +8,8 @@ 4. [Service-spezifische Probleme](#4-service-spezifische-probleme) 5. [Backup/Restore Probleme](#5-backuprestore-probleme) 6. [Performance Probleme](#6-performance-probleme) -7. [Stolperfallen und Lessons Learned](#7-stolperfallen-und-lessons-learned) +7. [VM und Storage Probleme](#7-vm-und-storage-probleme) +8. [Stolperfallen und Lessons Learned](#8-stolperfallen-und-lessons-learned) --- @@ -344,7 +345,109 @@ docker system df --- -## 7. Stolperfallen und Lessons Learned +## 7. VM und Storage Probleme + +### VM Snapshots funktionieren nicht + +**Problem:** `qm snapshot` meldet "snapshot feature is not available" + +**Ursache:** Disk ist als Raw Device (`/dev/pve/...`) statt als Proxmox-managed Disk eingebunden + +**Diagnose:** +```bash +# VM Konfiguration pruefen +qm config 100 | grep scsi + +# Falsch (Raw Device - keine Snapshots): +# scsi1: /dev/pve/vm-100-data,size=200G + +# Richtig (Proxmox-managed - Snapshots moeglich): +# scsi1: local-lvm:vm-100-data,size=200G +``` + +**Loesung:** +```bash +# 1. VM stoppen +qm stop 100 + +# 2. Raw Device entfernen +qm set 100 --delete scsi1 + +# 3. Als Proxmox-managed Disk neu hinzufuegen +qm set 100 --scsi1 local-lvm:vm-100-data + +# 4. VM starten +qm start 100 +``` + +--- + +### Storage-Uebersicht und Disk Migration + +**Aktuelles Storage-Layout:** + +| Storage | NVMe | Verwendung | Kapazitaet | +|---------|------|------------|------------| +| `local-lvm` | nvme0n1 (WDC) | VM System Disks | ~350GB Thin Pool | +| `nvme-data` | nvme1n1 (SKHynix) | Nextcloud/Data | ~450GB Thin Pool | + +**Storage Status pruefen:** +```bash +pvesm status +``` + +**Disk zwischen Storages verschieben (Live-Migration):** +```bash +# Disk von local-lvm nach nvme-data verschieben +# --delete 1 = altes Volume nach Migration loeschen +qm disk move 100 scsi1 nvme-data --delete 1 +``` + +--- + +### VM Snapshot Befehle + +```bash +# Snapshot erstellen +qm snapshot 100 --description "Beschreibung" + +# Snapshots auflisten +qm listsnapshot 100 + +# Zu Snapshot zurueckkehren (VM wird neugestartet) +qm rollback 100 + +# Snapshot loeschen +qm delsnapshot 100 +``` + +**Hinweis:** Warnung "QEMU Guest Agent is not running" ist nicht kritisch. Fuer konsistentere Snapshots kann `qemu-guest-agent` in der VM installiert werden: +```bash +apt install qemu-guest-agent +systemctl enable qemu-guest-agent +systemctl start qemu-guest-agent +``` + +--- + +### Thin Pool Warnungen + +**Problem:** `WARNING: Sum of all thin volume sizes exceeds the size of thin pool` + +**Ursache:** Thin Provisioning erlaubt Overprovisioning - die virtuellen Volumes sind groesser als der physische Speicher + +**Loesung:** Dies ist normal bei Thin Provisioning. Wichtig ist, den tatsaechlichen Verbrauch zu ueberwachen: +```bash +# Tatsaechliche Nutzung pruefen +lvs -o lv_name,lv_size,data_percent + +# Thin Pool Status +lvs pve/data -o lv_size,data_percent,metadata_percent +``` + +--- + +## 8. Stolperfallen und Lessons Learned ### nginx auf Windows