어떤 경우에는 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 장치 유형을 구별할 수 있는 충분한 정보가 있습니다.