Backups auf mehrere USB-HDDs

Hannes.Hutmacher

New Member
Apr 30, 2019
17
0
1
44
Hallo,

Zwecks Backups habe ich im Datacenter -> Storage eine USB-HDD eingerichtet und USB-Disk-Backup genannt. Dann unter Datacenter ein Schedule eingrichtet, welches mir jede Nacht die VMs auf die USB-Disk sichern. Das funktioniert auch ganz gut. Hat aber einen bitteren Beigeschmack: Es ist immer die selbe USB-HDD.

Nun dachte ich mit "autofs" (/media/usb/sicherungen/) und Drive-Labels (Proxmox_Backups) auf verschiedene Disks zu sichern. Jeden Tag eine andere Disk. Habe das für andere Standorte für Fileserver auch so gemacht wo kein Backupserver stehen kann/soll/darf. Das Verfahren setzt aber voraus, dass der Backupjob nach getaner Arbeit das Verzeichnis nicht weiter belegt, damit ein umount stattfinden kann. Da Proxmox aber das Verzeichnis permanent "belegt", kann die USB-Disk nicht entfernt werden.

Wie löst ihr das denn?
 
Hallo,

ganz einfach in der fstab:
Code:
LABEL=exthdd /mnt/exthdd auto defaults,ro,noatime,auto,nofail 0 2

dann in der vzdump hook (mal so grob nur die für dieses Thema interessanten Stellen):
Perl:
if ($phase eq 'job-start' ||
    $phase eq 'job-end'  ||
    $phase eq 'job-abort') {

    my $dumpdir = $ENV{DUMPDIR};

    if ($dumpdir ne '/mnt/exthdd/dump') {
        print "Not using external HDD\n"
    } else {
        # remount external HDD RW when job starts
        if ($phase eq 'job-start') {
            if (system("mountpoint -q /mnt/exthdd") == 0) {
                system( "/bin/mount -o remount,rw /mnt/exthdd" ) == 0 ||
                    die "Could not remount external HDD in RW mode";
                print "Remounted external HDD in RW mode on /mnt/exthdd\n";
            } else {
                die "External HDD is not mounted";
            }
        }       

        # remount external HDD RO when all jobs are finished
        if ($phase eq 'job-end' || $phase eq 'job-abort') {
            system( "/bin/mount -o remount,ro /mnt/exthdd" ) == 0 ||
                die "Could not remount external HDD in RO mode";

            print "Remounted external HDD in RO mode on /mnt/exthdd\n";
        }
    }
}
 
Danke, werde mir deine Variante heute Abend mal ansehen.

Habe mir gedacht das wie folgt zu lösen.

Perl:
#!/bin/bash

# USB-Storage wird aktiviert
/usr/sbin/pvesm set USB-Disk-Backup  --disable 0

sleep 2s

for i in $( /usr/sbin/qm list | awk '{print $1}' | grep [0-9] )
  do
    echo "Backup läuft von VM $i"
    /usr/sbin/vzdump $i --remove 0 --mode snapshot --compress lzo --storage USB-Disk-Backup --node pve1
  done

# USB-Storage wird deaktiviert
/usr/sbin/pvesm set USB-Disk-Backup  --disable 1


Das Skript dann jede Nacht mit Cron laufen lassen. Spricht da was gegen?
 
Last edited:

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!