Suponha que eu tenha um sistema de arquivos BTRFS A com um subvolume somente leitura em <mount-point-A>/snaps/good-one
. Quero criar um sistema de arquivos BTRFS B (pode estar na mesma ou em outra máquina) que conterá o conteúdo desse subvolume em <mount-point-B>/
- no modo normal de leitura e gravação.
Existe alguma maneira de empregar btrfs send/receive
para conseguir isso? Como talvez receber o subvolume somente leitura em <mount-point-B>/good-one
e, de alguma forma, alterá-lo para leitura e gravação em <mount-point-B>/
? Ou eu tenho que recorrer a rsync
?
Depois de receber o subvolume somente leitura, crie um
rw
instantâneo dele e, opcionalmente, exclua o subvolume somente leitura.Embora
btrfs receive
defina automaticamente o subvolume como somente leitura, você sempre poderá alterá-lo posteriormente. Isto, no entanto, removerá quaisquer proteções de que a cópia seja uma duplicata exata do original.Após a conclusão do recebimento, execute isto em
<mount-point-B>
:Agora, se você não quiser mexer com a integridade do backup, crie um
rw
instantâneo conforme sugerido por @Ginnungagap.DR
Resposta completa
Supondo que recebemos um volume somente leitura em
<mount-point-B>/good-one
:Faça-o ler e escrever:
Obtenha seu ID:
Faça-o sentar na raiz:
A remontagem é necessária para ver a alteração do volume raiz. O volume raiz original fica oculto.
Aqui está um script de teste completo: