Como impedir que o kernel do Linux acorde um HDD secundário do modo de suspensão

11

Existe uma maneira de instruir o kernel (Linux) a não ativar um disco rígido secundário após um ciclo de suspensão / ativação do sistema? Estou perguntando, porque no meu laptop eu tenho um SSD como uma unidade primária que contém a raiz do sistema e um disco rígido secundário, onde mantenho um sistema de backup e os arquivos que eu acesso esporadicamente. Como o laptop geralmente passa por muitos ciclos diários de sono / ativação (quero dizer Suspender na RAM, não hibernação) por muitos dias, eu gostaria de colocar o HDD secundário no modo de suspensão manualmente e instruir o kernel a mantê-lo no sono durante o sono do sistema / ciclos de despertar.

John Terragon
fonte
1
Se você deseja enviar seu disco rígido manualmente para dormir, você pode usá-lo hdparm -Y /dev/sdb. Se o sistema acessar o seu disco, ele girará automaticamente novamente. Você também pode definir isso /etc/hdparm.confcom /dev/disk/by-label/DATA4 { spindown_time = 180 } eu recomendo o uso de etiquetas para seus discos, pois você nunca pode confiar em qual disco é detectado primeiro pelo seu sistema. esteja ciente de que você precisa de uma versão mais recente do hdparm (a minha é 9.43) para enviar discos com o rótulo para dormir.
syss

Respostas:

1

Como você usa apenas o disco rígido secundário para backup, sugiro que o fstab não monte a unidade automaticamente e faça um script de backup que monta a unidade, faça o backup e desmonte a unidade novamente.

exemplo da linha fstab com a opção noauto:

/dev/sdb1 /media/backup ext4 user,noauto 0 0

O script bash para o backup começaria mount /media/backupe terminaria comumount /media/backup

switch87
fonte
Isso não impede que o kernel verifique o disco durante a inicialização.
Marc.2377
0

Eu não acho que isso seja possível. A unidade é testada pelo BIOS / UEFI na inicialização, não apenas pelo kernel.

O que faço, no entanto, é instruir o sistema a colocar a unidade no modo de suspensão logo após a inicialização do sistema. Verifique https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot .

No meu caso eu tenho:

/usr/local/lib/systemd/system/rsleephdd.service

[Unit]
Description="Ranolfi's script to sleep hard drives on boot"

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -Y /dev/sdc

[Install]
WantedBy=multi-user.target

Não faz diferença se a unidade ou suas partições são montadas pelo fstab (ou crypttab, por sinal) ou não.

(editar) estritamente falando, parece possível fazer com que o kernel ignore um disco por meio de um patch . Porém, isso não impedirá que a unidade seja ativada - pelo contrário, o patch ao qual vinculei impedirá o acesso à unidade, você não poderá acessar seus arquivos mesmo esporadicamente e também não poderá colocar a unidade no disco. dormir.

Marc.2377
fonte