btrfs balance status /mountpoint
man 8 btrfs
[filesystem] balance status [-v] <path>
Show status of running or paused balance.
Options
-v be verbose
Estou substituindo um disco rígido com falha em um btrfs espelhado.
btrfs device delete missing /[mountpoint]
está demorando muito , então presumo que, na verdade, ele esteja reequilibrando dados na unidade de substituição.
Existe alguma maneira de monitorar o progresso de tal operação?
Eu não necessariamente espero uma GUI bonita, ou mesmo um contador%; e estou disposto a escrever algumas linhas de script de shell, se necessário, mas nem sei por onde começar a procurar dados relevantes. btrfs filesystem show
, por exemplo, simplesmente trava, presumivelmente esperando que a operação de balanceamento termine antes de exibir qualquer informação sobre os fs espelhados.
sudo btrfs fi show
isso produzirá algo assim:
Label: none uuid: 2c97e7cd-06d4-4df0-b1bc-651397edf74c
Total devices 16 FS bytes used 5.36TiB
devid 1 size 931.51GiB used 770.48GiB path /dev/sdc
devid 2 size 931.51GiB used 770.48GiB path /dev/sdg
devid 3 size 931.51GiB used 770.48GiB path /dev/sdj
devid 4 size 0.00 used 10.02GiB path
devid 5 size 931.51GiB used 770.48GiB path /dev/sdh
devid 6 size 931.51GiB used 770.48GiB path /dev/sdi
devid 7 size 931.51GiB used 770.48GiB path /dev/sdd
devid 8 size 931.51GiB used 770.48GiB path /dev/sdo
devid 9 size 465.76GiB used 384.31GiB path /dev/sdn
devid 10 size 931.51GiB used 770.48GiB path /dev/sdp
devid 11 size 931.51GiB used 770.48GiB path /dev/sdr
devid 12 size 931.51GiB used 770.48GiB path /dev/sdm
devid 13 size 931.51GiB used 769.48GiB path /dev/sdq
devid 14 size 931.51GiB used 770.48GiB path /dev/sdl
devid 15 size 931.51GiB used 770.48GiB path /dev/sde
devid 16 size 3.64TiB used 587.16GiB path /dev/sdf
Btrfs v3.12
E se você perceber que o ID do dispositivo nº 4 parece um pouco diferente do resto. quando você faz "dispositivo btrfs delete missing / mntpoint" então ele vai começar a gerar novamente os metadados / dados necessários para liberar o drive "ausente".
se você fizer algo como
"watch -n 10 sudo btrfs fi show"
você poderá ver o espaço no dispositivo "ausente" ofensivo gradualmente ficando cada vez menor até que a operação seja concluída e ele será removido da tela.
O BTRFS pode levar algum tempo para ler ou reorganizar os dados antes de gravar os dados na unidade na qual você espera que eles gravem.
Você pode ver quanto tempo de CPU está sendo dedicado às operações do BTRFS, incluindo rebalanceamento, adição, exclusão, conversão, etc:
ps -ef | grep btrfs
Para ver o quão ocupado cada unidade é, instale o sysstat e execute:
iostat
Adicione algumas opções para fazer o iostat mostrar estatísticas em megabytes e atualize a cada 30 segundos:
iostat -m -d 30
Exemplo de saída do scrub, sem gravações durante esse intervalo:
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 700.30 170.10 0.00 6804 0
sdb 0.78 0.00 0.01 0 0
sdc 520.20 127.98 0.00 5119 0
sdd 405.72 92.02 0.00 3680 0
sde 630.05 153.66 0.00 6146 0
sdf 627.43 153.60 0.00 6144 0
Instale e execute munin para ver os gráficos históricos da atividade da unidade e muitas outras informações. link
Tags btrfs