LinuxカーネルがセカンダリHDDをスリープ解除しないようにする方法


11

システムのスリープ/ウェイクアップサイクル後にセカンダリLinuxをウェイクアップしないように(Linux)カーネルに指示する方法はありますか?私のラップトップには、システムルートを含むプライマリドライブとしてSSDがあり、バックアップシステムと散発的にアクセスするファイルを保持するセカンダリHDDがあるので、私は尋ねています。ラップトップは通常、何日間も毎日多くのスリープ/ウェイクアップサイクル(休止状態ではなくRAMへのサスペンド)を実行するため、セカンダリHDDを手動でスリープ状態にし、カーネルがシステムスリープ全体でスリープ状態を維持するように指示します/ウェイクアップサイクル。


1
手動でハードディスクをスリープ状態にしたい場合は、を使用できますhdparm -Y /dev/sdb。システムがディスクにアクセスすると、自動的に再びスピンアップします。また、システムで最初に検出されたディスクに依存することはできないため、ディスクのラベルを使用/etc/hdparm.confする/dev/disk/by-label/DATA4 { spindown_time = 180 } ことをお勧めします。ラベル付きのディスクをスリープ状態にするには、新しいバージョンのhdparm(私は9.43)が必要であることに注意してください。
sysは、2015年

回答:


1

バックアップにセカンダリhddのみを使用するため、ドライブを自動的にマウントせず、ドライブをマウントしてバックアップを作成し、ドライブを再度マウント解除するバックアップスクリプトを作成するようにfstabに指示することをお勧めします。

noautoオプションを使用したfstab行の例:

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

バックアップ用のbashスクリプトは、最初でmount /media/backup終わり、umount /media/backup


これは、カーネルがブート時にディスクをプローブすることを妨げません。
Marc.2377

0

それは可能ではないと思います。ドライブは、カーネルだけでなく、起動時にBIOS / UEFIによってプローブされます。

ただし、システムの起動直後にドライブをスリープモードにするようにシステムに指示しています。https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_bootを確認してください

私の場合、私は持っています:

/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

ドライブまたはそのパーティションがfstab(または、crypttab)によってマウントされているかどうかに関係なく、違いはありません。

(編集)厳密に言うと、パッチを適用することで、カーネルにディスクを無視させることができるようです。ただし、ドライブがウェイクアップするのを防ぐことはできませんが、まったく逆に、リンクしたパッチを使用すると、ドライブにアクセスできなくなり、散発的にもファイルにアクセスできなくなり、ドライブを睡眠。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.