2台のUSB-HDDを識別する

最近、自宅で簡易NAS(Banana Pi + OpenMediaVault)を運用しています。

ハードディスクを2台接続していますが、どちらも同じ型番のためパッと見たところ区別がつきません。
標準コマンドでの確認方法を模索してみました。

目次

前提

使用しているハードディスクは、どちらも同じ Western Digital 製の E-IDE 250GB ハードディスク(WD2500BB-00GUA0)です。
在庫の関係で USBケースは以下の2つを使っています。

  • USB 2.0
    Groovyのケース(IDE-CASE3.5)を使って変換。
  • USB 3.0
    玄人志向のケース(GW3.5IDE+SATA/U3P)を使って変換。

確認

smartctl --scan

smartctlコマンドで scan すると1台のみ認識します。
引数 sat をつけると2台認識します。

$ sudo smartctl --scan
/dev/sdb -d usbjmicron # /dev/sdb [USB JMicron], ATA device

$ sudo smartctl --scan -d sat
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device

-d オプションの sat は、ATAディスクへの変換オプションです。

$ man smartctl
´-d´ option (for more information see the section on "ATA, SCSI command sets and SAT" below).
sat[,auto][,N] - the device type is SCSI to ATA Translation (SAT). This is for ATA disks

「-d」オプション(詳細については、後述の「ATA、SCSIコマンドセット、およびSAT」のセクションを参照してください)。
sat [、auto] [、N] - デバイスタイプはSCSIからATAへの変換(SAT)です。これはATAディスク用です

lsblk

ブロックデバイスをツリー表示する lsblkコマンドで見ても分かりません。
※マウントポイントはディスクに付けたラベル名から作成されているので当てになりません。

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 232.9G  0 disk 
└─sda1        8:1    0 232.9G  0 part /srv/dev-disk-by-label-USB3
sdb           8:16   0 232.9G  0 disk 
└─sdb1        8:17   0 232.9G  0 part /srv/dev-disk-by-label-USB2
mmcblk0     179:0    0   7.4G  0 disk 
├─mmcblk0p1 179:1    0    64M  0 part /boot
└─mmcblk0p2 179:2    0   7.3G  0 part /
zram0       253:0    0 248.1M  0 disk [SWAP]
zram1       253:1    0 248.1M  0 disk [SWAP]

lsusb

USBデバイスを表示する lsusbコマンドを使ってもコントローラが接続されていることは分かりますが、それにどのデバイスがぶら下がっているかまでは分かりません。

$ lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 067b:2507 Prolific Technology, Inc. PL2507 Hi-speed USB to IDE bridge controller
Bus 002 Device 003: ID 152d:0539 JMicron Technology Corp. / JMicron USA Technology Corp. JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

smartctl シリアル番号

結局 infoオプションでシリアル番号を確認するしか方法がないようです。
(HDD本体にはハイフン無しで記載されていましたが目検には十分でしょう)。
※fdiskコマンドでも確認可能です。

$ sudo smartctl /dev/sda --info -d sat
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.14.84-sunxi] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar
Device Model:     WDC WD2500BB-00GUA0
Serial Number:    WD-WMAL999999aa
Firmware Version: 08.02D08
User Capacity:    250,059,350,016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-6 (minor revision not indicated)
Local Time is:    Mon Jan  7 22:16:14 2019 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
$ sudo smartctl -T permissive /dev/sdb --info
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.14.84-sunxi] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar
Device Model:     WDC WD2500BB-00GUA0
Serial Number:    WD-WMAL999999ab
Firmware Version: 08.02D08
User Capacity:    250,059,350,016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-6 (minor revision not indicated)
Local Time is:    Mon Jan  7 22:09:30 2019 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

$ man smartctl
permissive - ignore failure(s) of mandatory SMART commands.

permissive - 必須のSMARTコマンドの失敗を無視します。