Vou começar dando a ressalva habitual que é ignorada (também sou culpado) ... Faça o backup dos seus dados AGORA . É claro que se você tivesse espaço livre suficiente para fazer backup de seus dados, você apenas recriaria o sistema de arquivos, certo? E lembre-se que isso é uma arte e difícil de acertar, e é por isso que eu sugiro conversar com os caras do canal IRC btrfs no irc.freenode.net.
A primeira coisa que tentarei é recuperar o dispositivo A. Isso pode ser feito com btrfs rescue super-recover /dev/deviceA
ou btrfsck --repair /dev/deviceA
. Se um dos dois for bem-sucedido, você poderá limpar deviceB
e adicioná-lo como um novo dispositivo (ou talvez substituir se deviceA
ainda considerar sua invasão).
Caso contrário, em uma situação como essa, gosto de usar primeiro dm-snapshot
para criar um instantâneo do dispositivo e trabalhar no instantâneo, para não piorar as coisas ruins. Às vezes, eu levo algumas tentativas para acertar a sequência do comando btrfs. Você precisará de muito espaço livre para o arquivo de instantâneo (baseado no que estou pensando 10-100G).
Olhando para a saída acima, devid 1
parece ser o que você deseja manter porque tem mais espaço usado do que devid 2
. Executar btrfs filesystem show
também pode fornecer mais informações sobre qual unidade está faltando (procure o devid que não está listado ou que não tenha nenhum caminho de dispositivo próximo a ele). Certifique-se de que você não montou o btrfs como somente leitura, porque senão você não poderá fazer nenhuma gravação para corrigi-lo. Você pode tentar primeiro remover o dispositivo usando btrfs device delete missing /mountpoint
e, se isso não funcionar, btrfs device remove 2 /mountpoint
. Se isso falhar, tente converter blocos de RAID1
para single
com btrfs balance -mconvert=single -sconvert=single -dconvert=single /mountpoint
e tente a remoção do dispositivo novamente. Se alguma coisa for bem-sucedida, você poderá adicionar deviceA
como um dispositivo e reconverter tudo de volta para RAID1
. E esses comandos de conversão podem levar muito tempo, então é necessária paciência.