我正在尝试获取 Centos 中硬盘的序列号,但对于某些硬盘,与驱动器标签上打印的序列号相比,我得到的序列号是错误的。
我正在使用lsblk
命令...我也尝试过smartctl
,sginfo
结果hdparm
相同。
例如,在驱动器标签上,打印的序列号是PBV69P2E
,lsblk
而smartctl
正在返回PBV69P2ECCXSA610
所以我想知道,如何才能获得实际的序列号?
此外,Linux 是否像供应商一样将驱动器的序列号存储在文件中/sys/block/sdX/device/vendor
谢谢
答案1
我自己找到了一个适用于 RHEL7 和其他发行版的解决方案。linux-utils 中有一个错误,导致报告 WWN 而不是序列号。使用 udevadm 可以解决这个问题。
我用过以下
udevadm info -q property --path=/sys/block/sdX | grep ID_SCSI_SERIAL
udevadm info --path=/sys/block/sdX
例如意外的结果
$ lsblk -d -o name,serial /dev/sdh
NAME SERIAL
sdh 50000c0f01e63ff0
预期成绩
$ udevadm info -q property --path=/sys/block/sdh | grep ID_SCSI_SERIAL
ID_SCSI_SERIAL=WMC1F1896569