hiroの長い冒険日記

主にコンピュータ周辺の興味を持った内容を綴ります

Synology DS218+ USB HDD smartctl でS.M.A.R.T.情報取得

当日記ではアフィリエイト広告を利用しています

Synology DSM(DataStation Manager)では、USB接続のSATA HDDのS.M.A.R.T.情報を取得できなかった。

しかし、Synology DS218+の内部で動作しているlinuxでは、USB-SATA bridge chip が ATA pass through に対応していれば、smartmontoolsでUSB HDDでもS.M.A.R.T.情報を取得できる。Windows10のCrystalDiskInfoで情報取得できた事からも、linuxでも取得できる可能性が高い。

そこで、Synology DS218+でもsmartmontoolsでS.M.A.R.T.情報が取得できるか調べてみた。その為には、sshで接続してcommand lineで操作する必要がある。先にWindows10からsshで接続して、Synology DS218+の内部がどういう風になっているのかも簡単に調べた。

Synology DS218+ ssh 有効

  • コントロールパネルの「端末とsnmp」から、sshサービスを有効にした。
  • 詳細設定からセキュリティは高に設定した。この状態でWindows10標準のsshでlogin可能だった。
  • 使用できる暗号化方式(Cipher)、鍵交換アルゴリズム(KEX)、鍵付きハッシュのアルゴリズム(MAC)が、セキュリティが低い程、多く使用出来るようになっている。

Windows10 ssh client

www.freia.jp
Windows10 ProだとOS標準でssh clientを持ってる。時代は変わったんだね。PowerShellからssh username@ipaddrで接続できた。

Synology DS218+内部探索

簡単に内部の状態を把握した。

$ uname -a
Linux hostname 4.4.59+ #23824 SMP PREEMPT Fri Oct 12 18:31:34 CST 2018 x86_64 GNU/Linux synology_apollolake_218+
$ pwd
/var/services/homes/username
$ df -h
/dev/md0        2.3G  926M  1.3G  42% /
none            911M     0  911M   0% /dev
/tmp            915M  1.6M  913M   1% /tmp
/run            915M  4.4M  910M   1% /run
/dev/shm        915M  4.0K  915M   1% /dev/shm
none            4.0K     0  4.0K   0% /sys/fs/cgroup
cgmfs           100K     0  100K   0% /run/cgmanager/fs
/dev/vg1000/lv  3.5T 1023G  2.5T  29% /volume1
/dev/sdq1       3.6T  920G  2.7T  26% /volumeUSB1/usbshare
$ which dpkg
/bin/dpkg

/volume1 が SHR (Synology Hybrid RAID) の array、/volumeUSB1/usbshare が USB HDD、USB HDDの block device は/dev/sdqとなっている。apt-getは無いがdpkgがあるので、一部はdebでパッケージ管理している模様。

$ which smartctl
/bin/smartctl
$ smartctl -v
smartctl 6.5 (build date Sep  7 2018) [x86_64-linux-4.4.59+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
~省略~

smartctl は入っている。block deviceは一般ユーザーでは触れないのでrootに変更する。

rootで直接loginは出来ない。admin groupに登録されているだけではダメで、rootになる為にはSynology DS218+の初期設定で登録したadminユーザーでloginしてsudo -iする。

# cat /proc/bus/usb/devices
~省略~
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=152d ProdID=1576 Rev=82.01
S:  Manufacturer=Century
S:  Product=CLS35U3F6G
S:  SerialNumber=************
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  8mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:  If#= 0 Alt= 1 #EPs= 4 Cls=08(stor.) Sub=06 Prot=62 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
~省略~

Vendor = 0x152d、ProdID = 0x1576は此方のリストには載っていないので、オプションなしでは認識できない。JMicron(Vendor=0x152d)のオプションはusbjmicronかsatなので、両方試してみた所、satで成功した。

# smartctl --all -d sat /dev/sdq
smartctl 6.5 (build date Sep  7 2018) [x86_64-linux-4.4.59+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate IronWolf
Device Model:     ST4000VN008-2DR166
Serial Number:    ********
LU WWN Device Id: 5 000c50 0b29988b0
Firmware Version: SC60
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5980 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Nov 17 17:32:22 2018 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
~省略~

まとめ

Synology DS218+に ssh で login して smartctl を使用する事で、USB HDD の S.M.A.R.T.情報を取得する事が出来た。これで Windows10 PCに繋ぎ直す事なく情報を確認できるようになった(できればDSMの外部デバイスで管理できれば更に良いが)。

Is Hard Disk SMART data available via USB 3.0 ? - Synology Forum
Synology forum で2014年から話題になっていて、DSM6.0でもまだ使えない状態みたい。副作用があるのかな? 情報を整理するスクリプト作ってタスクスケジューラと組み合わせれば、定期実行させて代行できるかも。

いくら家内LANとはいえ、telnetはserial経由のみに限定して、LAN経由はssh標準で良いと思う。

Synology DS218+とSeagate IronWolf 4TB x 2とのセットでも良かったかも。