Bagaimana mencegah kernel Linux membangunkan HDD sekunder dari mode tidur

11

Apakah ada cara untuk memerintahkan kernel (Linux) untuk tidak membangun hdd sekunder setelah siklus sleep / wake-up sistem? Saya bertanya karena di laptop saya, saya memiliki SSD sebagai drive utama yang berisi root sistem dan HDD sekunder tempat saya menyimpan sistem cadangan dan file yang saya akses secara sporadis. Karena laptop biasanya melewati banyak siklus tidur / bangun harian (maksud saya Tangguhkan RAM, bukan hibernasi) selama beberapa hari, saya ingin meletakkan HDD sekunder untuk tidur secara manual dan memerintahkan kernel untuk tetap tertidur selama tidur sistem / siklus bangun.

John Terragon
sumber
1
Jika Anda ingin mengirim harddisk secara manual ke mode tidur, Anda dapat menggunakannya hdparm -Y /dev/sdb. Jika sistem Anda mengakses disk Anda, disk itu akan berputar lagi secara otomatis. Anda juga dapat mendefinisikan ini /etc/hdparm.confdengan /dev/disk/by-label/DATA4 { spindown_time = 180 } saya sarankan menggunakan label untuk disk Anda karena Anda tidak pernah bisa mengandalkan disk mana yang terdeteksi pertama kali oleh sistem Anda. perlu diketahui bahwa Anda memerlukan versi hdparm yang lebih baru (milik saya adalah 9,43) untuk mengirim disk dengan label untuk tidur.
syss

Jawaban:

1

karena Anda hanya menggunakan hdd sekunder untuk cadangan, saya menyarankan agar fstab untuk tidak memasang drive secara otomatis dan membuat skrip cadangan yang me-mount drive, buat cadangan dan lepaskan drive lagi.

contoh baris fstab dengan opsi noauto:

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

skrip bash untuk cadangan akan dimulai dengan mount /media/backupdan diakhiri denganumount /media/backup

saklar87
sumber
Ini tidak mencegah kernel untuk memeriksa disk saat boot.
Marc.2377
0

Saya pikir itu tidak mungkin. Drive diperiksa oleh BIOS / UEFI saat boot, bukan hanya kernel.

Apa yang saya lakukan adalah menginstruksikan sistem untuk meletakkan drive dalam mode tidur tepat setelah sistem dinyalakan. Periksa https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot .

Dalam kasus saya, saya memiliki:

/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

Tidak ada bedanya apakah drive atau partisinya dipasang oleh fstab (atau crypttab, dalam hal ini) atau tidak.

(sunting) secara ketat, tampaknya mungkin untuk membuat kernel mengabaikan disk dengan cara menambalnya . Itu tidak akan mencegah drive dari bangun, - justru sebaliknya, patch yang saya tautkan akan mencegah Anda mengakses drive, Anda tidak akan dapat mengakses file Anda bahkan secara sporadis, dan juga tidak dapat menempatkan drive ke tidur.

Marc.2377
sumber