Verifique se uma partição está alinhada no Linux com RAID e LVM

15

Alguém conhece as etapas para verificar se um sistema de arquivos XFS sobre o LVM e o md RAID está alinhado corretamente em uma matriz de 4096 Byte, também conhecido como discos setorizados "Advanced Format" ?

Algumas referências são:
http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html
http://thunk.org/tytso/blog/2009/02/20/aligning -filesystems-to-ssds-delete-block-size /

Também o contexto desta pergunta é sobre o novo NAS do Stack Overflow: http://blog.serverfault.com/post/798854017/the-theoretical-and-real-performance-of-raid-10

Kyle Brandt
fonte

Respostas:

5

A verificação é complicada. Meu primeiro pensamento foi fazer uma série de leituras de IO 4KB direto da mídia e assistir as luzes piscando. Se cada décima leitura faz com que duas unidades pisquem, é um sinal de desalinhamento (a leitura de 4kb ultrapassou o limite da faixa RAID). No entanto, você está a 3000 milhas ímpares do hardware, para que não funcione para você.

Suponho que a largura da faixa RAID seja maior que o tamanho do setor de 4KB. O teste que pensei há pouco é fazer um teste de leitura / gravação. É aqui que você lê / grava todos os setores x 4KB. Varie o deslocamento e você pode alterar o local da faixa RAID que está testando. Se certas compensações mostrarem desempenho diferente, consideraria um sinal de que a compensação específica está abrangendo uma faixa RAID para uma operação de 4KB. Isso verificaria se o XFS está alinhado corretamente na configuração do RAID.

Verificar se as faixas do RAID estão alinhadas corretamente pode ser feito com o mesmo tipo de teste de passada e ficar de olho nos valores de 'iostat' para as unidades individuais. Se você acertar o tamanho da passada, verá apenas a atividade em duas unidades a qualquer momento. Se o mesmo teste mostrar atividade em todas as quatro unidades, você terá a prova de que algo está desalinhado.

Tenho certeza de que o benchmark de armazenamento IOZONE tem a capacidade de realizar um teste de passada e ficaria muito surpreso se o IOMETER mais comum não pudesse fazer isso. A capacidade de usar IO direto e ignorar o armazenamento em cache e a combinação de gravação é fundamental para esses tipos de testes.

sysadmin1138
fonte
0

É uma coisa pessoal, mas acho que esse negócio de alinhamento é exagerado - ouso dizer que há benefícios de desempenho de um dígito baixo se você se esforçar nos últimos detalhes, mas considerando o tamanho dos caches modernos, mais a complexidade das cadeias de disco para memória I não suaria muito.

Mas esse sou eu;)

Chopper3
fonte
5
Setores desalinhados fornecem leituras e gravações sequenciais, uma operação que é realmente muito eficiente em mídia rotacional. O motivo pelo qual o alinhamento é importante nos SSDs é que as gravações são muito mais caras que as leituras, portanto a ampliação da gravação precisa ser mantida no mínimo.
sysadmin1138