[pve-devel] [RFC container v2 23/25] backup: implement restore for external providers

Fabian Grünbichler f.gruenbichler at proxmox.com
Thu Sep 19 11:44:46 CEST 2024


On September 13, 2024 3:05 pm, Fiona Ebner wrote:
> Am 13.09.24 um 08:35 schrieb Fabian Grünbichler:
>> 
>>> Fiona Ebner <f.ebner at proxmox.com> hat am 12.09.2024 16:08 CEST geschrieben:
>>>
>>>  
>>> Am 12.09.24 um 15:56 schrieb Fiona Ebner:
>>>> Am 12.09.24 um 14:43 schrieb Fabian Grünbichler:
>>>>> On August 13, 2024 3:28 pm, Fiona Ebner wrote:
>>>>>> +	} elsif ($mechanism eq 'directory') {
>>>>>> +	    my $directory = $info->{'archive-directory'}
>>>>>> +		or die "did not get path to archive directory from backup provider\n";
>>>>>> +	    die "not a directory '$directory'" if !-d $directory;
>>>>>> +
>>>>>> +	    my $rsync = ['rsync', '--stats', '-h', '-X', '-A', '--numeric-ids', '-aH', '--delete',
>>>>>> +		'--no-whole-file', '--sparse', '--one-file-system', '--relative'];
>>>>>> +	    push $rsync->@*, '--bwlimit', $bwlimit if $bwlimit;
>>>>>> +	    push $rsync->@*, "${directory}/./", $rootdir;
>>>>>
>>>>> and this as well?
>>>>>
>>>>
>>>> Good catch, will fix!
>>>>
>>>
>>> Hmm, then rsync won't be able to access the source (for my Borg example)
>>> anymore :/
>>>
>>> WARN: rsync: [sender] change_dir
>>> "/run/pve-storage-borg-plugin/pve-lxc-111-2024-08-13T09:34:25Z.restore-container/filesystem"
>>> failed: Permission denied (13)
>>>
>>> Wit restore_tar_archive we stream the contents via stdin, can't do that
>>> here. But maybe some kind of bind mount to make it accessible?
>> 
>> or rsync-on-host piped to rsync-in-ns ? haven't tried though
> 
> Would that require setting up an rsync daemon process? Or how would you
> achieve the split? The man page says that --server/sender should not be
> used:
> 
>> INTERNAL OPTIONS
>>        The options --server and --sender are used internally by rsync, and should never be typed by a user under normal circumstances.  Some awareness of these options may be needed in certain  sce‐
>>        narios,  such  as when setting up a login that can only run an rsync command.  For instance, the support directory of the rsync distribution has an example script named rrsync (for restricted
>>        rsync) that can be used with a restricted ssh login.
> 

yeah, it would probably require explicitly running rsync in daemon
mode..




More information about the pve-devel mailing list