Dê uma olhada hdparm
.
A partir do manual ( man hdparm
na linha de comando):
-S Defina o tempo limite de espera (spindown) para a unidade. Este valor é usado pelo inversor para determinar quanto tempo esperar (sem atividade de disco) antes de desligar o motor do eixo para economizar energia. Sob tais circunstâncias, a unidade pode levar até 30 segundos para responder a um acesso subsequente ao disco, embora a maioria das unidades seja muito mais rápida.
A codificação do valor do tempo limite é um tanto peculiar. Um valor zero significa "tempos limite desativados": o dispositivo não entrará automaticamente no modo de espera. Valores de 1 a 240 especificam múltiplos de 5 segundos, produzindo tempos limite de 5 segundos a 20 minutos. Os valores de 241 a 251 especificam de 1 a 11 unidades de 30 minutos, produzindo tempos limite de 30 minutos a 5,5 horas. Um valor de 252 significa um tempo limite de 21 minutos. Um valor de 253 define um período de tempo limite definido pelo fornecedor entre 8 e 12 horas e o valor 254 é reservado. 255 é interpretado como 21 minutos mais 15 segundos. Observe que algumas unidades mais antigas podem ter interpretações muito diferentes desses valores.
Então sudo hdparm -I /dev/sdb | grep level
, mostrará o valor atual de spindown, por exemplo:
Advanced power management level: 254
No manual: 254 está reservado, então espero que seja o padrão do Ubuntu (alguém pode confirmar / expandir isso, por favor?)
Exemplo:
sudo hdparm -S 25 /dev/sdb
= spindown após 25 * 5 segundos.
sudo hdparm -S 245 /dev/sdb
= spindown após (245-240) * 30 minutos.
grep
APM (-B
parm), mas fala sobre-S
o problema. Você também sabe algo sobre APM?-B
configuração atual é mostrada como indicado acima. Como posso ver a-S
configuração atual ?sudo hdparm -y /dev/sdb
mata a fera imediatamenteUtilitário de disco -> selecione unidade de disco rígido -> clique no ícone "Mais ações ..." no canto superior direito -> Configurações da unidade ...
O meu é assim:
fonte
gnome-disk-utility
.Se você estiver interessado em fazer a configuração do hdparm persistente entre as reinicializações, em vez de adicioná-la ao crontab, você pode usar o
/etc/hdparm.conf
. Eu tenho o seguinte, observe o uso de capital S, não em minúsculas:Adicione essa linha substituindo o UUID pelo seu, ou você também pode especificar o dispositivo usando o
/dev/sdX
formato. Você pode descobrir o UUID do seu disco com o comandosudo blkid
.fonte
command_line
hoje em dia? Eu tenho exemplos diferentes no meu/etc/hdparm
?Encontre o UUID do seu disco .
Editar
/etc/hdparm.conf
Procure
spindown-time
ou a seção de configurações do disco.Prefiro me referir ao disco por UUID, que permanece o mesmo em diferentes instalações (a menos que você o altere no próprio HW).
Se o script init causar problemas de inicialização, você poderá transmitir
nohdparm
a linha de comando do kernel, e o script não será executado.fonte
man hdparm.conf
.man hdparm.conf
indiretamente lê que o valor é passado para,-S
portanto, para valores <255 deve ser compatível com a regra na resposta superior . Qualquer informação adicional é bem-vinda.Depois de passar horas e horas, descobri que minha unidade WDC não suporta o comando hdparm -S, independentemente do valor do atributo idle3 (google: idle3ctl). E esse é um problema comum com as unidades WD. Mas tenho o prazer de anunciar que o hd-idle ( http://hd-idle.sourceforge.net/ ) funciona perfeitamente. Se instalado a partir do pacote dpkg-builded (consulte as Notas de instalação), ele cria o daemon no ubuntu e no debian (a configuração está em / etc / default / hd-idle). Funciona bem depois de sair da hibernação também.
fonte
Descobri que o comportamento spindown do Samsung HD204UI depende do nível de APM (
hdparm -B
). Se o nível de APM for 127, o tempo limite de spindown é de 10 s. Se o nível de APM for 150, o tempo limite de spindown será definido pela-S
opção.fonte
-S
opção (consulte Como determinar o tempo de rotação do disco ). Para obtê-lo, use o software da GUI "Disco". Veja a outra resposta com a captura de tela.Eu adiciono algo como:
ao crontab da raiz. Usar o uuid é melhor, acho que porque
sda
/sdb
etc parece mudar a cada reinicializaçãofonte
hdparm.conf
?No Ubuntu 14.04
Discos> destaque drive> clique na engrenagem no canto superior direito> Configurações da unidade> agora você tem as configurações de espera, APM, AAM e cache de gravação em uma GUI fácil de usar!
fonte
No Debian, com unidades WD, acho que definir qualquer nível com o hdparm -S resulta no retorno do nível 254 na unidade hdparm -I subsequente . Então, eu realmente não tenho certeza se eles estão girando para baixo ou não. Eu acho que eles ainda estão girando para baixo.
Essas unidades estão em uma matriz de servidores e eu realmente não quero que elas diminuam. No passado, julguei isso definindo um trabalho cron para atualizar um arquivo a cada poucos minutos.
fonte
Não tive sorte com o hdparm em um HDD externo montado em um gabinete USB, que eu uso para servir mídia com minidlna.
Me deparei com uma ideia daqui: https://serverfault.com/questions/562738/keeping-usb-backup-drive-from-sleeping- while - mounted
Os melhores resultados vêm do uso do uuid do disco, que você pode encontrar com:
O método a seguir requer acesso root, mas o hdparm também. Isso usa o crontab para ler um bloco aleatório da unidade a cada 5 minutos e ignora todas as mensagens. Para garantir que você tenha o UUID correto, teste-o na linha de comando como esta (certifique-se de usar o UUID desejado, não este):
Você deve ver uma saída como esta:
Para suprimir essa mensagem, que pode acabar sendo escrita em algum lugar, potencialmente o sistema de arquivos / (que está em um SSD no meu caso), abaixo está o que estou usando no crontab raiz. Você chega lá com
Então, sob os comentários:
Espero que isso ajude alguém com problemas semelhantes. Infelizmente, isso ainda é gravado no syslog, mas existem maneiras potencialmente de suprimir isso; veja esta publicação ServerFault .
07-01-2017 09:02:
Consegui suprimir essas mensagens editando /etc/rsyslog.d/50-default.conf para alterar esta linha:
*.*;auth,authpriv.none -/var/log/syslog
para isso:
*.*;cron,auth,authpriv.none -/var/log/syslog
Infelizmente, isso suprime todas as mensagens cron; Não foi possível ao cron redirecionar o logoff do sistema de arquivos raiz (que está em um SSD antigo no meu caso, por isso quero limitar as gravações), mas como esse é apenas um servidor doméstico, provavelmente não estou perdendo muito. Definitivamente, não recomendaria essa estratégia para uma máquina de produção.
fonte