我有多个硬盘连接到我的服务器,但我不确定 sdXY 认为哪一个硬盘是什么。如果我可以从终端看到硬盘的序列号,我就可以轻松识别它们。
有什么方法可以从终端获取序列号吗?
答案1
另一种不需要root权限的解决方案:
udevadm info --query=all --name=/dev/sda | grep ID_SERIAL
lsblk
这实际上是don_crissti 提到的库,但我的版本lsblk
不包括打印序列号的选项。
请参阅的手册页udevadm
了解更多。
答案2
在终端类型中:
# hdparm -I /dev/sd? | grep 'Serial\ Number'
编辑:您还可以使用lshw
或smartctl
长沙
# lshw -class disk
智能控制
# smartctl -i /dev/sda
如果您缺少这些工具,只需安装以下软件包
# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw
答案3
设备1名称及对应的序列号:
lsblk --nodeps -o name,serial
输出:
NAME SERIAL
sda 0000000012400917BA30
sdb 0000000012400917BA96
-n
如果不想打印标题行,请添加:
lsblk -dno name,serial
输出:
sda 0000000012400917BA30
sdb 0000000012400917BA96
经过device
作为参数仅获取特定设备的序列号:
lsblk -dno serial /dev/sda
输出:
0000000012400917BA30
记住lsblk
列出所有可用(或指定)的信息块设备。现在,对于那些不知道最后一个术语含义的人:
一般来说,块设备是存储或保存数据的设备。软盘驱动器、硬盘驱动器和CD-ROM驱动器都是块设备。但这在使用时不是问题lsblk
,因为您可以简单地添加更多列,例如type
(设备类型)和/或tran
(设备传输类型)等:
lsblk -dno 名称、序列号、类型、tran
sda 0000000012400917BA30 disk sata
sdb 0000000012400917BA96 disk sata
sr0 4B583242334C453233353320 rom usb
答案4
$ ls -al /dev/disk/by-id/*sda*
这将根据熟悉的磁盘名称显示序列号。