Backup auf NAS was nur 4h pro Tag läuft

Jan 12, 2023
21
0
1
Hallo zusammen,
ich möchte alle meine VMs und LXC container regelemäsig sichern. Dafür habe ich ein Backup angelegt was um 21:00 starten soll.
Die Sicherung soll auf mein lokales Qnap NAS gehen, was ca. um 20:00 gestartet wird. Das NAS beleibt bis ca. Mitternacht an und wird dann abgeschaltet.
Damit das Funktioniert habe ich versucht das NAS automatisch zu maunten mit:

Code:
# /etc/systemd/system/mnt-pve-mynas.automount
[Unit]
Description=mynas automount

[Automount]
Where=/mnt/pve/mynas
TimeoutIdleSec=10min

[Install]
WantedBy=multi-user.target

und

Code:
[Unit]
Description=mynas mount
Requires=network-online.target

[Mount]
What=//192.168.0.23/backup/proxmox
Where=/mnt/pve/mynas
Type=cifs
Options=rw,relatime,vers=2.1,cache=strict,username=proxmox,password=GEHEIM,uid=0,noforceuid,gid=0,noforcegid,file_mode=0755
DirectoryMode=0755
TimeoutSec=30

[Install]
WantedBy=multi-user.target

Ich habe das Verzeichnis: /mnt/pve/mynas erzeugt wo das NAS eingehangen wird. Das Funktioniert auch soweit.
Läuft das NAS und ich gehe in das Verzeichnis /mnt/pve/mynas, dann wird es eingehangen.

Damit ich das Backup dort ablegen kann, gibt es einen Storage mit der ID: "backup" auf "/mnt/pve/mynas/backup" wo die Backups abgelegt werden sollen.

Kommen wir nun zum Problem:

Scheinbar führt die Ausführung von pvestatd dazu, dass der Mount Tagsüber angetriggert wird, mangels NAS aber fehlschlägt.

Code:
Mar 19 20:05:42 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:42 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:42 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:51 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:51 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:51 pve systemd[1]: mnt-pve-mynas.automount: Got automount request for /mnt/pve/mynas, triggered by 1177 (pvestatd)
Mar 19 20:05:51 pve systemd[1]: mnt-pve-mynas.automount: Failed with result 'mount-start-limit-hit'.

ich bin mir nicht sicher ob dies genau das Problem ist, aber irgendwann wird unter mnt/pve/mynas lokal das Verzeichnis backup/dump/ angelegt (was normal nur auf dem NAS sein sollte) und dann landet das Backup auf dem lokalen Speicher der dann schnell an seine Grenzen kommt.

Ich bin auch nicht sicher ob die obige Fehlermeldung das Problem ist.

Hat Jemand so ein Szenario am Laufen und das in den Griff bekommen ?

Danke
Peter
 
Ich habe das Verzeichnis: /mnt/pve/mynas erzeugt wo das NAS eingehangen wird. Das Funktioniert auch soweit.
Man muss über die CLI "is_mountpoint" auf "yes" setzen, dann kann nicht ausversehen auf das Root-Dateisystem gesichert werden, wenn das NAS mal nicht im Mountpoint eingehängt ist. Das würde man z.B. mit pvesm set DeineStorageID --is_mountpoint yes machen.

Außerdem solltest du dir mal Vzdump Hook-Scripts angucken. Ich habe mir z.B. eines gemacht, was meine Storages bei der Initialisierung des Backup Jobs aktiviert und nach Beendiding des Backups-Jobs wieder deaktiviert. Dann wird das PVE webUI auch nicht ständig unbenutzbar, weil es sich nicht mehr am Polling von unerreichbaren Storages aufhängt. Und den Fehler alle 8 Sekunden im Syslog, weil der Storage nicht erreichbar ist, spart man sich damit dann auch. So ein Hook Script kann man auch nutzen um automatisch vor dem Backup das NAS per WoL hochzufahren und es dann nach dem Backup wieder runterzufahren. Wenn das NAS dynamsich hochgefahren/runtergefahren wird, dann hast du auch kein Problem, wenn das Backup doch mal länger läufen sollte, weil dir dann kein fixer cronjob oder eine zeitschaltuhr das NAS ausschalten, während die Backups noch am Laufen sind.
 
Last edited:
  • Like
Reactions: peterwup
Man muss über die CLI "is_mountpoint" auf "yes" setzen, dann kann nicht ausversehen auf das Root-Dateisystem gesichert werden, wenn das NAS mal nicht im Mountpoint eingehängt ist. Das würde man z.B. mit pvesm set DeineStorageID --is_mountpoint yes machen.

Außerdem solltest du dir mal Vzdump Hook-Scripts angucken. Ich habe mir z.B. eines gemacht, was meine Storages bei der Initialisierung des Backup Jobs aktiviert und nach Beendiding des Backups-Jobs wieder deaktiviert. Dann wird das PVE webUI auch nicht ständig unbenutzbar, weil es sich nicht mehr am Polling von unerreichbaren Storages aufhängt. Und den Fehler alle 8 Sekunden im Syslog, weil der Storage nicht erreichbar ist, spart man sich damit dann auch. So ein Hook Script kann man auch nutzen um automatisch vor dem Backup das NAS per WoL hochzufahren und es dann nach dem Backup wieder runterzufahren. Wenn das NAS dynamsich hochgefahren/runtergefahren wird, dann hast du auch kein Problem, wenn das Backup doch mal länger läufen sollte, weil dir dann kein fixer cronjob oder eine zeitschaltuhr das NAS ausschalten, während die Backups noch am Laufen sind.
Vielen Dank für die Infos und Anregungen.
Ich habe mir mal das Thema "Hook script" angeschaut, aber da bleiben bei mir noch viele Fragezeichen. Da ich zwei Backup jobs starte (eine VM muß leider für den Backup gestoppt werden) bin ich nicht sicher ob das Script über alles geht oder für jeden Job aufgerufen wird.
Insofern werde ich das mit einem Cron job versuchen, wenn das auch Fehleranfällig ist weil man dann an meheren Stellen drehen muß und Zeitlich mehr Sicherheit ...
Auch den Start des NAS mache ich sehr früh, da es locker über 5 Minuten braucht bis man zugreifen kann.
Ich bin mal gespannt ob das Backup heute Abend so läuft wie ich mir das vorstelle :).
 
Auch den Start des NAS mache ich sehr früh, da es locker über 5 Minuten braucht bis man zugreifen kann.
Da baut man dann halt eine entsprechende Loop ins Hook-Script die den Backupjob so lange warten lässt, bis das NAS hochgefahren und der Storage bereit ist.
Da ich zwei Backup jobs starte (eine VM muß leider für den Backup gestoppt werden) bin ich nicht sicher ob das Script über alles geht oder für jeden Job aufgerufen wird.
Das Hook Script wird für jeden Schritt in jedem Backup Job aufgerufen. Also z.B. vor dem Backup Job, nachdem Backup Job, wenn ein Backup Job fehlschlägt, vor jedem Backup eines Backupups, nach jedem Backup eines Backup jobs, ... . Was man dann in jedem Schritt machen will entscheidet man dann im Script und Frage ggf. Variablen ab wie die StorageID des Storages auf den gesichert werden soll, die VMID der VM die gesichert wird etc.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!