Probleem
Het volgende commando stuurt middels zfs-send een (incrementele) snapshot van m'n hoofdserver naar een tweede server over ssh. De overdracht lijkt goed te gaan, maar bij het instellen van de canmount=noauto-parameter (middels de -o optie van zfs-recv) krijg ik een toegangsfout.code:
1
2
3
4
| (zfs send --large-block --embed --raw --verbose --parsable --props \ -i @previous_snap localpool/mydataset@newest_snap) | \ (ssh remotehost 'zfs recv -u -o canmount=noauto -v -s \ remotepool/myserver/localpool/mydataset') |
De commando's draaien op beide systemen als reguliere gebruiker, maar wel met de m.i. vereiste gedelegeerde zfs-permissions (zie onderaan).
Gegenereerde uitvoer:
code:
1
2
3
4
5
| incremental localpool/mydataset@previous_snap localpool/mydataset@newest_snap 624 size 624 receiving incremental stream of localpool/mydataset@newest_snap into remotepool/myserver/localpool/mydataset@newest_snap received 1.31K stream in 1 seconds (1.31K/sec) cannot set property for 'remotepool/myserver/localpool/mydataset': permission denied |
Mijn vraag
- Hoe kan ik zfs expliciet laten tonen welke zfs-property het niet ingesteld krijgt?
- Hoe kan ik deze property wél instellen middels de zfs-recv opdracht? Is er wellicht een andere vereiste zfs-permission die ik nog niet heb gedelegeerd?
Relevante software en hardware die ik gebruik
Hoofdserver: Arch Linux (6.3.8) met zfs-linux 2.1.12_6.3.8.arch1.1-1Server op afstand: Debian Bookworm (6.1.0) met zfs-dkms 2.1.11-1
Iets minder belangrijke context
Ik probeer ZFS autobackup te gebruiken om reservekopieën van mijn bestanden op van m'n thuisserver te maken en deze op te slaan op een tweede server op een andere locatie.Dit programma voert verschillende stappen uit (snapshot maken, naamgeven, kopiëren, oude kopietjes weggooien, parameters instellen, etc.) bij het maken van een reserviekopie. Alles verloopt goed tot na het verzenden van de kopiedata: Wanneer de kopie is ontvangen op de server op afstand, probeert het de canmount=noauto parameter in te stellen op de ontvangen dataset, maar hierbij doet zich een fout voor.
Wat ik al gevonden of geprobeerd heb
ZFS geeft niet expliciet aan welke property niet ingesteld kan worden, maar het enige wat ik aanvraag is canmount=noauto. Op de doelmachine (op afstand) heb ik de volgende zfs-machtigingen gegeven aan de relevante gebruiker:code:
1
| sudo zfs allow myuser snapshot,receive,create,mountpoint,mount,userprop remotepool/myserver |
Wanneer ik zelf (handmatig) probeer de canmount-eigenschap in te stellen (als reguliere gebruiker), dan lukt dit:
code:
1
| zfs set canmount=noauto remotepool/myserver/localpool/mydataset |
[ Voor 2% gewijzigd door Ostheer op 15-08-2023 20:28 . Reden: opmaak ]