diff --git a/docs/04_Operations/04_server_operation_manual.md b/docs/04_Operations/04_server_operation_manual.md index 12f08f6..f1250f0 100644 --- a/docs/04_Operations/04_server_operation_manual.md +++ b/docs/04_Operations/04_server_operation_manual.md @@ -3,12 +3,12 @@ doc_type: operations_manual audience: system_admin, devops scope: server_lifecycle, disaster_recovery, maintenance, backup status: active -version: 1.6 +version: 1.7 hostname: llm-node ip_address: 192.168.2.144 -context: "Zentrale Dokumentation für Host-Konfiguration, Mindnet-Applikation, Gitea und Backup-Strategie." +context: "Zentrale Dokumentation für Host-Konfiguration, Mindnet-Applikation, Gitea und Backup-Strategie. Aktualisiert um Two-Stage Disaster Recovery." created_date: 2025-12-14 -last_updated: 2025-12-14 +last_updated: 2025-12-15 --- # Server Operations Manual: llm-node (192.168.2.144) @@ -147,30 +147,54 @@ on_error: --- -## 5. Disaster Recovery (Wiederherstellung) +## 5. Disaster Recovery (Wiederherstellung) - Two-Stage DR -#### Schritt 1: Basissystem -1. Ubuntu Server installieren (IP: `192.168.2.144`). -2. NAS mounten: `mount -t nfs 192.168.2.63:/volume1/Backup_LLM /mnt/nas_backup` -3. Tools installieren: `apt install borgmatic docker.io git nfs-common` -4. User anlegen: `llmadmin`, `git`, `ollama`. +Das Wiederherstellungsverfahren basiert auf einer "Two-Stage DR"-Strategie, die die Geschwindigkeit eines Basis-Images mit der Datenkonsistenz des Borgmatic-Archives kombiniert. + +### 5.1 Stage 1: Basis-Image (Bare Metal Restore) + +Dieses Verfahren ersetzt die manuelle OS-Installation und setzt das System auf den Zustand des letzten Basis-Images zurück (inkl. OS, Users, Pakete, Mount-Einträge). **Voraussetzung ist ein identischer PC oder nur der Austausch der Festplatte.** + +**Prozedur (Von Live-Medium booten):** + +1. **Voraussetzungen:** Booten Sie den neuen/reparierten PC von einem **Live-Medium** (z.B. Ubuntu Live USB). +2. **Mount NAS (auf Live-System):** Stellen Sie die Verbindung zum Backup-Speicher her, um auf das Image zuzugreifen. + ```bash + sudo mkdir /mnt/nas_backup + sudo mount -t nfs 192.168.2.63:/volume1/Backup_LLM /mnt/nas_backup + ``` +3. **Zielpartition identifizieren:** Ermitteln Sie den Gerätenamen der Root-Partition der **neuen** Festplatte (z.B. `/dev/sda1`). **ACHTUNG: Falsches Gerät löscht alle Daten!** + ```bash + sudo fdisk -l + ``` +4. **Image Restore:** Schreiben Sie das komprimierte Basis-Image auf die neue Partition zurück. Ersetzen Sie `YYYYMMDD` durch das tatsächliche Datum und `/dev/sda1` durch Ihre Zielpartition. + ```bash + sudo gunzip -c /mnt/nas_backup/base_image_YYYYMMDD.img.gz | sudo dd of=/dev/sda1 status=progress bs=1M + ``` +5. **Neustart:** Entfernen Sie den Live-USB und starten Sie das System neu. Es sollte nun in das wiederhergestellte Basis-OS booten. + +### 5.2 Stage 2: Daten-Update (Borgmatic) + +Nach dem Booten des wiederhergestellten Basis-Systems (Stage 1) werden die aktuellen Daten und die kritischen Applikations-Snapshots wiederhergestellt. Das OS und die User sind bereits vorhanden. + +#### Schritt 1: Basiskonfiguration prüfen (Entfällt nach Image Restore) + +#### Schritt 2: Aktueller Daten Restore (Borg) +Das Borg-Repository ist dank des Basis-Images bereits in `/etc/borgmatic/config.yaml` und `/etc/fstab` bekannt. -#### Schritt 2: Daten Restore (Borg) ```bash -# Repo verbinden -# borgmatic init --encryption=none /mnt/nas_backup/borg_repo -# Alle Daten wiederherstellen -borgmatic extract --archive latest --path / --destination / +# Alle Daten aus dem letzten Archiv (latest) auf das laufende System wiederherstellen +sudo borgmatic extract --archive latest --path / --destination / ``` -#### Schritt 3: Dienste wiederherstellen +#### Schritt 3: Dienste spezifisch wiederherstellen (Gitea/Qdrant/Ollama) **A. Gitea (Aus Dump):** 1. Dump entpacken: `unzip /var/lib/gitea/gitea-dump.zip -d /tmp/gitea_restore` 2. Service starten: `systemctl enable --now gitea` **B. Qdrant (Aus Snapshot):** -Das Tar-Archiv liegt im Home-Verzeichnis (`/home/llmadmin/`). Es muss in das Volume-Verzeichnis entpackt werden. +Das Tar-Archiv liegt im Home-Verzeichnis (`/home/llmadmin/`) und muss in das Volume-Verzeichnis entpackt werden. 1. Wechsle in das Host-Verzeichnis des Volumes: ```bash @@ -178,17 +202,19 @@ Das Tar-Archiv liegt im Home-Verzeichnis (`/home/llmadmin/`). Es muss in das Vol ``` 2. Entpacke das gesicherte Tar (stellt den Ordner `qdrant_data` wieder her): ```bash - tar -xzf /home/llmadmin/qdrant_backup_latest.tar.gz + sudo tar -xzf /home/llmadmin/qdrant_backup_latest.tar.gz ``` 3. Container starten (Volume-Mount ist korrekt): ```bash docker start qdrant - # Oder Container neu erstellen, falls nötig ``` **C. Ollama (Smart Restore):** -1. Ollama installieren. -2. Modelle mit dem Script aus `/root/ollama_models_backup.txt` neu ziehen. +1. Ollama installieren (falls im Basis-Image nicht enthalten). +2. Modelle mit dem Script aus `/root/ollama_models_backup.txt` neu ziehen: + ```bash + sudo tail -n +2 /root/ollama_models_backup.txt | awk '{print $1}' | while read model; do ollama pull "$model"; done + ``` ---