Freier Proxmox Backup Server

Begonnen von cetri, 16 Dezember 2024, 14:49:23

Vorheriges Thema - Nächstes Thema

RalfRog

Danke Otto
Die Notizen denken sich mit dem was ich herausgefunden habe. Auch "ethtool...wol g" hatte ich in die Interfaces-Konfiguration eingebunden - dann braucht man sich nicht mehr kümmern.
FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Otto123

#31
Hallo Gisbert,

ich habe das auf einem Rechner im Einsatz, da ist das "aktuelle" BIOS von 2014 und es funktioniert.
RTC Wakeup muss sich im BIOS aktivieren lassen, ich meine: die Zeit dafür außerhalb vom BIOS zu setzen hat wahrscheinlich schon so lange funktioniert, wie es diese Funktion gibt.
APM gibt es ja mindestens "seit Windows 95" und ich denke RTC Wakeup hängt irgendwie an APM und/oder ACPI (das gibt es seit 1996)

Versuch macht kluch :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle

aktives Mitglied des FHEM e.V. (Technik)

RalfRog

#32
Zitat von: Gisbert am 14 April 2026, 09:07:36
Zitat von: RalfRog am 13 April 2026, 23:18:31BTW: Gisbert wie hast du das Fehlermeldeproblem des nicht verfügbaren PBS-Storage im PVE gelöst?
Hallo Ralf,
stimmt, da gibt es viele Meldungen im PVE Log. Bisher war es mir nicht bewusst. Ich hab deinen Beitrag oben dazu gelesen, aber nicht genau verstanden, wie du die Fehlermeldungen weg bekommst.
Kannst du es nochmals beschreiben, was du genau beim PBS und PVE gemacht hast?
Viele Grüße Gisbert

Hallo Gisbert, in Kurz:

Es spielt sich alles auf dem PVE ab, da dort im Rechenzentrum/Datacenter unter Storage der "Proxmox Backup Server mit seiner StorageID" konfiguriert ist.
In der Weboberfäche kann man (siehe Spalte Aktiviert) über "Bearbeiten" den Storage Aktiviveren/Deaktivieren. Wenn er Deaktiviert ist gibt es keine Fehlermeldungen mehr.
Dafür gibt es auch ein CommandLineTool: pvesm set <ID des Storage> --disable 0 bzw. 1
Also muss man nur dafür sorgen, dass der Storage per CmdLine vor dem Shutdown des PBS deaktiviert wird und nach dem Wiederanlaufen aktiviert wird.

Ausführlicher auf Basis obiger Info
Hab ich mir nicht alles selbst ausgedacht, sondern z.B. das hier als Quelle benutzt (das Wichtigste in #58 und #63/64 -- https://forum.proxmox.com/threads/shutdown-des-pbs-nachdem-alle-vms-gesichert-wurden.104263/post-556239)

An sich ist die beste Stelle den Storage zu aktivieren/daktivieren das BackupTool "vzdump", dass den BackupJob nach Zeitplan startet.
Es kennt im Prinzip den Parameter "--script <string> :Use specified hook script".
In der Weboberfläche kann man das Script nicht hinterlegen, daher muss man die Configdatei selber anpassen --> /etc/pve/jobs.cfg
vzdump: backup-e1643110-2d06      <== mein Wyse PBS Backup
        comment taegliches Backup auf PBS
        schedule 04:30
        enabled 1
        fleecing 0
        mode suspend
        node pve
        notes-template {{guestname}}:{{node}}-{{vmid}}:  Wyse Backup taeglich der Server
        notification-mode notification-system
        prune-backups keep-all=1
        script /usr/local/bin/vzdump-hook-script-wyse.pl  <== Pfad zum selbst erstellten HookScript (Rechte chmod 755)
        storage wyse-pbs          <== Storage ID
        vmid 101,102,103

vzdump: backup-ae36d6ca-ed42      <== mein Tuxis Backup
        comment Woechentliches Backup f%C3%BCr Server ohne Veraenderungen (Sonntag 1%3A00)
        schedule sun 04:00
        enabled 1
        fleecing 0
        mailnotification always
        mode suspend
        node pve
        notes-template {{guestname}}:{{node}}-{{vmid}}, woechentliches Backup
        notification-mode notification-system
        prune-backups keep-weekly=6
        repeat-missed 1
        storage tuxis-pbs         <== mein Tuxis Backup
        vmid 101,103,102

vzdump: backup-24376893-65ca
        comment Monatliches Backup lokal
        schedule sat *-1..7 04:00
        compress zstd
        enabled 1
        fleecing 0
        mailnotification failure
        mode suspend
        node pve
        notes-template {{guestname}}:{{node}}-{{vmid}}:  lokales Backup monatlich der Server
        notification-mode notification-system
        prune-backups keep-last=2
        storage local
        vmid 101,102,103


Das HookScript kann im Prinzip igendwo hinterlegt werden und gehört root.
"vzdump" verzweigt nun zu bestimmten Ausführungszuständen in dieses Script - im PVE selber ist ein Beispiel hinterlegt mit den Phasen auf die man triggern kann:
/usr/share/doc/pve-manager/examples/vzdump-hook-script.pl

Auszug der Trigger
   $phase eq 'job-init'
   $phase eq 'job-start'
   $phase eq 'job-end'
   $phase eq 'job-abort'
   $phase eq 'backup-start'
   $phase eq 'backup-end'
   $phase eq 'backup-abort'
   $phase eq 'log-end'
   $phase eq 'pre-stop'
   $phase eq 'pre-restart'
   $phase eq 'post-restart'


Mein HookScript in Anlehnung an den obigen Formumsbeitrag mit Starten des PBS und Aktivieren des Storage und zum Ende Deaktivieren des Storage (Shutdown offen, aktuell nach 2 Stunden per cron):
#!/bin/bash
# script um den Backupserver zu starten wenn ein Backup ansteht. Danach wieder Ausschalten
# dieses Hook-Skript (nano /usr/local/bin/vzdump-hook-script)  zum Backup-Auftrag hinzufügen: nano /etc/pve/jobs.cfg
# by AME 05/2023
#----------------------- Variablen --------------------------------------------------------------------------------#
PATH=/usr/sbin:${PATH}
# SET-X damit die Ausfuehrung protokolliert wird
#set -x
storeid=wyse-pbs                                                 # Variable - um welches Storage handelt es sich
mac="11:22:33:44:55:66"                                          # MAC Adresse des PBS-Servers
host="1.2.3.4"                                                   # Hostname oder IP des PBS-Servers
nic=eno1                                                         # Netzwerk-Karte über die WOL läuft
#---------------------- Funktionen --------------------------------------------------------------------------------#
# Raum für funktionen im Script
#----------------------- Programmablauf ---------------------------------------------------------------------------#
#

if [ "$1" == "job-init" ]; then                                  # wenn ein backup job rein kommt dann

    echo "HookLog: Wecke Backserver"                             # zusätzliche eigene Logeintraege per echo und Hinweis HookLog:
    wakeonlan $mac                                               # starte den Backup-Server wegen rtcwake eigentlich unnoetig
    sleep 60s                                                    # warte 60 Sekunden auf Abschluss des Starts

    echo "HookLog: Enable Storage wyse-pbs"
    pvesm set $storeid --disable 0                               # der Storage wird enabled

                                                                 # Teste per Storage Verfügbarkeit "pvesm status" ob -PBS erreichbar
    until [ "$act" == "true" ]; do                               # arbeite die Schleife ab bis die variable "ack" wahr ist

        com=$(pvesm status --storage $storeid | tail -1);       # Abfrage über den Status des Storage
        [[ $com =~ ($storeid+ +)(pbs+ +)(active|inactive) ]];   # Statusabfrage enthält "wyse-pbs   pbs   active"

        if [ ${BASH_REMATCH[3]} == active ]; then               # der server/storage ist erreichbar also aktiv?
            echo "HookLog: Backup-Server ist erreichbar"
            act=true                                            # variable "act" wird wahr um aus dem loop rauszukommen
            sleep 6s
            exit 0
        else
            ((c=c+1))                                           # counter
        fi

        if [ $c == 180 ]; then                                  # wenn der server nach 180 sec. nicht erreichbar ist exit 1, Wartezeit anpassen
            echo "HookLog: ERROR Backup-Server ist nicht erreichbar"
            sleep 2s
            echo "HookLog: Disable Storage wyse-pbs"
            pvesm set $storeid --disable 1                      # deaktiviere den Speicher wieder
            exit 1
        fi
        sleep 1s
    done                                                        # until ende
fi                                                              # job-init Ende


if [ "$1" == "job-end" ]; then                                  # Wenn der Backup Job erledigt ist dann
        echo "HookLog: Backup erledigt, warte 20 Sekunden dann wird der Backup-Server gestoppt"
        sleep 20s
        echo "HookLog: Disable Storage wyse-pbs"
        pvesm set $storeid --disable 1                          # der Storage wir disabled, sonst ist er nicht erreichbar und>
#       ssh root@$host -p 22 "poweroff < /dev/null &"           # der Backupserver wird heruntergefahren muss ich noch erarbeiten siehe Lösung Gisbert
# passendes Konzept welches Verify, Prune, GC und den SyncJob auf Tuxis beachtet nachdem der eigentliche BackupJob gelaufen ist
fi

exit 0

Hoffe das ist so ok.  Gruß Ralf
FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Wernieman

Nur mal so als Anregung: Warum sich mit WakeUpOnLan rumschlagen, wenn man auch eine Schaltbare Steckdose und im Bios Einstellen kann, bei Strom laufen. So habe ich es hier seit Ewigkeit mit mehreren Rechnern am laufen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RalfRog

#34
Hi Wernieman
Naja rumschlagen ist etwas übertrieben. Es funktioniert ja unter Beachtung der Randbedingung - mit dem Vorteil, dass man nichts extra braucht.
Mein Futro S740 wäre da z.B. ganz unkompliziert. WOL für Ethernet im BIOS aktivieren - fertig (kein ethtool oder Weiteres). Nur der läuft halt dauernd da brauch ich es nicht.

Die Steckdose bräuchte man halt als Extrateil, was separat gesteuert werden will und vielleicht mal gestört sein könnte.
Hätte für absolute Sparfüchse den Vorteil noch 22 Stunden das für WOL nötige extra-Watt bei Shutdown/PowerOff einzusparen.

Gruß Ralf
FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Gisbert

Zitat von: Otto123 am 14 April 2026, 11:14:27Hallo Gisbert,

ich habe das auf einem Rechner im Einsatz, da ist das "aktuelle" BIOS von 2014 und es funktioniert.
RTC Wakeup muss sich im BIOS aktivieren lassen, ich meine: die Zeit dafür außerhalb vom BIOS zu setzen hat wahrscheinlich schon so lange funktioniert, wie es diese Funktion gibt.
APM gibt es ja mindestens "seit Windows 95" und ich denke RTC Wakeup hängt irgendwie an APM und/oder ACPI (das gibt es seit 1996)

Versuch macht kluch :)

Gruß Otto

Kurze Rückmeldung zu einem Proxmox PVE, den ich in erster Linie als Backup für die unterschiedlichsten Dinge einsetzen will.

Das Mainboard ist von Gigabyte, so aus dem Jahr 2010. rtcwake ließ sich partout nicht dazu zu bewegen, das der Rechner aufwacht. Ich hab alle möglichen Varianten ausprobiert - nichts lief.
Ich war deshalb so hartnäckig und hab alles ausprobiert, weil ich dachte, dass wake-on-lan nicht gehen würde - das tat es dann aber im Anschluss ohne Fehler.

Viele Grüße Gisbert
Proxmox | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon

RalfRog

#36
Hi Gisbert
Habe deine Shutdown-Idee des Services mit Prüfung "proxmox-backup-manager task list" für mich verworfen.

Zitat von: Gisbert am 13 April 2026, 12:26:41Auf dem HP T610 läuft folgendes Programm.

Service-Datei erstellen in /etc/systemd/system/proxmox_shutdown.service

    [Unit]
    Description=Herunterfahren des PBS nach Erledigung aller Jobs
    .....
    [Install]
    WantedBy=multi-user.target
....
Ausführbahre Datei pbs_shutdown erstellen, /usr/bin/pbs_shutdown

    #!/usr/bin/env bash
    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
   
    INTERVAL=60 # Wartezeit in Sekunden
    .....
    while true; do
    if proxmox-backup-manager task list | grep -q .; then
   

Meine erste Idee einer Steuerung durch das Hook-Script per API des PBS ebenfalls (bin einfach programmmiertechnisch zu schlecht für die ganzen curl-Aufrufe.
Ich habe jetzt in das Hook-Script (https://forum.fhem.de/index.php?msg=1361999) einen SSH-Aufruf auf den PBS gemacht (eingeschränkt per "PermitRootLogin forced-commands-only" in der "sshd_config") und dort dann alle "Pflegejobs" manuell gestartet (hier verkürzt):
....
proxmox-backup-manager verify-job run <id>
proxmox-backup-manager sync-job run <id>
proxmox-backup-manager prune-job run <id>
proxmox-backup-manager garbage-collection start <id>
/usr/sbin/rtcwake -m off -t $(date -d "tomorrow 4:28" +\%s)  ==> wegen dem merkwürdigen WOL vom Wyse
....

Somit läuft alles komprimiert hintereinander ab und der Shutdown braucht keinen Sicherheitspuffer.
Im bestem Fall ist das in 15 Minuten erledigt.

Somit ist der PVE als Backupstarter der Herr des Geschehens.

Gruß Ralf



FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Gisbert

#37
Hallo Ralf,

meine Konstruktion, die ich auf einem Proxmox Backup Server laufen lasse, ist robust, so dass ich da erst mal nicht ran gehe.

Ich hatte noch einen (ur)alten Rechner mit teils noch älteren, aber auch neueren Festplatten rumstehen, auf dem Windows 10 lief. Auf eine SSD, die vorher Windows 10 beherbergte, hab ich Proxmox PVE (wir nennen es mal PVE-2) installiert. Was ich mit dem Rechner genau vorhab, weiß ich eigentlich noch gar nicht.

Ich dachte mir, dass ein weiteres Backup ja nicht schaden könnte und hab eine Festplatte des PVE-2 per NFS in meinem produktiven PVE definiert. Das läuft auch an und für sich, aber meine Konstruktion des Überwachens greift nicht, da ich ja keinen PBS-Server sondern einen PVE hab. Mit etlichem Aufwand hab ich das dann auch hingekriegt - aber ich frage mich, ob eine weitere Maschine neben dem PBS und Tuxis, die ich ja bereits habe, sinnvoll ist.

Die Frage ist, was kann man sinnvolles mit einem Rechner (jetzt als PVE-2 konfiguriert) machen, der folgende Ausstattung hat:
- 4 Kerne: AMD Phenom II X4 920 Processor
- 4 GB RAM (s. weiter unten)
- 4 Festplatten: 250GB SSD, 1TB HD, 500GB HD, 250GB HD
- wakeonlan funktioniert
Falls meine Produktiv-PVE (also der Rechner) stirbt, dann könnte ich Backups auf der PVE-2 starten - aber da scheinen 4 GB RAM grenzwertig bis gar nicht machbar zu sein. Die Festplatten sind ja auch wunderbar alle unterschiedlich groß - da fehlt mir das Wissen, was ich damit anstellen könnte.

Man könnte den RAM noch auf insgesamt 8 GB aufrüsten, was dann für den temporären Betrieb der VMs reichen würde, bis ein neuer Rechner am Start wäre. Die CPU ist eigentlich noch schnell genug, aber für einen Dauerbetrieb sind 85W definitiv zu viel.

Meine Überlegung geht in die Richtung, den alten Rechner so mit Proxmox und den jetzigen VMs auszustatten, so dass ich bei Ausfall des produktiven PVE-Rechners mit dem alten Rechner ohne große Unterbrechung weitermachen könnte.

Viele Grüße Gisbert
Proxmox | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon