Estou usando o Linux com 4 discos rígidos que usam setores de 4k. Existem várias camadas entre o meu sistema de arquivos e os dispositivos brutos: Discos> Linux Raid 5> dm-crypt> LVM.
Todos os recursos que encontrei explicaram como configurar cada camada para garantir que as gravações em cima dessa camada sejam alinhadas com o limite do setor em 4k. No entanto, não encontrei nada que explique como verificar se as gravações feitas nos discos rígidos estão realmente acontecendo nos limites de 4k.
Não estou interessado em reexaminar minha configuração para usar a lógica para determinar se está alinhada corretamente. Quero examinar o que realmente está acontecendo quando as gravações são feitas no disco.
Como posso registrar ou visualizar os endereços e o tamanho das gravações que estão sendo feitas nos meus discos rígidos, para que eu possa verificar se elas estão alinhadas corretamente?
fonte
Escreva um bloco de 4k e observe quantos dados são lidos / gravados com
iostat
(as colunas 'Blk_read' 'Blk_wrtn'). Se os dados não estiverem alinhados, uma gravação acionará as leituras primeiro e mais de 4k de gravações.Você precisará tomar cuidado para não medir nenhuma atualização de metadados ... ou apenas abafá-las fazendo milhares de gravações em 4k .... Portanto, verifique se nada mais está verificando discos ou mantendo arquivos abertos (acho
lsof
que seria suficiente?), abra um novo arquivo, aguarde, executeiostat
, escreva 4k no arquivo, sincronize a gravação (ou aguarde um pouco?) e verifiqueiostat
novamente.Isso parece dar uma saída razoável para mim:
iostat
A página de manual do Note alega um relatório em blocos de 512 bytes, e vejo que mais de 80000 blocos adicionais foram gravados e nenhum bloco foi lido. Se o seu alinhamento estiver desativado, você verá um número semelhante de leituras (pois para escrever um 4k desalinhado, é necessário ler os dois blocos afetados, modificá-los e escrevê-los de volta). De fato, a única razão pela qual o alinhamento é importante é evitar essas leituras (então é isso que você realmente deseja procurar: uma carga de trabalho de gravação aciona leituras?)fonte