web-dev-qa-db-ja.com

ディスクがJbodからのものか、HWマシンの一部として統合されたものかを知る方法

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

ただし、ディスクがHWマシンにある場合、または外部JBODからのものである場合は、情報を取得しないでください。

ディスクがどこにあるかを知る方法は?たぶんdmidecodeか何か他のもので?

1
yael

次のように、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

ただし、ローカルディスクが一部のHWコントローラーによって提供されるRAIDタイプでもある場合、hdparmはあまり役に立ちません。次に、udevadmを試すことができます。

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

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

1
Jaroslav Kucera