Subvolume do Btrfs UUID confronto

4

Dois sistemas de arquivos com o mesmo UUID no mesmo computador são problemáticos, por exemplo. pode levar a corrupção de dados, especialmente se ambos forem montados ao mesmo tempo (como o wiki do BTRFS diz também ). Então, copiando uma partição BTRFS com por exemplo. dd para outro e usá-lo imediatamente é ruim.

Para evitar isso,
btrfstune -u /dev/sdaX
altera o UUID da partição especificada.

No entanto, os subvolumes BTRFS têm seu próprio UUID, que pode ser visto, por exemplo. com btrfs sub list -u /mountpoint .
Esses UUIDs não são alterados pelo comando acima e, aparentemente, não há outra maneira de fazer isso.

A minha pergunta é: este é um problema semelhante ao UUID principal? A montagem de duas partições BTRFS com UUIDs de subvolume iguais (mas um UUID principal diferente) pode causar corrupção de dados?

Talvez minha confusão venha do fato de não entender para que servem. O sistema de arquivos UUID tem que ser unqiue para identificá-lo e pode ser usado para várias coisas como montagem etc., mas subvolumes já tem outro número unquiue e nome (único dentro do sistema de arquivos), e não há nada (?) Onde o subvolume O UUID pode ser usado de todo a partir do POV do usuário, exceto visualizá-lo.

...

Nesse meio tempo, fiz alguns testes. Múltiplas partições com alguns subvolumes e arquivos, parcialmente o mesmo nome em todas as partições, parcialmente diferentes. Consultando / criando / removendo / movendo / lendo / modificando subvolumes / arquivos em praticamente qualquer combinação sã. Diferente UUID principal, mesmo UUIDs de subvolume. Resultado: Não foi possível ver um problema ... no entanto, alguma garantia de que ele não corromperá os dados mesmo em situações incomuns, porque xyz seria legal :)

Para fins de integridade, o mesmo main UUID leva, como esperado, à corrupção de dados e faz isso imediatamente, não apenas em situações incomuns. O kernel (ou algo assim) confunde qual partição deve ser acessada para cada acesso. Na maioria das vezes, ele vai para a primeira ou a última partição (na ordem de montagem cronológica), independentemente de qual ponto de montagem foi usado. ... Não houve corrupção de "dados de lixo", pelo menos nos meus testes, mas o que aconteceu é ruim o suficiente, especialmente se a partição um já estava em uso enquanto a partição 2 foi montada (em certo sentido, então é realmente lixo) / p>     

por deviantfan 02.12.2015 / 22:53

2 respostas

1

tldr: Tudo bem, sem corrupção de dados possível.

Perguntado na lista de discussão também, e eles explicaram que o subvol UUID
é usada apenas uma verificação de integridade para btrfs send e btrfs receive .

...
The UUIDs on subvols are only really used internally to that filesystem, so the kernel doesn't have a chance to get confused. The main thing that could be confused is send/receive, but that's a matter of possibly losing some validation (thus allowing you to do something that will fail) rather than causing active damage, as in the duplicate-FS-UUID case.
...

de link (era link )

Agora posso dormir melhor: p

    
por 05.12.2015 / 16:27
0

Eu não sei a resposta direta para a sua pergunta, mas aqui está uma maneira genérica de descobrir.

Essa é uma das coisas para as VMs, experimentando, testando e investigando comportamentos de software sobre os quais você não tem certeza.

  1. Crie uma nova VM. Dê a ele um disco de inicialização e 2 ou 4 discos virtuais para o teste do btrfs. O tamanho não é muito importante.
  2. Instale uma distribuição do Linux no disco de inicialização e inicie-a
  3. Usando 1 ou 2 dos discos virtuais extras, crie um sistema de arquivos btrfs. Coloque alguns dados sobre isso. crie alguns subvolumes. Coloque alguns dados neles.
  4. Desmonte-o e copie-o para os outros 1 ou 2 discos virtuais.
  5. Altere o UUID no clone com btrfstune -u
  6. Monte os dois sistemas de arquivos btrfs ao mesmo tempo.
  7. Leia e escreva nos dois sistemas de arquivos brtfs (talvez execute bonnie ++ ou similar simultaneamente em ambos os sistemas de arquivos), e anote qualquer comportamento incomum ou indesejado. Especialmente, verifique se há corrupção quando você escreve para subvolumes duplicados do sistema de arquivos btrfs.

  8. Poste uma resposta aqui para que outros se beneficiem de sua pesquisa.

por 03.12.2015 / 00:32