디스크가 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 장치 유형을 구별할 수 있는 충분한 정보가 있습니다.

관련 정보