Temos um servidor baseado no CentOS 6.4 conectado ao armazenamento Hitachi HNAS 3080 e observamos o kernel remontar o sistema de arquivos no modo somente leitura:
16 de maio 07:31:03 Kernel GNS3-SRV-CMP-001: [1259725.675814] EXT3-fs (dm-1): erro: remontando o sistema de arquivos somente leitura
Isso aconteceu após vários erros de E / S e todos os caminhos para o dispositivo supostamente inativos:
16 de maio 07:31:03 multipathd GNS3-SRV-CMP-001: mpatha: caminhos ativos restantes: 0
Eu estive olhando para os logs sar e posso ver alguns tempos de espera muito grandes (2 segundos):
07:40:00 dev8-0 17.91 112.04 98.03 11.73 0.00 0.20 0.07 0.12
07:40:00 dev8-16 0.23 1.85 0.00 8.00 0.00 3.71 3.71 0.09
07:40:00 dev8-32 91.50 8338.76 5292.93 148.98 8.38 91.60 9.76 89.35
07:40:00 dev252-0 91.27 8336.91 5292.93 149.34 17.79 194.88 9.79 89.38
07:40:00 dev252-1 674.80 8168.16 5292.93 19.95 1473.53 2183.60 1.32 88.98
A duração entre 07: 30: 00-07: 40: 00 acontece no momento em que o sistema de arquivos foi montado como somente leitura. No entanto, mesmo em condições normais, uma observação repetida é que o tempo de espera para dispositivos subjacentes é muito menor que o do dispositivo de caminhos múltiplos. Por exemplo:
00:00:00 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00:10:00 dev8-0 19.27 129.41 78.61 10.80 0.01 0.27 0.16 0.32
00:10:00 dev8-16 0.23 1.80 0.00 8.00 0.00 0.86 0.84 0.02
00:10:00 dev8-32 94.88 10285.16 3363.48 143.86 3.39 35.76 6.83 64.82
00:10:00 dev252-0 94.65 10283.34 3363.48 144.18 3.64 38.47 6.86 64.89
00:10:00 dev252-1 435.06 10087.12 3363.48 30.92 118.42 272.21 1.47 64.12
O dev8-0 passa a ser o disco local, enquanto o dev8-16 ( /dev/sdb
) e o dev8-32 ( /dev/sdc
) são os subjacentes do dev252-0 ( /dev/mapper/mpatha
). dev252-1 ( /dev/mapper/mpathap1
) é uma partição única que abrange todo o dispositivo de caminhos múltiplos. Aqui é produzido a partir de multipath -ll
:
mpatha (2521501cbffffffffe96773b50ec30020) dm-0 BlueArc,NAS Platform
size=10T features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 9:0:0:0 sdc 8:32 active ready running
`-+- policy='round-robin 0' prio=1 status=active
`- 8:0:0:0 sdb 8:16 active ready running
Por que o tempo de espera deve /dev/mapper/mpathap1
ser tão maior que o de /dev/mapper/mpatha
ou mesmo /dev/sdb
ou /dev/sdc
?
/dev/mapper/mpathap1
para/dev/mapper/mpatha
. Essa também é a camada na qual a maioria dasawait
vezes parece ser adicionada. Você pode verificar em quais elevadores são usados/sys/block/mpathap1/queue/scheduler
e/sys/block/mpatha/queue/scheduler
, possivelmente, trocá-lo paradeadline
ounoop
para comparação?mpatha
(/sys/block/dm-0/queue/scheduler
) énoop
e que parampathap1
(/sys/block/dm-1/queue/scheduler
) énone
.dm
dispositivo do que no dispositivo físico subjacente, enquanto as solicitações de leitura e gravações sem a necessidade de mesclagem não são afetadas. Ainda não sei se isso é simplesmente um erro de apresentação devido à maneira como os esperados são calculados ou se os tempos de resposta são realmente prolongados devido à natureza do algoritmo de enfileiramento / mesclagem.Respostas:
Como o usuário sugere o wabbit, há uma fusão de solicitações em andamento. Você pode ver que na coluna avgrq-sz, o tamanho médio da solicitação - que mostra um aumento significativo.
Agora 'aguardar' é o tempo gasto na fila mais o tempo gasto atendendo a essas solicitações. Se um pequeno pedido, vamos chamá-lo de 'x', é mesclado com outros dois pedidos (y e z, emitidos após x), então x será
Obviamente, isso terá um impacto negativo na estatística de espera, principalmente por causa da maneira como a espera é calculada, sem realmente significar um problema em si.
Agora vamos dar uma olhada em / dev / sdb (dev8-16). Você sabia que não está usando esse caminho? Você tem dois grupos de prioridades em sua configuração de caminhos múltiplos, um é
e em é
Você provavelmente tem
na sua configuração (que é o padrão).
Se você deseja evitar os erros de E / S no caso de ambos os caminhos estarem inativos, tente:
no seu multipath.confAgora a verdadeira questão permanece: por que os dois caminhos seguem?
fonte