어느 하드 디스크 드라이브가 무엇입니까?


38

어떤 하드 디스크 드라이브가 어떤 장치 경로에 해당하는지 알고 싶습니다. 하드 디스크 통계 (브랜드, 크기)를 dev 경로와 일치시키는 것은 쉽지 않지만 더 많은 것을 원합니다. 케이스 안에 어떤 드라이브가 있는지 알고 싶습니다. 이 정보를 얻는 좋은 방법은 무엇입니까?

제약

  • 나는 게으르다. 서버를 분리하여 모든 드라이브를 제거한 다음 하나씩 다시 추가하고 싶지 않습니다.
  • 재부팅이 가능합니다.
  • 이 경우 드라이브가 불편하게 함께 축소됩니다. 라벨 정보가 숨겨져 있습니다.
  • 케이스를 열 수 있습니다. 대부분의 디스크는 SATA이므로 이론적으로 핫 스왑이 가능합니다. 케이블을 뽑는 것은 공정한 게임입니다.

보너스

최고의 / 쉬운 GUI 또는 클리닉 답변에 대한 답변을 수여하고 다른 종류의 다음 최고의 답변에 현상금을 제공합니다. 나는 cli 답변을 선호하지만 다른 많은 사람들이 좋은 포인트 앤 클릭 방법을 좋아할 것임을 이해합니다.

답변:


26

hdparm -i /dev/sdX 일련 번호를 제공합니다. 동일한 브랜드와 크기의 하드 디스크를 구분하는 가장 간단한 방법입니다.

일련 번호는 일반적으로 디스크의 레이블에 인쇄되어 있으므로 케이스를 열어야하더라도 컴퓨터를 분해 할 필요는 없습니다.

예:

$ sudo hdparm -i /dev/sdb | grep -i serial
 Model=SAMSUNG HD253GJ, FwRev=1AJ10001, SerialNo=S24JJ90Z505435

더 많은 정보를 원하면 lshw -c storage -c disk가장 읽기 쉬운 출력을 제공합니다. 명령 줄 형식으로 디스크 유틸리티와 거의 동일한 데이터입니다.

다음은 4 개의 디스크 컨트롤러, 7 개의 하드 디스크, DVD ROM 및 USB 디스크를 사용하여 액세스 할 수있는 가장 복잡한 설정의 주석이 달린 예입니다.

흥미로운 부분에 초점을 맞추기 위해 출력이 크기로 축소되었습니다.

[server ~]$ sudo lshw -c storage -c disk
  *-storage   
  # a 2-port PCI-E SATA controller
       description: SATA controller
       product: 88SE9123 PCIe SATA 6.0 Gb/s controller
       vendor: Marvell Technology Group Ltd.
     *-disk
          description: ATA Disk
          product: WDC WD15EADS-00P
          vendor: Western Digital
  # 'physical id' corresponds to port number, first port is 0
          physical id: 0  
          logical name: /dev/sdg
          serial: WD-WMAVU0849124
          size: 1397GiB (1500GB)
     *-cdrom
          description: DVD reader
          product: BD-ROM BR-5100S
          vendor: Optiarc
          physical id: 1
          logical name: /dev/cdrom1
          logical name: /dev/dvd1
          logical name: /dev/scd0
          serial: [Optiarc BD-ROM BR-5100S 1.02 May20 ,2008
  *-storage
  # mobo controller for eSATA ports. Not used.
       description: SATA controller
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-ide
  # mobo controller for IDE. Not used.
       description: IDE interface
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-storage
  # the primary SATA controller, six ports
       description: SATA controller
       product: 82801JI (ICH10 Family) SATA AHCI Controller
       vendor: Intel Corporation
  # 'disk:0' means port 0, same as physical id
     *-disk:0
          description: ATA Disk
          product: WDC WD1600BEVS-0
          vendor: Western Digital
          physical id: 0
          logical name: /dev/sda
          serial: WD-WXEY08T58317
          size: 149GiB (160GB)
     *-disk:1
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 1
          logical name: /dev/sdb
          serial: 5XW1RTDS
          size: 1863GiB (2TB)
     *-disk:2
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 2
          logical name: /dev/sdc
          serial: 5XW23W0W
          size: 1863GiB (2TB)
     [...]
  *-scsi
  # the USB disk, as evidenced by the bus info 
       physical id: 1
       bus info: usb@1:1
       capabilities: emulated scsi-host
     *-disk
          description: SCSI Disk
          product: 10EAVS External
          vendor: WD
          physical id: 0.0.0
          logical name: /dev/sdh
          serial: WD-WCAU46029507
          size: 931GiB (1TB)

디스크 유틸리티가 더 빠르다고 생각합니다. 명령 행 버전은 ssh 및 스크립트에서 사용할 수 있다는 장점이 있습니다.

그리고 여전히 일련 번호가 가장 안정적인 솔루션이라고 생각합니다. :)

각 드라이브의 "실제 ID"는 마더 보드에 연결된 위치에 해당합니다. 0으로 시작합니다. 따라서 물리적 ID 2는 드라이브가 mobo 또는 기타 해당 장치의 세 번째 sata 포트에 연결되어 있음을 의미합니다.


흥미 롭군 시리얼 / 라벨이 있으면 좋지만, 제 시나리오에서 디스크는 스티커가 보이지 않게하는 홀더에 들어 있습니다. 내가 할 수있는 최선은 케이블을 추적하는 것입니다. hdparm -i유용한 정보 는 즉시 보지 못했지만 더 많은 정보를 얻을 수 없는지 확인하려면 매뉴얼 페이지를 읽어야합니다.
djeikyb

하하, 시리얼은 실제로 가장 신뢰할 만하지 만 이것은 커맨드 라인 인터페이스를 통해 리눅스 장치 인식-> 물리적 연결 ...의 유용한 맵을 제공합니다. 감사!
djeikyb

34

디스크 유틸리티

드라이브의 모델, 크기, 일련 번호 및 장치 경로에 대한 정보를 제공하는 GUI 응용 프로그램입니다. 기본적으로 Ubuntu Desktop에 설치됩니다. Ubuntu Dash 버튼을 누르고 "디스크 유틸리티"를 검색하여 찾거나를 사용하여 터미널에서 실행할 수 palimpsest있습니다.

디스크 유틸리티


4
한 손과 손가락 만 사용하면됩니다. 에너지 절약은 "행성 사용 디스크 유틸리티 저장"
Allan

4
이것이 "해당 위치 : SATA 호스트 어댑터의 포트 X"가 가장 중요한 기능이라고 생각합니다. 나는 cli 답변도보고 싶습니다. 옥타 & faustus은 그 라인을 따라 흥미로운 솔루션을 가지고
djeikyb

18

사례를 열고 "The Linux Journal"의 롤업 사본으로 드라이브를 들어보십시오. 그런 다음 각 드라이브에서 dd를 차례로 실행하여 디스크 소음을 발생시킵니다.

참고 : 이것은 SSD에서 작동하지 않습니다!


2
청진기 ftw
Jeremy

1
이 답변을 좋아하십시오. palimpsestand 의 기술적 결과를 선호 lshw하지만 이것은 가까운 세 번째입니다.
djeikyb

SSD는 소음을 발생시키지 않습니다. 또한 둘 이상의 드라이브가 있고 두 개의 드라이브에서 동시에 읽는 다른 프로세스가있는 경우 솔루션이 작동하지 않습니다.
Sergiy Kolodyazhnyy

또한 sshRDP 또는 RDP 를 통해 원격 서버로 작업하는 경우에는 도움이되지 않습니다
Sergiy Kolodyazhnyy

2
그 "누가 소리"소리가 무엇일까요?
jjg

10

/ sys (또는 / dev)에서 해당 정보를 얻을 수 있습니다.

anthony@Zia:~$ ls -l /sys/block/ | grep sd.
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sda -> ../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdb -> ../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdc -> ../devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdd -> ../devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdd

따라서 네 개의 디스크가 포트 (호스트 / 대상) 2에서 5에 있음을 알 수 있습니다.

ls -l을 켜서 /dev/disk/by-path볼 수도 있습니다.


2
/ sys 및 / dev에서 기본 정보에 액세스하기위한 +1 나는 여전히 수용 된 솔루션의 집계 정보를 더 좋아하지만 기본 정보를 얻고 읽는 방법을 아는 것은 매우 중요합니다. 이것은 @ jg-faustus와 @Allan이 준 더 큰 답변 중 빠진 부분입니다.
djeikyb

당신이 실행하는 경우 사실, strace -e trace=open lsblk그리고 strace -e trace=open lsblk그 정확히 읽기되고있는 데이터입니다. 이 답변은 더 많은 투표를 받아야합니다.
Sergiy Kolodyazhnyy

8

나는 추천한다 hwinfo --disk.

하드 디스크에 대한 모든 관련 정보가 표시됩니다. 파티션에 대한 자세한 정보가 필요한 경우 사용할 수 있습니다 hwinfo --partition.

위의 두 가지를 --short옵션 과 결합 하여 더 짧은 표현을 얻을 수 있습니다.


이것은 가장 유망한 것으로 보입니다. 특히 SysFS 및 Device Files 줄은 영어로 번역하는 방법을 잘 모르겠습니다.
djeikyb


4
  • cat /proc/partitions 커널에 의해 감지 된 파티션 / 디스크를 보여줍니다.

여기에 이미지 설명을 입력하십시오

  • smartctl -i /dev/sda

여기에 이미지 설명을 입력하십시오


3

가장 빠르고 쉬운 방법

1. 그놈 터미널 열기

2. 입력 sudo blkid

3. 비밀번호 입력

4. 어떤 드라이브가 읽기 쉬운 형식인지 알려줍니다


2

레이블을 볼 수없는 방법을 원한다면 다른 응답은 없습니다. 모든 드라이브를 마운트 해제합니다 (가능한 경우 라이브 CD로 부팅해야 할 수도 있습니다). 모든 드라이브가 이제 스핀 다운됩니다. 그런 다음 각각을 점진적으로 마운트하고 어느 것이 회전하는지 듣거나 느낄 수 있습니다. 이 방법을 사용하면 케이스 뚜껑 만 있으면되지만 라벨이 엉 키면 라벨이 보이지 않아도됩니다.

단순


1

핵심 질문 :

어떤 하드 디스크 드라이브가 어떤 장치 경로에 해당하는지 알고 싶습니다.

명령 줄 접근

  1. 기본적이고 더 많은 실습 방식은 /dev/파일 시스템 검사를 통해 이루어 집니다. /dev/disk/장치 파일에 대한 심볼릭 링크를 포함하는 여러 디렉토리가 있으며 해당 디렉토리는 UUID, id, /sys파일 시스템의 경로 및 레이블 (장치 / 파티션에 하나가있는 경우)로 구성됩니다. 예를 들어 찾으려는 드라이브의 UUID를 알고 있으면 다음과 같이 할 수 있습니다.

    $ find /dev/disk/by-uuid/ -mindepth 1 -printf "%p >>> %l\n"
    /dev/disk/by-uuid/8e344ab1-5eb5-4e20-becd-4147fffd439f >>> ../../sdb6
    /dev/disk/by-uuid/483CDA9D3CDA84FA >>> ../../sdb5
    /dev/disk/by-uuid/32AE5766AE5721A1 >>> ../../sdb4
    /dev/disk/by-uuid/7852-5217 >>> ../../sdb2
    /dev/disk/by-uuid/D668510B6850EC2D >>> ../../sdb1
    /dev/disk/by-uuid/B8E453D4E453940A >>> ../../sdb3
    /dev/disk/by-uuid/86df21bf-d95f-435c-9292-273bdbcba056 >>> ../../sda1
    
  2. 우분투는 기본적으로 UDisks디스크 관리자 와 함께 제공됩니다 . 하나의 유틸리티를 사용할 수 있습니다. 방법 # 1의 정보는 사용자의 편의를 위해 이미 구문 분석되었습니다. 예를 들어 어떤 장치가 어떤 하드 드라이브 모델에 해당하는지 간단히 찾으려면 다음과 같이하십시오.

    $ udisksctl  status
    MODEL                     REVISION  SERIAL               DEVICE
    --------------------------------------------------------------------------
    Radeon R7                 1.01      A22MD061520000172    sda     
    TOSHIBA MQ01ABF050        AM0P3M    Z4GRCSXAT            sdb     
    

    udisksctl info -b /dev/sda1특정 장치 또는 udisksctl dump모든 장치에 대해 고급 정보를 얻을 수 있습니다 . udisksctl monitor드라이브를 물리적으로 연결 / 분리 할 때 사용할 수 있습니다.

특히 UUID를 특정 드라이브와 일치 시키려면 다음을 사용하여 필터링 할 수 udisksctl info있습니다 grep.

    $ udisksctl info -b /dev/sda1 | grep 'IdUUID:\|Id:'                                                   
    Id:                         by-id-ata-Radeon_R7_A22MD061520000172-part1
    IdUUID:                     86df21bf-d95f-435c-9292-273bdbcba056

GUI 접근 :

UDisks프로세스 간 통신 버스에 게시 된 정보를 사용하여 dbusUnity 데스크톱으로 Ubuntu에 대한 표시기를 작성했습니다 (다른 장치에서도 사용할 수 있음). 원래 파일 시스템 사용 표시기를 위해 작성되었습니다 (설치 지시 사항 링크 참조). 파티션 / 장치를 클릭하고 파일 관리자에서 해당 디렉토리를 여는 것과 같은 기타 마운트 된 모든 드라이브에 대한 정보를 편리하게 표시 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


여기에 좋은 정보가 많이 있습니다. 그러나 dev / sys fs의 조언은 "이 uuid를 가진 어떤 물리 디스크에 파티션이 있는지 어떻게 알 수 있습니까?"라는 질문을 제기합니다. 내가 처음에 물었던 것입니다.
djeikyb

@djeikyb 그것은 실제로 내가 언급 한 표시기에서 작업하는 동안 해결했던 것 중 하나 udisksctl이며 아마도 가장 간단한 접근법 일 것입니다. 장치 + UUID 라인에 대해 grep으로 필터링 할 수 있습니다. 내 질문으로 편집하겠습니다. 사용자 지정 솔루션에 관해서는, 물론 그것이 펄이나 파이썬 또는 통과도 쉘 스크립트로 스크립팅 할 수 있습니다 /dev/disk/by-id와의 심볼릭 링크와 일치 /dev/disk/by-uuid.
Sergiy Kolodyazhnyy

@djeikyb 따라서 기본적으로 어떤 드라이브가 어떤 커넥터를 사용하는지 알고 싶습니까? 그리고 모델이나 하드 드라이브를 몰라도?
Sergiy Kolodyazhnyy

@djeikyb 나는 그것을 읽었으며, 그들은 각 디스크의 일련 번호에 중점을 둡니다. . .이 udisksctl status부분적으로 제공 한 것입니다 .
Sergiy Kolodyazhnyy

@djeikyb 재미있는. 기본 디스크 유틸리티 ()의 palimpset이름이으로 바뀌 gnome-disks-utility었지만 더 이상 "위치"가 없습니다. 내가 달리고있는 최소한 16.04에
Sergiy Kolodyazhnyy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.