Supondo que o disco suporte SMART, você deve conseguir recuperar o número de série do disco usando smartctl -i /dev/sdX
WWN = nome mundial
Tem "número de série", 9WJxxxxx que tem oito caracteres. Tem WWN 5000C5002E47xxxx que é um 16 caracteres. Ambos estão impressos na etiqueta na unidade de disco rígido.
Tem "número de série" WMC5D0Dxxxxx que tem 12 caracteres. Tem WWN 50014EE003Fxxxxx que tem 16 caracteres.
Tem "número de série" KWJTxxx, também oito caracteres. Tem o WWN ... eu não sei; não está impresso na etiqueta e não está ligado ao sistema para descobrir.
Para o inventário, geralmente anotamos e rastreamos o seguinte, que sempre pode ser obtido do rótulo na unidade:
O problema surge obviamente 1, 2, 3 anos depois, quando uma folha de inventário mostra qualquer disco rígido. Você tem certeza de que está em um servidor em execução, mas não quer desligar o servidor para puxar o disco rígido para ler o rótulo.
Como você obtém o número de série da unidade que corresponde ao que está no rótulo?
udevadm info --query=all --name=/dev/sda
tem ID_SERIAL , mas esse é o WWN. Nós não queremos outro campo para rastrear os 16 caracteres do WWN como um identificador ... E eu já odeio escrever os longos números de série dos discos WD.
Existe uma maneira no Linux de extrair o número de série da unidade?
Acredito que seja possível porque, anos atrás, a GUI do gerenciador de armazenamento RAID que estávamos usando relatou bem os números de série de oito caracteres dos discos da Seagate que estavam em uso. E esse hardware RAID listou um monte de unidades de disco rígido específicas da Seagate que eram "oficialmente suportadas" e, se a memória servir, realmente não há outra marca / modelo de unidades.
É possível que isso esteja relacionado ao firmware da unidade de disco rígido, o que significa que pode ser feito em determinadas unidades de produção e não em outras?
Supondo que o disco suporte SMART, você deve conseguir recuperar o número de série do disco usando smartctl -i /dev/sdX
Você pode obter o número de série por meio de:
1) hdparm
:
hdparm -I /dev/sda | grep Serial
2) sginfo
é uma parte de sg3-utils
pacote:
sginfo -a /dev/sda | grep Serial
3) sdparm
comando:
sdparm -i /dev/sda | grep 'vendor specific'
4) lshw
:
lshw -class disk -class storage | grep serial
Eu só tenho unidades WD para verificar agora, mas udevadm info --query=all
mostra
ID_SERIAL
/ ID_SERIAL_SHORT
(algo como WD-WMATV6212345
e ID_WWN
( 0x50014ee051234567
). Não é o primeiro o que você está procurando?
smartctl -i
também mostra ambos, hdparm -i
apenas o serial.
O programa lshw mostra, pelo menos com saída html
sudo lshw -html > /some/place/hw.html
A seção relevante no meu hardware para um dos meus discos -
id: disk
description: ATA Disk
product: ST32000542AS
vendor: Seagate
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: CC34
serial: 5XW2PB56
size: 1863GiB (2TB)
capabilities: partitioned partitioned:dos
configuration:
ansiversion = 5
logicalsectorsize = 512
sectorsize = 512
signature = d46cf327