터미널의 하드 디스크 일련 번호?


65

내 서버에 연결된 여러 개의 하드 디스크가 있는데 sdXY의 관점에서 어떤 디스크인지 확실하지 않습니다. 터미널에서 하드 디스크의 일련 번호를 볼 수 있으면 쉽게 식별 할 수 있습니다.

터미널에서 볼 수있는 방법이 있습니까?

답변:


57

루트 권한이 필요없는 다른 솔루션 :

udevadm info --query=all --name=/dev/sda | grep ID_SERIAL

이것은 실제로 lsblkdon_crissti가 언급 한 라이브러리 이지만, 내 lsblk 버전에는 serial 옵션이 포함되어 있지 않습니다.


2
하드 디스크가 완전히 죽은 경우 최상의 솔루션입니다. 다른 방법은 작동하지 않습니다.
niieani

1
grep ID_SCSI_SERIAL아래에보고 된 월드 와이드 이름 (wwn)과 달리 실제로 드라이브 의 일련 번호 를 제공하는 것일 수 있습니다 ID_SERIAL.
ron

@ron 재미있는! wwn을 정의하는 참조가 있습니까?
Johann

WD, Seagate, HGST 하드 드라이브에 대한 첫 경험은 터미널의 값을 레이블에 쓰여진 것과 비교 한 것입니다. 하드 드라이브는 주로 엔터프라이즈 / 데이터 센터 등급 대 소비자 데스크톱입니다.
ron

1
@ron 방금 이것을 다시 테스트했습니다. 내 버전의 udevadm (systemd 229)은 ID_WWN 필드를보고합니다. 내 시스템의 드라이브에는 ID_SCSI_SERIAL비슷한 것도 없습니다 ID_ATA_SERIAL.E: ID_SERIAL=TOSHIBA-TR150_23SC51E8J2BI ... E: ID_SERIAL_SHORT=23SC51E8J2BI ... E: ID_WWN=0x5e83a97200463ff3 ... E: ID_WWN_WITH_EXTENSION=0x5e83a97200463ff3
Johann

50

터미널 유형에서 :

# hdparm -I /dev/sd? | grep 'Serial\ Number'

편집 : lshw또는smartctl

  • lshw

    # lshw -class disk

  • smartctl

    # smartctl -i /dev/sda

해당 도구가 없으면 다음 패키지를 설치하십시오.

# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw

내가 테스트 한 답변에 감사드립니다. 그러나 그것은 dev / sdXX를 제공하지 않습니다. 문제를 해결하십시오.
그렇지

'grep'부분을 hdparm -I /dev/sd?
꺼내면 다음

3
하드 디스크가 완전히 죽었고 고장난 장치의 일련 번호를 찾고있는 경우 작동하지 않습니다. 대신 @Johann의 방법을 사용하십시오.
niieani

hdparmARM (Raspberry Pi의 Raspbian )에 (적당한 이름의) 패키지 를 설치해야했습니다 .
이더넷

hdparm -I /dev/sd? | grep --before-context=4 'Serial\ Number'일련 번호를 장치와 연관시키는 데 사용 합니다. 결과적인 원래 질문 요청처럼 보입니다.
s.co.tt

31

장치 1 이름 및 해당 일련 번호 :

lsblk --nodeps -o name,serial

산출:

NAME SERIAL
sda  0000000012400917BA30
sdb  0000000012400917BA96

-n헤더 행을 인쇄하지 않으려면 추가 하십시오.

lsblk --nodeps -no name,serial

산출:

sda  0000000012400917BA30
sdb  0000000012400917BA96

패스 device특정 장치의 일련 번호를 얻기 위해 인수로 :

lsblk --nodeps -no serial /dev/sda

산출:

0000000012400917BA30

lsblk 사용 가능한 모든 (또는 지정된) 블록 장치에 대한 정보 를 명심하십시오 . 이제 마지막 용어의 의미를 모르는 사람들을 위해 :
일반적으로 블록 장치 는 데이터를 저장하거나 보유하는 장치입니다. 디스켓 드라이브, 하드 드라이브 및 CD-ROM 드라이브는 모두 블록 장치입니다. 그러나 (장치 유형) 및 / 또는 (장치 전송 유형) 등과 같이 lsblk더 많은 열을 추가 할 수 있으므로 사용하면 문제가되지 않습니다 .typetran

lsblk --nodeps-이름 없음, 직렬, 유형, tran
sda  0000000012400917BA30     disk sata
sdb  0000000012400917BA96     disk sata
sr0  4B583242334C453233353320 rom  usb

10
여기에는 lsblkutil-linux 버전 2.24 이상이 필요합니다. github.com/karelzak/util-linux/commit/…
Johann

VM 우분투를 사용할 때 하드 디스크 직렬을 검색하는 방법은 무엇입니까? 위의 명령은이 상황에서 아무것도 반환하지 않습니다
Benyamin Jafari

11

사용 hdparm 하면 터미널에서 하드 디스크 일련 번호를 볼 수 있습니다.

터미널을 열고 다음과 같이 입력하십시오

 hdparm -I /dev/sd?|grep -E "Number|/dev"

그러나 의 옵션 을 사용하려면 수퍼 유저 여야 합니다. 나는 그것을 원하지 않고 루트 권한 없이 ser #을 읽는 방법을 선호합니다 . 이것이 내가 don_crissti의 솔루션만을 찬성 한 이유입니다. – syntaxerror 57 초 전에-Ihdparm
syntaxerror

9
$ ls -al /dev/disk/by-id/*sda*

익숙한 디스크 이름에 대한 일련 번호가 표시됩니다.


이것은 영리한 접근 방법이지만 가상 상자에서는 작동하지 않습니다. by-id디렉토리 의 내용 은 단지 심볼릭 링크 인 것처럼 보이 므로 ls -al /dev/disk/by-id/어쨌든 필요한 것을 보여줍니다.
와일드 카드

1
이것은 또한 데비안 라이브 부팅 시스템에서 나에게 도움이되었지만 인터넷을 설정하고 적응시키지 않으면 서 다른 모든 도구는 처음부터 사용할 수 없습니다.
hoijui

3

내가 아는 가장 쉬운 방법 (루트가 필요하지 않음) :

inxi -Dplxx

모든 디스크, 시리얼 및 추가 정보를 출력합니다. -p는 파티션을 추가합니다. -l은 레이블을 추가합니다. -u는 파티션에 UUID를 추가합니다.

또한 기억하기가 훨씬 쉽습니다.

견본:

inxi -Dxx
Drives:    HDD Total Size: 810.2GB (42.9% used)
           ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
           ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
           ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
           ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX

이것은 광학 드라이브를 걸러냅니다. 광학 데이터를 보려면

inxi -Dxxd 
Drives:    HDD Total Size: 810.2GB (42.9% used)
           ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
           ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
           ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
           ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
           Optical-1: /dev/sr0 model: LITE-ON DVDRW SOHW-1693S
           rev: KS09 dev-links: dvd,dvdrw
           Features: speed: 48x multisession: yes
           audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r state: running
           Optical-2: /dev/sr1 model: LITE-ON LTR-52327S rev: QS0C dev-links: cdrom,cdrw
           Features: speed: 52x multisession: yes
           audio: yes dvd: no rw: cd-r,cd-rw state: running

내 데비안 시스템에서 lsblk는 루트 또는 사용자로 시리얼에 대해 아무것도 표시하지 않습니다. 그렇기 때문에 inxi는 훨씬 더 안정적인 방법을 사용하여 해당 데이터를 얻습니다.

lsblk --nodeps -o name,serial
NAME SERIAL
fd0  
sda  
sdb  
sdc  
sdd  
sr0  
sr1  

lsblk --version
lsblk from util-linux 2.25.2

보시다시피, lsblk에 따르면, 광학 드라이브와 플로피 드라이브도 디스크라고 생각합니다. 디스크가 삽입 될 때까지 디스크가되지 않기 때문에 실제로는 아닙니다. 그리고 그것은 직렬에 대해서는 아무것도 보여주지 않으며, 레이블과 같은 다른 값들에 대해서는 아무것도 보여주지 않습니다. 이 데이터를 시스템에서 사용할 수 있기 때문에 확실히 버그가 있습니다. 바로 inxi가 얻는 곳입니다.


2
게시물의 마지막 부분이 잘못되어 lsblk디스크라고 생각하지 않으며 단순히 모든 블록 장치 를 나열 합니다 . 설명을 위해 업데이트 된 게시물을 참조하십시오. 정보를 보여주지 않는 것에 대하여 – 이것은 당신이 그들의 lsblk행동에 대해 악명 높은 데비안을 사용하고 있기 때문 입니다. 그것은 아치 리눅스에서 절대적으로 잘 작동하므로 분명히 버그는 아닙니다 . 또한 inxi다른 명령을 사용하여 해당 정보를 얻는 bash 스크립트 일뿐입니다. "직접"아무것도 얻지 못합니다.
don_crissti

기술적으로는 정확하지만 일반적인 말의 영역에서 디스크는이 개념을 전달하는 적절한 방법입니다. 행동 실패는 물론 버그이며, 원인은 관련이 없으므로 버그가있는 lsblk가 버그가 아니라는 의견은 기본적으로 의미가 없습니다. 버그가 데비안에서 생성되었는지 여부는 버그라는 사실을 변경하지 않습니다. inxi가 직렬 정보를 얻는 곳인 파일 시스템에서 중재없이 직접적으로 의미합니다. 대답은 전반적인 gnu / linux 환경을 반영해야하므로 debian / buntu를 제외하고 lsblk 작품은 가치가 없다고 말하면 대부분의 사용자는 작동하지 않습니다.
Lizardx

대답의이 부분은 잘못되었습니다. lsblk, 광학 드라이브와 플로피 드라이브도 디스크라고 생각합니다 . 실제로 lsblk는 블록 장치 (하드 디스크, SSD, 플로피 디스크 드라이브, 광 디스크 드라이브, LVM 논리 볼륨 등)를 나열하며 lsblk는 디스크와 비 디스크를 구분하지 않습니다.
pts

데비안 버스터의 FYI lsblk --nodeps -o name,serial는 일련 번호를 표시하지만 버그를 재현 할 수 없습니다.
pts

lsblk가 개선되고 있지만 여전히 미묘한 문제가 있지만 여전히 도구의 기본 데이터 소스로 사용하지는 않지만 현재는 보조 소스로 사용하고 있지만 이미 설명 할 수없는 버그가 발생했습니다. 그것을 사용하여 지금 작업 중입니다.
Lizardx

1

사용 ls -l /dev/disk/by-id가능한 경우 디스크의 WWN이 표시되므로 사용하는 것도 좋습니다. WWN은 일반적으로 디스크 레이블에 인쇄되므로 쉽게 식별 할 수 있습니다.

root@server (16:27:58):~# ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part2 -> ../../sda2
...
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x50014ee25ffd0a5c -> ../../sdc
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x50014ee2b554c0b4 -> ../../sdb
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x5002538d427700f0 -> ../../sda

1
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | awk '{print $9'}

wwn-id디스크의 가 표시됩니다 . awk필터는 OS 분포 및 버전에 따라 조정해야 할 수도있다. wwn-idPacemaker 디스크 펜싱에 필요한 을 읽으려면 스크립트 솔루션 이 필요했습니다. 파티션 ( /dev/sdX1예 : 파티션 )이 이미 생성 된 grep경우 출력을 필터링하기 위해 다른 파티션 이 필요합니다.

ls -al /dev/disk/by-id/ | grep sdX | grep wwn | grep -v sdX1 | awk '{print $9'}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.