2019-09-27

NAS・LS210D - Debian Server 仮死状態からの復旧・その5

Western Digital 製 HDD は悪名高き Intellipark 機能があります。

これは、本来は効率的なヘッドの動作を意図したものでしたが、通常の使用法では逆にヘッドの出し入れがものすごい勢いで増えてしまうという、真逆の機能です。



S.M.A.R.T.情報で Load_Cycle_Count 値が異常に高くなるのでこの Intellipark を止める必要があります。

LS210D に ssh で入れるようにしたときもこの対応をしました。



今回は apt が使えますので楽にインストールできます。

まずは smartctl をインストールします。

debian:/# apt-get install smartmontools


次に、Intellipark を止めるツールをインストールします。

debian:/# apt-get install idle3-tools


Intellipark が有効になっているかどうかを確認します ➡ ここ重要
debian:/# idle3ctl -g /dev/sda

 有効な場合の応答メッセージ: Idle3 timer set to 80 (0x50)
 無効な場合の応答メッセージ: Idle3 timer is disabled

すでに無効になっている場合は無効化コマンドを実行してはいけません。

実行してしまうとディスクが使用不可に陥ります。




有効であった場合:

まずは現在のディスクの状態を見ます。

debian:/# smartctl -A /dev/sda
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.9.0-11-armmp] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   164   130   021    Pre-fail  Always       -       2783
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       608
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       -       22281
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       569
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       547
193 Load_Cycle_Count        0x0032   076   076   000    Old_age   Always       -       374631
194 Temperature_Celsius     0x0022   102   086   000    Old_age   Always       -       41
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0


現在値は Load_Cycle_Count374631です。


非常に高い値で、限度回数 30 万回を大きく超えていますので、いつ壊れても仕方がない状態ですねぇ :-(

ですが、幸いディスク自体にエラーなどはまだありません。




次にこれを止めます。


debian:/# sidle3ctl -d /dev/sda
Idle3 timer disabled
Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough!


適用後に止まっているかどうかを電源ケーブルを抜いて、10秒程度待ってから電源ケーブルを挿して起動します。

reboot コマンドでリブートしてはいけません。


その後 ssh でログインし、smartctl で確認します。



debian:/# smartctl -A /dev/sda
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.9.0-11-armmp] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   164   130   021    Pre-fail  Always       -       2425
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       609
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       -       22282
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       570
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       548
193 Load_Cycle_Count        0x0032   076   076   000    Old_age   Always       -       374631
194 Temperature_Celsius     0x0022   102   086   000    Old_age   Always       -       41
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0




Spin_Up_Time(ディスクが回転を始めてから規定速度に達するまでの時間)が少し短くなっています。

Load_Cycle_Count は変化ありませんから Intellipark は「止まって」います。




DLNA サーバーをインストールします。

debian:/# apt-get install minidlna

/etc/minidlna.conf を編集します。

debian:/# vi /etc/minidlna.conf

"media_dir=/var/lib/minidlna" 行の下に以下を追記します。
media_dir=/home/username/dlna_contents
"#inotify=yes" 行のコメントアウトを外します。
"#notify_interval=895" 行のコメントアウトを外します。

vi を終了します。

/home/username の配下に dlna_contents ディレクトリを作成し、所有者とグループを "username" に変更します。

debian:/# mkdir /home/username/dlna_contents
debian:/# chown username.username /home/username/dlna_contents


minidlna を再起動します。

debian:/# service minidlna restart

/home/username/dlna_contents にいくつかのコンテンツを入れます。

Mac のブラウザから 192.168.0.100:8200(LS210D のアドレス)とすると、次のような画面になります。





例では dlna_contents フォルダーに .jpg ファイルを6個入れていましたので、Media library の Image files が "6" になっています。


スマホなどに dlna クライアントアプリを入れて開くとこれらのコンテンツを再生できます。



とりあえず、LS210D の Debian Stretch 化ができました。

NAS と DLNA サーバー化もしました。



Linux サーバーが一つ増えたことになりますので今後、いろいろ遊んでみようと思うます。



>> 終わり





【追 記】

「その1〜その5」まで記載しましたが、実は /ets/fstab の設定誤りでしたから、別の linux 機で、この fstab の設定の誤りを修正してリブートし直せばもっと簡単に復旧できたはずですが、結果として一からインストールするやり方になってしまいました。
 









0 件のコメント: