Como faço para configurar um dispositivo de armazenamento que esteja "ligado" apenas quando usado?

10

Eu uso o meu Pi como um servidor doméstico (sem cabeça via ssh, sempre ativado, reiniciado uma vez por semana). Ele está executando o raspbian e estou executando o Ubuntu na minha área de trabalho. Agora, quero adicionar discos rígidos para backups e NAS ao Pi. No momento, eu uso um disco rígido externo USB, mas mais tarde posso querer usar um sistema de ataque (no caso de uma unidade falhar). Também uso autofs com --ghost para desmontar a unidade quando não for usada por algum tempo.

A idéia / esperança por trás disso era que o disco rígido entrasse em algum tipo de modo de espera / spindown quando desmontado via autofs, mas esse não é o caso. Parece girar tão rápido como sempre, e também fica tão quente quanto quando montado.

Então, o que eu quero é armazenamento em massa que vá para o modo de espera / repouso mais profundo disponível, para que não fique muito quente, economize energia e só acorde quando necessário (por exemplo, quando montado). Alguém sabe como eu posso conseguir isso? Obrigado.

EDIT: Eu tentei o seguinte:

$ sudo hdparm -Y /dev/sda

/dev/sda:
 issuing sleep command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

e

$ sudo hdparm -y /dev/sda

/dev/sda:
 issuing standby command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

e

sudo sdparm --flexible --command=stop /dev/sda

isso parece ser quase o conserto, a unidade gira, mas fica mais rápida depois de um segundo.

EDIT2: Isso parece promissor:

Alguém me disse que eu deveria usar o ejetar, e funcionou. No entanto, não está instalado por padrão. Então eu fiz o seguinte:

sudo apt-get install eject
sudo eject /dev/sda

E a unidade girou completamente. Autofs ainda conseguiu acordá-lo. Como uso autofs para decidir quando a unidade é desmontada (e para montá-la automaticamente novamente quando necessário), tenho que executar esse comando quando o autofs desmontar a unidade. Eu não encontrei uma solução para fazer isso, no entanto. Você tem alguma sugestão?

verpfeilt
fonte
No meu caso, o HDD gira depois de 10 minutos ocioso, quando o servidor está em execução (odroid), mas quando está desconectado ou o servidor não roda, ele gira indefinidamente. O que acontece com o seu disco rígido externo quando você desliga o rpi?
Inf3rno
o meu não para nem mesmo com "ejetar". O único que funciona em modo hd ocioso, mas para apenas 1 minuto, depois volta a funcionar.
Danny182

Respostas:

4
sudo hdparm -y /dev/sda

(supondo que você tenha apenas um disco USB conectado) pode colocar seu dispositivo em suspensão. Se você fizer isso após desmontar o dispositivo, ele deverá permanecer neste modo de economia de energia até tentar montá-lo novamente.

Você também pode tentar a -Yopção para o modo de suspensão em vez de em espera.

Você também pode tentar:

hdparm -k1 -K1 -S2 /dev/sda

que deve girar sua unidade após 10 segundos de inatividade (você pode alterar -SXX para outros valores (1-240 pode ser usado para especificar múltiplos de 5 segundos, 0 desativa o tempo de inatividade, 241-255 pode ser usado para especificar períodos mais longos).

Outra opção que você pode tentar é usar:

sdparm --flexible --command=stop /dev/sda

Nota: Parece que quais comandos são suportados depende do conversor de HDD e HDD-> USB sendo usado.

Krzysztof Adamski
fonte
Tenho a impressão de que o hdparm não funciona necessariamente em discos conectados por USB. Isso pode depender do controlador USB para SATA (ou IDE) em uso. Mas em discos IDE ou SATA diretamente conectados, tenho certeza que o hdparm é o caminho certo.
Frepa 27/03
@ Frepa: Eu sei que pelo menos algumas pessoas relataram que funciona para elas, por isso pode realmente depender do controlador em particular.
precisa
OK bom saber. Eu não consegui fazer isso sozinho, não sei exatamente o porquê.
Frepa 28/03
Desculpe por responder tão tarde, mas não consegui encontrar tempo para tentar isso. Eu tentei agora, mas não funciona para mim. Vou editar as mensagens de erro do terminal na minha pergunta.
verpfeilt
@chocobai: Eu atualizei minha resposta. Isso pode ajudar seu caso.
Krzysztof Adamski
1

O gerenciamento avançado de energia (APM) de um disco rígido conectado através da ponte USB para SATA pode ser definido por comando

sudo smartctl -s apm,127 /dev/sdx

Valor 127 significa "nível intermediário (APM) em espera ". Usando esse nível, o disco rígido gira após vários segundos de inatividade e inicia novamente sob demanda.

Testado no BeagleBone, Ubuntu 13.10.

Leos
fonte
Para instalar smartctlvocê precisa executarsudo apt-get install smartmontools
Hengjie
0

As portas USB são apenas soluções gerais ... para tudo, mas não são especializadas em discos rígidos, essas portas USB-2 lentas têm acesso compartilhado com o adaptador Ethernet. Isso significa que você será lento como o inferno com muitos discos conectados a eles.

Você pode usar uma placa controladora adicional para sua solução de projeto. Procure por "raspberry pidrive" e instale uma placa controladora X8XX.

Você também pode acessar https://www.smartmontools.org/wiki/USB descrevendo o que é possível com uma interface USB "humpty-dumpty" e qual controle você tem com o SATA ....

Andur
fonte