手順05 HDD休止時間の設定

NAS

なぜHDDを休止させるのか?

家庭用NASにおいて、利用している2.5インチHDDはではファンレスでありファンを搭載する3.5インチHDDよりも静音ではあるものの、寝室などに置いていると回転音は気になります。寝ているときとか。また、利用していない時にもずっとHDDが回転しているのは電気代的にも芳しくないものと思われます。そこで、利用していない時間はHDDの回転を止める設定を追加します。

利用しているHDD製品

大容量ドライブを4つ接続しています。一番上の黄色はSSDですが、下3つはHDD。

・Western Digital の4TB

・Western Digital の1TB

・Buffalo の 4TB (ふるさと納税で購入) 中身はTOSHIBAの模様。

です。

UIでのHDD省電力設定

UIでできるようなのですが、このUIでの利用、私は利用しておりません。存在しならかった。。。

上のキャプチャのPower Modeが取得できている場合、UIの設定は使えるかもしれませんが、Errorのものは使えないかもです。

なので、UIからの設定が可能かどうかはご自身でご確認ください。

対象のHDDを選択し、「編集」を選択

「高度な電源管理」「アコースティック・マネジメント」「スピンダウンタイム」を設定できるようです。

「高度な電源管理」では1-255までの値を選択できます。

1-255に関しては以下の説明が参考になります。

hdparm - ArchWiki
ドライブのスタンバイ (スピンダウン) タイムアウトを設定します。電力を抑えるためにモーターを切るまでのタイムアウト (ディスクが使われないアイドル時間) を指定します。0にするとスピンダウンが無効化され、1から240までは5秒間隔で、241から251までは30分間隔で指定します。

スクリプトでのHDD省電力設定

私はこの方法で実現しています。

・Western Digital の4TB > 30分で回転停止(スピンダウン)

・Western Digital の1TB > 30分で回転停止(スピンダウン)

・Buffalo の 4TB  > 2分で回転停止(スピンダウン)

全て30分に統一したい気もしましたが、うまくできませんでした。HDDごとにくせがあるようなのでご注意ください。

なお、30分が適正かどうか、に関してはメディアサーバ用途で使っている私は2-3年壊れていません。2分が適正かどうか、に関してはバックアップ用途で利用しているので私は2-3年壊れていません。おそらくこの設定値で問題ないかと思われます。

1.HDDのUUIDを調べる

SSHでコマンドから以下を入力してください

 

ls -l /dev/disk/by-id

-part1となっていない方の”ata-TOSHIBA_MQ04ABB400_727CPZQST” 

を控えておきます。

2.hdparm設定

sudo nano /etc/systemd/system/hdparm.service

[Unit]
Description=hdparm init

[Service]
Type=oneshot
ExecStart=/usr/sbin/hdparm -S 23 /dev/disk/by-id/ata-TOSHIBA_MQ04ABB400_727CPZQST

[Install]
WantedBy=multi-user.target

-S 23 のところで時間の設定をしています。

なお、WDは -B 120 (30分)設定です。 -S なのか -B なのかはうまくいった方で調整します。

サービスの再起動

sudo systemctl enable hdparm
sudo systemctl start hdparm

また、サスペンド後にapmがリセットさせるなどあるようなので、こちらにも同様の設定をします。

/etc/systemd/system/apm.service

[Unit]
Description=hdparm Local system resume actions
After=suspend.target hybrid-sleep.target hibernate.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/hdparm -S 23 /dev/disk/by-id/ata-TOSHIBA_MQ04ABB400_727CPZQST

[Install]
WantedBy=sleep.target

これで休止時間が設定できます。ご自身の環境で設定値が有効かどうか念のため確認ください。

3.(必要なし)hd-ilde設定

hdparmではなくhd-idleで設定も可能なようですが、hdparmのみで問題ないので、もしこれだけでうまくいかない場合は試してみてください。

まず uuidを確認

lsblk -f 

hd-idleをインストール

sudo apt install hd-idle

30分で設定

sodo nano /etc/default/hd-idle

Xのところには UUIDを入力、 1800は30分ですね。

HD_IDLE_OPTS="-i 0 -a XXXXXXXXXXXX -i 1800"
sudo service hd-idle start