Como o RAID do btrfs funciona no modo degradado?

6

Minha idéia era que (usando dispositivos de loopback) funciona assim

  1. Crie o array de raid sudo mkfs.btrfs -m raid1 -d raid1 /dev/loop1 /dev/loop2
  2. Você monta os sudo mount /dev/loop1 /mnt e os marca touch goodcondition
  3. Você desmonta e simula falha de disco (remova disco ou exclua o dispositivo de loopback loop2 no meu caso)
  4. Você monta -o degraded degradado e marca novamente touch degraded
  5. Você adiciona o disco defeituoso novamente sudo btrfs dev add /dev/loop2
  6. Você rebalanceia sudo btrfs fi ba /mnt

E Raid 1 deve funcionar novamente. Mas esse não é o caso. sudo btrfs fi show :

Total devices 3 FS bytes used 28.00KB
devid    3 size 4.00GB used 264.00MB path /dev/loop1
devid    2 size 4.00GB used 272.00MB path /dev/loop2
*** Some devices missing

O arquivo degraded reside em loop1 , mas não em loop2 quando loop2 é montado no modo degradado. Por que isso?

    
por turbo 21.06.2011 / 19:06

2 respostas

3

Parece que você adicionou um terceiro dispositivo e, portanto, o segundo original ainda está ausente. Eu acho que você precisa remover o dispositivo em falta antes de adicionar o novo. A lista de discussão do brtfs também pode ser um lugar melhor para fazer essa pergunta.

    
por psusi 22.06.2011 / 00:29
4

Nesta situação, você precisa fazer duas coisas. Primeiro, você precisa indicar ao btrfs que o dispositivo ausente foi removido permanentemente: btrfs dev delete missing /mnt ( missing é uma palavra-chave que indica os dispositivos ausentes). Em segundo lugar, você precisa rebalancear para garantir que os dados sejam devidamente replicados: btrfs fi balance /mnt .

    
por amcnabb 20.08.2012 / 22:58