Como parar de acordar todas as unidades conectadas na reinicialização / desativação da troca?

4

Uma nova instalação do Debian 6.0.6 para um sistema tem 13 unidades SATA conectadas. 12 unidades WD-10EARS recondicionadas ainda não foram particionadas. 1 unidade WD1500BLFS está configurada para OS e swap. A partição swap está configurada em / dev / sda5 de acordo com o / etc / fstab

root@debian:~# cat /etc/fstab | grep swap
# swap was on /dev/sda5 during installation
UUID=641cc8ad-838d-4e92-8c2c-0b73359a5aa3 none            swap    sw              0       0

Como as 12 unidades não têm atividade de disco, o estado da unidade passa de "ativo / inativo" para "espera" depois de um tempo.

root@debian:~# hdparm -C /dev/sdm

/dev/sda:
 drive state is:  active/idle

root@debian:~# hdparm -C /dev/sdm

/dev/sda:
 drive state is:  standby

Ao emitir um comando reboot , o console mostra " Deactivating swap... " e, em seguida, todas as 12 unidades começam a girar, conforme verificado pelo consumo de som e energia. Ter uma alteração do estado da unidade do modo de espera para o ativo pode levar até 30 segundos. Em outras palavras, uma reinicialização demora entre 3 e 7 minutos. Quanto tempo uma reinicialização demoraria quando 70 unidades fossem conectadas?

Atualização # 1 O problema está relacionado a "sd" (dispositivo de armazenamento) que deseja " Sincronizar o cache SCSI " em cada unidade.

Como parar de alterar todas as unidades de estado de "espera" para "ativo" na reinicialização (provavelmente causado pelo processo de "desativação de troca")?

# uname -mrsn
Linux debian 2.6.32-5-amd64 x86_64
    
por Pro Backup 09.11.2012 / 13:06

1 resposta

2

Depois de mudar para o backports kernel 3.2.0-0.bpo.3-amd64, não há mais o despertar de todas as unidades entre a emissão de reboot e a mensagem Will now restart. aparece, com ou sem a troca sendo ativada.

Observe que as mensagens de erro "end_request erro de E / S, dev sdb, setor {0, 8, 16, 128, 4096}" ainda estão lá quando as unidades estão no estado de espera.

Atualização # 1

O problema "Como sincronizar o cache SCSI antes da reinicialização" reaparece em 3.2.0-0.bpo. 4 -amd64. Embora ambos pareçam compartilhar a mesma versão do módulo mpt2sas:

# modinfo /lib/modules/3.2.0-0.bpo.{3,4}-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko | grep ^version
version:        10.100.00.00
version:        10.100.00.00

Atualização # 2

O problema não parece ser relacionado ao kernel e ao módulo de armazenamento. Depois de voltar ao kernel 2.6.32-5-amd64, colocando todas as unidades em standby, e comandando uma reinicialização, não houve "Synchronizing SCSI cache", nenhuma rotação da unidade e, portanto, nenhum atraso.

Atualização # 3

Ao desativar o cache de gravação hdparm -W0 /dev/sd? e liberando o cache de gravação com sync && sdparm --command=sync /dev/sd? && sleep 1 e, finalmente, configurando a unidade em espera usando hdparm -y /dev/sd? , não haverá "Sincronizando SCSI cache" para cada unidade após executar reboot e vendo saída "Montando o sistema de arquivos raiz somente leitura ... pronto." e "agora reiniciará". ao usar:

  1. Linux debian 2.6.32-5-amd64 # 1 SMP Dom 23 de setembro 10:07:46 UTC 2012 x86_64
  2. Linux debian 3.2.0-0.bpo.3-amd64 # 1 SMP Qui Ago 23 07:41:30 UTC 2012 x86_64

O kernel 3.2.0-0.bpo.4-amd64 está com defeito e faz "Sincronizando o cache SCSI" para cada unidade em cada reboot .

    
por 11.11.2012 / 03:41