Linux

如何知道磁碟是來自 Jbod 還是集成為硬體機器的一部分

  • February 5, 2018

在某些情況下,當我們不在 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或別的什麼?

您可以嘗試 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 設備類型。

引用自:https://unix.stackexchange.com/questions/394762