Existe uma maneira de monitorar o progresso de um rebalanceamento do btrfs?

11

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.

    
por user50849 26.01.2014 / 15:21

3 respostas

21
btrfs balance status /mountpoint

man 8 btrfs

 [filesystem] balance status [-v] <path>
        Show status of running or paused balance.

        Options

        -v   be verbose
    
por 26.01.2014 / 15:33
5
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.

    
por 25.09.2014 / 00:33
4

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

    
por 30.07.2015 / 17:45

Tags