O disco rígido não entra em modo de espera automaticamente

O disco rígido não entra em modo de espera automaticamente

Eu tenho um disco rígido que deve entrar em modo de espera automaticamente após 30 ou 60 minutos.

Eu tentei (3 minutos para teste):

# hdparm -S 36 /dev/sda

/dev/sda:
 setting standby to 36 (3 minutes)

E não funcionou, mesmo quando não houve acesso por mais de 5 minutos. Agora pensei em algum processo de acesso a dados, então testei

# hdparm -y /dev/sda

/dev/sda:
 issuing standby command

O Drive entrou em modo de espera e continuou dormindo, como você pode pesquisar com

# hdparm -C /dev/sda;date

/dev/sda:
 drive state is:  standby

Tocar em algum arquivo no ponto de montagem o despertou como seria de esperar.

Por que a suspensão automática não está funcionando? Pelo que entendi deveria até desligar o disco rígido independente do SO, desde que não haja acesso.

Responder1

estou executando o Ubuntu 18.04 e tive o mesmo problema. graças à resposta de @allo, descobri que essa smartdé realmente a causa.

por padrão o /etc/smartd.confé configurado assim:

DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/martd-runner

que fará a varredura automática de todas as unidades e as pesquisará (esta operação acelera o disco) periodicamente (padrão 30 minutos, alterável). embora com a -n standbyparte o smartd irá pular os discos girados, mas o problema é: se o intervalo de pesquisa do smartd for menor que o tempo de "desativação após" do disco, então o smartd sempre pesquisará o disco ANTES que ele tenha a oportunidade de girar. desativado, portanto o disco nunca entrará no modo de espera.

se o "tempo limite de rotação" do disco for menor que o intervalo de pesquisa do smartd, o disco diminuirá a rotação antes da pesquisa do smartd, após o qual o smartd irá ignorar este disco e não aumentá-lo. se o disco for (manualmente) desmembrado por outras ferramentas como hd-idle, o smartd também irá ignorá-lo.

uma maneira de aumentar o intervalo de pesquisa do smartd é editar esta linha em /etc/default/smartmontools:

smartd_opts="--interval=1800"

1800 mede 30 min, faça 10800 (3 horas) é tempo suficiente, por exemplo. e não se esqueça de reiniciá-los:

systemctl restart smartd smartmontools

Responder2

O verdadeiro problema era o smartd, que verificava regularmente os valores do aparelho, mesmo quando ele estava no modo standby.

Eu resolvi isso desativando smartde executando testes de smartctlvez em quando.

Responder3

Observe que algumas unidades não implementam esse recurso, mesmo que o comando seja aprovado. Você também pode precisar reduzir oGerenciamento avançado de energianível para 127 ou menos com hdparm -B 127 /dev/sda. Na página de manual:

-B Obter/definir recurso de gerenciamento avançado de energia... valores de 1 a 127 (que permitem redução de rotação) e valores de 128 a 254 (que não permitem redução de rotação).

Se tudo falhar, você pode escrever um pequeno script que pesquise /proc/diskstatso /sys/block/sda/statnúmero de leituras/gravações no dispositivo e coloque explicitamente a unidade em espera se elas não mudarem ao longo de vários minutos. Veja ohd-ociosoUtilitário.

informação relacionada