desenv-web-rp.com

Número de série do disco rígido do terminal?

Tenho vários discos rígidos que são conectados ao meu servidor e não tenho certeza de qual é o que, na visão do sdXY. Se eu conseguir ver os números de série dos meus discos rígidos no terminal, posso identificá-los facilmente.

Existe alguma maneira de vê-los no terminal?

72
rɑːdʒɑ

Outra solução que não requer privilégios de root:

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

Esta é realmente a biblioteca que lsblk, mencionada por don_crissti, aproveita, mas minha versão do lsblk não inclui a opção serial.

65
Johann

No tipo de terminal:

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

EDIT: Você também pode usar lshw ou smartctl

  • lshw

    # lshw -class disk

  • smartctl

    # smartctl -i /dev/sda

Se estiver faltando essas ferramentas, basta instalar os seguintes pacotes

# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw
53
Robert Jonczy

Dispositivo1 1 nome e número de série correspondente:

lsblk --nodeps -o name,serial

resultado:

NAME SERIAL
sda  0000000012400917BA30
sdb  0000000012400917BA96

adicionar -n se você não quiser imprimir a linha do cabeçalho:

lsblk --nodeps -no name,serial

resultado:

sda  0000000012400917BA30
sdb  0000000012400917BA96

Passe device como argumento para obter apenas o número de série de um dispositivo específico:

lsblk --nodeps -no serial /dev/sda

resultado:

0000000012400917BA30

Lembre-se de que lsblk lista informações sobre todos os disponíveis (ou os especificados) dispositivos de bloco. Agora, para aqueles que não sabem o que esse último termo significa:
Em geral, dispositivos de bloco são dispositivos que armazenam ou mantêm dados. Unidades de disquete, unidades de disco rígido e unidades de CD-ROM são todos dispositivos de bloco. Mas isso não é um problema ao usar lsblk, pois você pode simplesmente adicionar mais colunas, por exemplo, type (tipo de dispositivo) e/ou tran (tipo de transporte de dispositivo) etc:

lsblk --nodeps -sem nome, serial, tipo, tran
sda  0000000012400917BA30     disk sata
sdb  0000000012400917BA96     disk sata
sr0  4B583242334C453233353320 rom  usb
34
don_crissti

Usando hdparm, você pode ver seu número de série do Harddisk no terminal.

Abra seu terminal e digite como

 hdparm -I /dev/sd?|grep -E "Number|/dev"
11
rɑːdʒɑ
$ ls -al /dev/disk/by-id/*sda*

Isso mostrará o número de série do nome do disco familiar.

9
Ed Neville

Maneira mais fácil que eu conheço (não requer raiz):

inxi -Dplxx

Isso gera todos os discos, seus seriais e qualquer informação extra. -p adiciona partições. -l adiciona rótulos. -u adiciona UUID para as partições.

Além disso, é muito mais fácil lembrar, heh.

Amostra:

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

Observe que isso filtra as unidades ópticas. Para ver dados ópticos:

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

Note que no meu sistema Debian, o lsblk não mostra nada para seriais, seja como root ou como usuário. É por isso que a inxi usa um método muito mais confiável para obter esses dados.

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

lsblk --version
lsblk from util-linux 2.25.2

Como você pode ver, para o lsblk, ele pensa que uma unidade óptica e uma unidade de disquete também são discos, o que, em certo sentido, são, embora não sejam realmente, uma vez que não se tornam discos até que um disco seja inserido. E não mostra nada para serial, também não mostra nada para outros valores, como rótulo. Definitivamente um bug, já que esses dados estão disponíveis para o sistema, é onde a inxi os obtém, diretamente.

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

Isso mostrará o wwn-id para o disco. O filtro awk pode precisar ser ajustado dependendo da distribuição e versão do SO. Eu precisava de uma solução com script para ler o wwn-id, necessário para a cerca do disco do pacemaker. Se partições (/dev/sdX1 por exemplo) já foram criados outro grep é necessário para filtrar a saída:

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

Eu também gosto de usar ls -l /dev/disk/by-id porque mostrará o WWN de um disco, se disponível. O WWN geralmente é impresso na etiqueta do disco, por isso é fácil de identificar.

[email protected] (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
user208145