J'ai plusieurs disques durs qui se connectent à mon serveur et je ne sais pas lequel est quoi de l'avis de sdXY. Si je peux voir les numéros de série de mes disques durs depuis le terminal, je peux facilement les identifier.
Existe-t-il un moyen de les voir depuis le terminal?
Une autre solution qui ne nécessite pas de privilèges root:
udevadm info --query=all --name=/dev/sda | grep ID_SERIAL
Il s'agit en fait de la bibliothèque que lsblk
, mentionnée par don_crissti, exploite, mais ma version de lsblk n'inclut pas l'option pour serial.
Dans le type de terminal:
# hdparm -I /dev/sd? | grep 'Serial\ Number'
EDIT: Vous pouvez également utiliser lshw
ou smartctl
lshw
# lshw -class disk
smartctl
# smartctl -i /dev/sda
Si ces outils vous manquent, installez simplement les packages suivants
# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw
Dispositif1 nom et numéro de série correspondant:
lsblk --nodeps -o name,serial
production:
NAME SERIAL
sda 0000000012400917BA30
sdb 0000000012400917BA96
ajouter -n
si vous ne souhaitez pas imprimer la ligne d'en-tête:
lsblk --nodeps -no name,serial
production:
sda 0000000012400917BA30
sdb 0000000012400917BA96
Passez device
comme argument pour obtenir uniquement le numéro de série d'un périphérique spécifique:
lsblk --nodeps -no serial /dev/sda
production:
0000000012400917BA30
Gardez à l'esprit lsblk
répertorie les informations sur tous les périphériques disponibles (ou spécifiés) bloc. Maintenant, pour ceux qui ne savent pas ce que signifie ce dernier terme:
En général, les périphériques de bloc sont des périphériques qui stockent ou conservent des données. Les lecteurs de disquette, les disques durs et les lecteurs de CD-ROM sont tous des périphériques blocs. Mais ce n'est pas un problème lorsque vous utilisez lsblk
car vous pouvez simplement ajouter plus de colonnes, par exemple type
(type de périphérique) et/ou tran
(type de transport de périphérique), etc.:
lsblk --nodeps -no nom, série, type, tran
sda 0000000012400917BA30 disk sata
sdb 0000000012400917BA96 disk sata
sr0 4B583242334C453233353320 rom usb
En utilisant hdparm
, vous pouvez voir votre numéro de série de disque dur depuis le terminal.
Ouvrez votre terminal et tapez comme
hdparm -I /dev/sd?|grep -E "Number|/dev"
$ ls -al /dev/disk/by-id/*sda*
Cela vous montrera le numéro de série par rapport au nom de disque familier.
Le moyen le plus simple que je connaisse (ne nécessite pas de root):
inxi -Dplxx
Cela génère tous les disques, leurs publications en série et toutes les informations supplémentaires. -p ajoute des partitions. -l ajoute des étiquettes. -u ajoute l'UUID pour les partitions.
De plus, c'est beaucoup plus facile à retenir, hé.
Échantillon:
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
Notez que cela filtre les lecteurs optiques. Pour voir les données optiques:
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
Notez que sur mon système Debian, lsblk n'affiche rien pour les publications en série, que ce soit en tant que root ou utilisateur. C'est pourquoi inxi utilise une méthode beaucoup plus fiable pour obtenir ces données.
lsblk --nodeps -o name,serial
NAME SERIAL
fd0
sda
sdb
sdc
sdd
sr0
sr1
lsblk --version
lsblk from util-linux 2.25.2
Comme vous pouvez le voir, pour lsblk, il pense qu'un lecteur optique et un lecteur de disquette sont également des disques, ce qui dans un sens ils le sont, mais pas vraiment, car ils ne deviennent des disques qu'une fois le disque inséré. Et il ne montre rien pour la série, il ne montre d'ailleurs rien pour les autres valeurs, comme label. Certainement un bogue puisque ces données sont disponibles pour le système, c'est là que inxi les obtient, directement.
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | awk '{print $9'}
Cela montrera le wwn-id
pour le disque. Le filtre awk
peut devoir être ajusté en fonction de la distribution et de la version du système d'exploitation. J'avais besoin d'une solution scriptée pour lire le wwn-id
, qui est nécessaire pour l'escrime de disque Pacemaker. Si les partitions (/dev/sdX1
par exemple) ont déjà été créés un autre grep
est nécessaire pour filtrer la sortie:
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | grep -v sdX1 | awk '{print $9'}
J'aime aussi utiliser ls -l /dev/disk/by-id
car il affichera le WWN d'un disque s'il est disponible. Le WWN est généralement imprimé sur l'étiquette du disque, il est donc facile à identifier.
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