![bitmap externo mdadm não usado](https://rvso.com/image/154452/bitmap%20externo%20mdadm%20n%C3%A3o%20usado.png)
Coloquei o bitmap em uma unidade EXT4 externa (1xHDD), mas espero que o arquivo também seja gravado sempre que os dados forem alterados em meu array RAID10, certo?
Eu até fiz a soma de verificação do arquivo bitmap e certamente não foi alterado.
O tamanho do arquivo é de apenas 2 KB (o tamanho do bloco de bitmap está definido como 64 MB)
- Tentei parar e iniciar o array, sem alteração, sem gravação no arquivo
- Se o arquivo não estiver acessível quando o array for iniciado, receberei o erro
mdadm: Could not open bitmap file /mnt/1xHDD/R10_bitmap.dat
que é bom
Status do processo mdadm com cat /proc/mdstat
:
Detalhes da matriz com mdadm --detail /dev/md127
:
Verificação do arquivo bitmap commdadm -X /mnt/1xHDD/R10_bitmap.dat
Filename : /mnt/1xHDD/R10_bitmap.dat
Magic : 6d746962
Version : 4
UUID : 39f863d1:4d247162:c3672454:1765abe2
Events : 2914
Events Cleared : 2914
State : OK
Chunksize : 64 MB
Daemon : 5s flush period
Write Mode : Normal
Sync Size : 624877568 (595.93 GiB 639.87 GB)
Bitmap : 9535 bits (chunks), 0 dirty (0.0%)
Conteúdo do meu mdadm.conf:
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/SRV01:R10_HDD metadata=1.2 bitmap=/mnt/1xHDD/R10_bitmap.dat name=SRV01:R10_HDD UUID=39f863d1:4d247162:c3672454:1765abe2
A propósito, algum comentário sobre colocar o arquivo bitmap em um único HDD? Tentei apenas renomeá-lo e o array continua sem problemas, embora mdadm --details...
diga que o bitmap foi excluído.
Observação adicional: ao mudar para bitmap externo, o desempenho de gravação neste array RAID10 aumentou de 135 MB/s para 370 MB/s! (usando IO direto, ou seja, cache de página não em uso).
Responder1
Parece que o arquivo bitmap externo estava funcionando, afinal.
Como apontado por Stephen Kitt no comentário, o arquivo geralmente é bem pequeno, especialmente se você estiver usando um tamanho grande de bitmap. (Eu esperava que fosse muito maior).
O motivo de não observar a alteração do arquivo bitmap foi porque esqueci que montei o sistema de arquivos com a opção EXT4 noatime
(não atualizarei a data e hora da modificação) e quando fiz uma soma de verificação MD5 do arquivo, o array estava no tempo sincronizado, portanto, sem alterações.
Em segundo lugar, sobre estabilidade/risco de colocar o bitmap externo em um 1xdrive "inseguro":
derrubar a unidade onde o arquivo bitmap estava localizado, em tempo de execução, não introduziu nenhuma instabilidade no array em execução e afetado. mdadm apenas informa que o arquivo bitmap foi "excluído", mas a matriz continua funcionando bem. Embora não fique online ao reiniciar o array, por exemplo, na reinicialização, até que você reconfigure o bitmap (para none
ou internal
para outro external
arquivo de bitmap).
Resumindo, acho seguro colocá-lo em um disco não espelhado.
É muito subestimado na documentação do mdadm e em todos os guias do mdadm que tenho lido sobre o tamanho do impacto no desempenho usando o bitmap interno padrão, pelo menos no RAID10 e no RAID5.
Acabei de fazer um benchmark rápido no R5:
Bitmap: Interno, gravação: 267MBs
Bitmap: Nenhum, gravação: 434MBs
(tamanho total de teste 20G, tamanho de bloco 512K, cache de página habilitado)