哪个硬盘是哪个?

我想知道哪个硬盘驱动器对应哪个设备路径。 将硬盘统计信息(品牌,大小)与开发路径相匹配是微不足道的,但我想要更多。 我想知道哪个驱动器在我的情况下。 获取此信息的好方法是什么?

约束

  • 我很懒。 我不想拆开我的服务器以删除所有驱动器,然后逐个添加。
  • 重启是可以接受的。
  • 在这种情况下,驱动器不方便地被挤在一起。 标签信息被隐藏。
  • 案件可以打开。 大多数磁盘都是SATA,因此理论上可以热插拔。 拔掉电缆是公平的游戏。

奖金

我会给出最好/最简单的gui或cli答案的答案,并给予另一种下一个最佳答案的赏金。 更喜欢cli的答案,但要明白很多其他人都会喜欢一个好的点击式方法。

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和脚本中使用的优点。

我仍然认为序列号是最可靠的解决方案:)

每个驱动器的“物理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

核心问题:

我想知道哪个硬盘驱动器对应哪个设备路径。

命令行方法

  1. 基本和更实际的方法是通过检查/dev/ filesystem。 /dev/disk/有几个目录包含设备文件的符号链接,这些目录是在UUID,id, /sys文件系统中的路径和标签(如果设备/分区有一个)上组织的。 例如,知道我希望找到的驱动器的UUID,我可以这样做:

     $ find /dev/disk/by-uuid/ -mindepth 1 -printf "%p >>> %l\n" /dev/disk/by-uuid/8e344ab1-5eb5-4e20-becd-4147fffd439f >>> ../../sdb6 /dev/disk/by-uuid/483CDA9D3CDA84FA >>> ../../sdb5 /dev/disk/by-uuid/32AE5766AE5721A1 >>> ../../sdb4 /dev/disk/by-uuid/7852-5217 >>> ../../sdb2 /dev/disk/by-uuid/D668510B6850EC2D >>> ../../sdb1 /dev/disk/by-uuid/B8E453D4E453940A >>> ../../sdb3 /dev/disk/by-uuid/86df21bf-d95f-435c-9292-273bdbcba056 >>> ../../sda1 
  2. Ubuntu默认使用UDisks磁盘管理器。 它有几个可以使用的实用程序。 方法#1中的信息已经过解析,以方便用户使用。 例如,要简单地找到哪个设备对应于哪个硬盘驱动器型号,我们可以这样做:

     $ udisksctl status MODEL REVISION SERIAL DEVICE -------------------------------------------------------------------------- Radeon R7 1.01 A22MD061520000172 sda TOSHIBA MQ01ABF050 AM0P3M Z4GRCSXAT sdb 

    可以通过udisksctl info -b /dev/sda1获取所有设备的特定设备或udisksctl dump高级信息。 udisksctl monitor可用于物理连接/断开驱动器。

特别是,如果要将UUID与特定驱动器匹配,可以使用grep过滤udisksctl info

  $ udisksctl info -b /dev/sda1 | grep 'IdUUID:\|Id:' Id: by-id-ata-Radeon_R7_A22MD061520000172-part1 IdUUID: 86df21bf-d95f-435c-9292-273bdbcba056 

GUI方法:

使用UDisks发布到称为dbus的进程间通信总线上的信息,我已经为Ubuntu和Unity桌面编写了一个指示器(尽管它也可以在其他人上使用)。 最初它是为文件系统使用指示器编写的(请参阅安装说明的链接)。 它允许方便地显示所有已安装驱动器的信息以及一些其他function,例如单击分区/设备并在文件管理器中打开相应的目录。

在此处输入图像描述