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

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

WWN =世界通用名称

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

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

WD 型号 WD4001FFSX,4 TB SATA 驱动器

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

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

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


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

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

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

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

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

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

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

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

答案1

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

答案2

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

1)hdparm

hdparm -I /dev/sda | grep Serial

2)sginfo是一部分sg3-utils包裹:

sginfo -a /dev/sda | grep Serial

3)sdparm命令:

sdparm -i /dev/sda | grep 'vendor specific'

4)lshw

lshw -class disk -class storage | grep serial

答案3

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

smartctl -i也显示两者,hdparm -i仅显示连续剧。

答案4

lshw 程序显示它,至少有 html 输出

sudo lshw -C disk -html > /some/place/hw.html

我的一个磁盘的硬件相关部分 -

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

相关内容