sdparmを使用してSeagate拡張ハードドライブのスリープモードをオフにする

sdparmを使用してSeagate拡張ハードドライブのスリープモードをオフにする

Ubuntuサーバーを実行しているNUCにUSB経由で接続されている外部Seagate拡張ドライブのスリープ機能を無効にできることを確認しようとしています。hdparmエラーメッセージが表示され、これを使用するのに問題があるため、sdparmこれは私の特定のドライブで動作しているようです。この投稿

私は実行しsudo sdparm -l -a /dev/sda、次のような結果を得ます。

    /dev/sda: Seagate   Expansion Desk    0915
    Direct access device specific parameters: WP=0  DPOFUA=0
Caching (SBC) [ca] mode page:
  IC            0  [cha: n, def:  0, sav:  0]  Initiator control
  ABPF          0  [cha: n, def:  0, sav:  0]  Abort pre-fetch
  CAP           0  [cha: n, def:  0, sav:  0]  Caching analysis permitted
  DISC          1  [cha: n, def:  1, sav:  1]  Discontinuity
  SIZE          0  [cha: n, def:  0, sav:  0]  Size enable
  WCE           1  [cha: y, def:  1, sav:  1]  Write cache enable
  MF            0  [cha: n, def:  0, sav:  0]  Multiplication factor
  RCD           0  [cha: n, def:  0, sav:  0]  Read cache disable
  DRRP          0  [cha: n, def:  0, sav:  0]  Demand read retention priority
  WRP           0  [cha: n, def:  0, sav:  0]  Write retention priority
  DPTL          -1  [cha: n, def: -1, sav: -1]  Disable pre-fetch transfer length
  MIPF          0  [cha: n, def:  0, sav:  0]  Minimum pre-fetch
  MAPF          -1  [cha: n, def: -1, sav: -1]  Maximum pre-fetch
  MAPFC         -1  [cha: n, def: -1, sav: -1]  Maximum pre-fetch ceiling
  FSW           0  [cha: n, def:  0, sav:  0]  Force sequential write
  LBCSS         0  [cha: n, def:  0, sav:  0]  Logical block cache segment size
  DRA           0  [cha: n, def:  0, sav:  0]  Disable read ahead
  SYNC_PROG     0  [cha: n, def:  0, sav:  0]  Synchronous cache progress indication
  NV_DIS        0  [cha: n, def:  0, sav:  0]  Non-volatile cache disable
  NCS           255  [cha: n, def:255, sav:255]  Number of cache segments
  CSS           0  [cha: n, def:  0, sav:  0]  Cache segment size
Control [co] mode page:
  TST           0  [cha: n, def:  0, sav:  0]  Task set type
  TMF_ONLY      0  [cha: n, def:  0, sav:  0]  Task management functions only
  DPICZ         0  [cha: n, def:  0, sav:  0]  Disable protection information check if protect field zero
  D_SENSE       0  [cha: n, def:  0, sav:  0]  Descriptor format sense data
  GLTSD         0  [cha: n, def:  0, sav:  0]  Global logging target save disable
  RLEC          0  [cha: n, def:  0, sav:  0]  Report log exception condition
  QAM           1  [cha: n, def:  1, sav:  1]  Queue algorithm modifier
  NUAR          0  [cha: n, def:  0, sav:  0]  No unit attention on release
  QERR          0  [cha: n, def:  0, sav:  0]  Queue error management
  RAC           0  [cha: n, def:  0, sav:  0]  Report a check
  UA_INTLCK     0  [cha: n, def:  0, sav:  0]  Unit attention interlocks control
  SWP           0  [cha: n, def:  0, sav:  0]  Software write protect
  ATO           0  [cha: n, def:  0, sav:  0]  Application tag owner
  TAS           0  [cha: n, def:  0, sav:  0]  Task aborted status
  ATMPE         0  [cha: n, def:  0, sav:  0]  Application tag mode page enabled
  RWWP          0  [cha: n, def:  0, sav:  0]  Reject write without protection
  SBLP          0  [cha: n, def:  0, sav:  0]  Supported block lengths and protection information
  AUTOLOAD      0  [cha: n, def:  0, sav:  0]  Autoload mode
  BTP           0  [cha: n, def:  0, sav:  0]  Busy timeout period (100us)
  ESTCT         0  [cha: n, def:  0, sav:  0]  Extended self test completion time (sec)
Power condition [po] mode page:
  PM_BG         0  [cha: n, def:  0, sav:  0]  Power management, background functions, precedence
  STANDBY_Y     0  [cha: n, def:  0, sav:  0]  Standby_y timer enable
  IDLE_C        0  [cha: n, def:  0, sav:  0]  Idle_c timer enable
  IDLE_B        0  [cha: n, def:  0, sav:  0]  Idle_b timer enable
  IDLE          0  [cha: n, def:  0, sav:  0]  Idle_a timer enable
  STANDBY       0  [cha: y, def:  1, sav:  0]  Standby_z timer enable
  ICT           0  [cha: n, def:  0, sav:  0]  Idle_a condition timer (100 ms)
  SCT           4294967286  [cha: y, def:9000, sav:4294967286]  Standby_z condition timer (100 ms)
  IBCT          0  [cha: n, def:  0, sav:  0]  Idle_b condition timer (100 ms)
  ICCT          0  [cha: n, def:  0, sav:  0]  Idle_c condition timer (100 ms)
  SYCT          0  [cha: n, def:  0, sav:  0]  Standby_y condition timer (100 ms)
  CCF_IDLE      0  [cha: n, def:  0, sav:  0]  check condition on transition from idle
  CCF_STAND     0  [cha: n, def:  0, sav:  0]  check condition on transition from standby
  CCF_STOPP     0  [cha: n, def:  0, sav:  0]  check condition on transition from stopped

私はハードドライブの用語に最初に触れましたが、これがSTANDBYドライブがスタンバイモードで実行されるべきかどうかを示すブールになると思います。1代わりにディスクに「スリープ」をしないように設定しますか0、それともその逆に設定しますか?

リストに確認する必要がある他の設定はありますか?それとも私が完全に間違っているのですか?

ベストアンサー1

私は最近同じ質問に答えたいという欲求を偶然見つけました。書き込み中も省電力モードに切り替えるWD My Book 25EDがいくつかあります。とにかく、いくつかの調査の最後にsdparm-disable_sleep.sh実行後に問題を解決するスクリプトを書いています。

#!/bin/bash
# Usage: sdparm-disable_sleep.sh <device>
[[ -n "${1}" && -b "${1}" ]] \
  && sdparm --flexible --page=po -l -a "${1}" \
  && { sdparm --flexible --set=STANDBY_Z=0 -S "${1}" \
       && sdparm --flexible --page=po -l -a "${1}"; }

デフォルトでは、このsdparm --set=STANDBY_Z=0 -S <device>コマンドSTANDBY_Zはに設定され、0タイマーを無効にして設定を保存します。

あなたの場合、パラメータの名前はでのみ指定されておりSTANDBY、貼り付けられた出力によると無効になりました(保存された値なので0)。たぶんファームウェアに問題があるかもしれません。とにかくコマンドを実行してみてください-S。少なくともドライブが再起動/再初期化されるまで、コマンドが継続していることを確認してください。

おすすめ記事