ディスクがJbodのものかハードウェアシステムの一部であるかを確認する方法

ディスクがJbodのものかハードウェアシステムの一部であるかを確認する方法

場合によっては、HW Linuxマシンの近くにいない場合は、次のディスクのみが表示されます。

/dev/sdd                  20511312   199536  20295392   1% /grd/sdd
/dev/sdb                  20511312   487852  20007076   3% /grd/sdb
/dev/sde                  20511312    91572  20403356   1% /grd/sde
/dev/sdf                  20511312    45192  20449736   1% /grd/sdf

ただし、ディスクがハードウェアシステムにある場合、または外部JBODからインポートされた場合、情報は取得できません。

ディスクがどこにあるのか、どうすればわかりますか?たぶんパスdmidecodeとか?

ベストアンサー1

たとえば、hdparm -i {device} を試してみます。

# hdparm -i /dev/sda

/dev/sda:

 Model=SAMSUNG MZ7TD512HAGM-000L1, FwRev=DXT05L0Q, 
SerialNo=S151NYADA01701
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1000215216
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7

 * signifies the current active mode

上記は標準ディスクドライブの正しい出力です。私は仮想ディスク(JBODやRAIDなど)が失敗する必要があると思います。これにより、次の内容が表示されます。

# hdparm -i /dev/sdb

/dev/sdb:
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 HDIO_GET_IDENTITY failed: Invalid argument

ただし、ローカルディスクが一部のハードウェアコントローラによって提供されるRAIDタイプの場合、hdparmはあまり使用されません。その後、udevadmを試してみてください。

udevadm info -a -p  $(udevadm info -q path -n /dev/sdb)

出力がかなり長くてここにすべて貼り付けるわけではありませんが、出力を比較してみるとノードの sdX デバイスタイプを区別するのに十分な情報があります。

おすすめ記事