在终端获取硬盘驱动器序列号 - 而不是 WWN

ron*_*ron 10 linux administration hardware hard-disk

WWN =全球通用名称

Seagate Constellation ES,型号 ST3500514NS,500 GB 3.5" SATA 驱动器

它有“序列号”,9WJxxxxx,它是八个字符。它的 WWN 5000C5002E47xxxx 是 16 个字符。两者都印在硬盘驱动器的标签上。

WD 型号 WD4001FFSX,一个 4 TB SATA 驱动器

它有 12 个字符的“序列号”WMC5D0Dxxxxx。它有 16 个字符的 WWN 50014EE003Fxxxxx。

HGST,型号 HUC109060CSS600,300 GB 2.5" SAS 驱动器

它有“序列号”KWJTxxx,也是八个字符。它有 WWN……我不知道;它没有打印在标签上,也没有插入系统进行查找。


对于库存,我们通常会记下并跟踪以下内容,这些内容始终可以从驱动器上的标签中收集:

  • 制造商
  • 型号
  • 序列号
  • 以 GB 或 TB 为单位的大小,以及 SATA 或 SAS 的连接类型
  • 使用中或不使用时存放的位置

当库存表显示任何硬盘驱动器时,问题显然会在 1、2、3 年后出现。您非常确定它在正在运行的服务器中,但您不想关闭服务器以拉动硬盘驱动器来读取标签。

如何获得与标签上的内容相对应的驱动器序列号

udevadm info --query=all --name=/dev/sdaID_SERIAL,但那是 WWN。我们不希望另一个字段将 WWN 的 16 个字符作为标识符进行跟踪……而且我已经讨厌写下 WD 驱动器的长序列号。

Linux中有没有办法提取驱动器的序列号

我相信这是可能的,因为多年前我们一直使用的 RAID 存储管理器 GUI 很好地报告了正在使用的希捷驱动器的八字符序列号。并且该 RAID 硬件列出了一堆“官方支持”的希捷特定硬盘驱动器,如果没记错的话,真的没有其他品牌/型号的驱动器。

这是否可能与硬盘驱动器固件相关,这意味着它可以在某些制造驱动器上完成,而不能在其他驱动器上完成?

fpm*_*phy 16

假设磁盘支持 SMART,您应该能够使用检索磁盘序列号 smartctl -i /dev/sdX

  • @ron`不是挂载的卷或任何类型的存储单元`在逻辑上遵循,因为`/dev/sda`是一个物理设备,但`/dev/sda1`是一个*分区*,`/`是一个挂载点 (2认同)

GAD*_*D3R 10

您可以通过以下方式获取序列号:

1)hdparm

hdparm -I /dev/sda | grep Serial
Run Code Online (Sandbox Code Playgroud)

2)sginfosg3-utils包的一部分:

sginfo -a /dev/sda | grep Serial
Run Code Online (Sandbox Code Playgroud)

3)sdparm命令:

sdparm -i /dev/sda | grep 'vendor specific'
Run Code Online (Sandbox Code Playgroud)

4)lshw

lshw -class disk -class storage | grep serial
Run Code Online (Sandbox Code Playgroud)

  • ([冒号前的空格](http://english.stackexchange.com/questions/4645/is-it-ever-correct-to-have-a-space-before-a-question-or-exclamation-mark#comment206109_4645 )) (2认同)

ilk*_*chu 6

我现在只有 WD 驱动器要检查,但同时udevadm info --query=all显示ID_SERIAL/ ID_SERIAL_SHORT(类似于WD-WMATV6212345ID_WWN( 0x50014ee051234567)。这不是您要查找的第一个吗?

smartctl -i也显示两者,hdparm -i只是串行。