问题描述
我想知道哪个硬盘驱动器对应哪个设备路径。将硬盘统计信息(品牌,大小)与开发路径相匹配是微不足道的,但我想要更多。我想知道哪个驱动器在我的情况下。获取此信息的好方法是什么?
Constraints
-
我很懒。我不想拆开我的服务器以删除所有驱动器,然后逐个添加。
-
重启是可以接受的。
-
在这种情况下,驱动器不方便地被揉在一起。标签信息被隐藏。
-
案件可以打开。大多数磁盘都是SATA,因此理论上可以热插拔。拔掉电缆是公平的游戏。
Bonus
我将回答最好/最简单的gui或cli答案,并给予另一种next-best答案的赏金。我更喜欢cli的答案,但了解很多其他人会欣赏一个好的point-and-click方法。
最佳解决方法
hdparm -i /dev/sdX
为您提供序列号,这是我所知道的最简单的方法,可以分辨出相同品牌和尺寸的硬盘。
序列号通常打印在磁盘上的标签上,因此虽然您需要打开机箱才能找到它,但不需要拆卸计算机。
例:
$ sudo hdparm -i /dev/sdb | grep -i serial
Model=SAMSUNG HD253GJ, FwRev=1AJ10001, SerialNo=S24JJ90Z505435
如果您想了解更多信息,lshw -c storage -c disk
可提供最易读的输出。它与磁盘工具几乎完全相同,只是命令行格式。
以下是我可以访问的最复杂设置的带注释示例,包括四个磁盘控制器,七个硬盘,一个DVD ROM和一个USB磁盘。
输出已缩小到适合有趣的部分:
[server ~]$ sudo lshw -c storage -c disk
*-storage
# a 2-port PCI-E SATA controller
description: SATA controller
product: 88SE9123 PCIe SATA 6.0 Gb/s controller
vendor: Marvell Technology Group Ltd.
*-disk
description: ATA Disk
product: WDC WD15EADS-00P
vendor: Western Digital
# 'physical id' corresponds to port number, first port is 0
physical id: 0
logical name: /dev/sdg
serial: WD-WMAVU0849124
size: 1397GiB (1500GB)
*-cdrom
description: DVD reader
product: BD-ROM BR-5100S
vendor: Optiarc
physical id: 1
logical name: /dev/cdrom1
logical name: /dev/dvd1
logical name: /dev/scd0
serial: [Optiarc BD-ROM BR-5100S 1.02 May20 ,2008
*-storage
# mobo controller for eSATA ports. Not used.
description: SATA controller
product: JMB362/JMB363 Serial ATA Controller
vendor: JMicron Technology Corp.
*-ide
# mobo controller for IDE. Not used.
description: IDE interface
product: JMB362/JMB363 Serial ATA Controller
vendor: JMicron Technology Corp.
*-storage
# the primary SATA controller, six ports
description: SATA controller
product: 82801JI (ICH10 Family) SATA AHCI Controller
vendor: Intel Corporation
# 'disk:0' means port 0, same as physical id
*-disk:0
description: ATA Disk
product: WDC WD1600BEVS-0
vendor: Western Digital
physical id: 0
logical name: /dev/sda
serial: WD-WXEY08T58317
size: 149GiB (160GB)
*-disk:1
description: ATA Disk
product: ST32000542AS
vendor: Seagate
physical id: 1
logical name: /dev/sdb
serial: 5XW1RTDS
size: 1863GiB (2TB)
*-disk:2
description: ATA Disk
product: ST32000542AS
vendor: Seagate
physical id: 2
logical name: /dev/sdc
serial: 5XW23W0W
size: 1863GiB (2TB)
[...]
*-scsi
# the USB disk, as evidenced by the bus info
physical id: 1
bus info: usb@1:1
capabilities: emulated scsi-host
*-disk
description: SCSI Disk
product: 10EAVS External
vendor: WD
physical id: 0.0.0
logical name: /dev/sdh
serial: WD-WCAU46029507
size: 931GiB (1TB)
我认为磁盘工具更快阅读;命令行版本具有可在ssh和脚本中使用的优点。
我仍然认为序列号是最可靠的解决方案:)
每个驱动器的”Physical ID”对应于它连接到主板的位置。从0开始。所以物理ID为2意味着驱动器连接到主板或其他适用设备的第3个SATA端口。
次佳解决方法
磁盘工具
这是一个GUI应用程序,可以为您提供有关驱动器的型号,大小,序列号和设备路径的信息。它默认安装在Ubuntu Desktop上。您可以按Ubuntu Dash按钮并搜索”disk utility”以查找它,或使用palimpsest
在终端中运行它。
第三种解决方法
打开机箱并使用卷起的“The Linux Journal”副本收听驱动器。然后依次在每个驱动器上运行dd以产生一些磁盘噪音。
注意:这不适用于SSD!
第四种方法
您可以从/sys(或/dev)获取该信息:
anthony@Zia:~$ ls -l /sys/block/ | grep sd.
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sda -> ../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdb -> ../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdc -> ../devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdd -> ../devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdd
因此,您可以看到我的四个磁盘位于端口(主机/目标)2到5上。
您也可以在/dev/disk/by-path
上执行ls -l并在那里查看。
第五种方法
我推荐hwinfo --disk
。
这将列出硬盘的所有相关信息。如果您需要有关分区的更多信息,可以使用hwinfo --partition
。
您可以将上述两者与--short
选项结合使用,以获得更短的表示。
第六种方法
Hardinfo是一个GUI,允许您收集系统信息,其中可能包括但不限于物理连接的存储设备和文件系统,如下面的屏幕截图所示:
Hardinfo网站:http://hardinfo.berlios.de/HomePage
第七种方法
-
cat /proc/partitions
显示内核检测到的分区/磁盘,您可以通过大小来计算出来
-
smartctl -i /dev/sda
第八种方法
最快捷,最轻松的方式
1.打开Gnome-Terminal
2.输入sudo blkid
3.输入密码
它会以易于阅读的格式告诉您哪个驱动器
第九种方法
如果你想要一种无法看到标签的方式,据我所知,其他任何响应都没有。我将卸载所有驱动器(如果可能,您可能必须从live cd启动才能执行此操作)。所有的驱动器现在应该减速。然后,您可以逐步安装每个人并倾听或感觉哪一个旋转。这样你只需要关闭你的盒盖,但你不需要看到标签,如果它们都纠缠在一起很好。
Simples