Jak zapobiec przebudzaniu dodatkowego jądra dysku twardego przez system Linux

11

Czy istnieje sposób na instruowanie jądra (Linux), aby nie budził dodatkowego dysku twardego po cyklu uśpienia / budzenia systemu? Pytam, ponieważ w moim laptopie mam dysk SSD jako podstawowy dysk zawierający systemowy katalog główny i dodatkowy dysk twardy, na którym przechowuję system kopii zapasowych i pliki, do których mam sporadyczny dostęp. Ponieważ laptop zwykle przechodzi wiele codziennych cykli uśpienia / budzenia (mam na myśli Wstrzymaj pamięć RAM, a nie hibernację) przez wiele dni, chciałbym ręcznie ustawić drugi dysk twardy na tryb uśpienia i poinstruować jądro, aby śpiło przez system / cykle budzenia.

John Terragon
źródło
1
Jeśli chcesz ręcznie wysłać swój dysk twardy w tryb uśpienia, możesz użyć hdparm -Y /dev/sdb. Jeśli system uzyska dostęp do dysku, nastąpi jego automatyczne ponowne uruchomienie. Możesz to również zdefiniować /etc/hdparm.confza /dev/disk/by-label/DATA4 { spindown_time = 180 } pomocą. Zalecam używanie etykiet na dyskach, ponieważ nigdy nie możesz polegać na tym, który dysk zostanie najpierw wykryty przez system. pamiętaj, że potrzebujesz nowszej wersji hdparm (moja to 9.43), aby wysłać dyski z etykietą do trybu uśpienia.
syss

Odpowiedzi:

1

ponieważ do tworzenia kopii zapasowych używasz tylko drugiego dysku twardego, sugeruję, aby powiedzieć fstab, aby nie montował dysku automatycznie i aby utworzył skrypt kopii zapasowej, który zamontuje dysk, wykona kopię zapasową i ponownie odmontuje dysk.

przykład linii fstab z opcją noauto:

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

skrypt bash dla kopii zapasowej zaczynałby się od mount /media/backupi kończyłumount /media/backup

switch87
źródło
Nie uniemożliwia to jądru sondowania dysku podczas rozruchu.
Marc.2377,
0

Nie sądzę, żeby to było możliwe. Napęd jest sprawdzany przez BIOS / UEFI podczas rozruchu, a nie tylko jądro.

To, co robię, to poinstruowanie systemu, aby przełączył dysk w tryb uśpienia zaraz po uruchomieniu systemu. Sprawdź https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot .

W moim przypadku mam:

/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

Nie ma znaczenia, czy dysk lub jego partycje są montowane przez fstab (lub crypttab, jeśli o to chodzi), czy nie.

(edytuj) ściśle mówiąc, wydaje się, że jądro może ignorować dysk poprzez łatanie go . Nie zapobiegnie to jednak przebudzeniu dysku - wręcz przeciwnie, łatka, z którą się połączyłem, uniemożliwi dostęp do dysku, nie będziesz mieć dostępu do plików nawet sporadycznie, a także nie będziesz mógł ustawić dysku na spać.

Marc.2377
źródło