問題描述
我想知道哪個硬盤驅動器對應哪個設備路徑。將硬盤統計信息(品牌,大小)與開發路徑相匹配是微不足道的,但我想要更多。我想知道哪個驅動器在我的情況下。獲取此信息的好方法是什麽?
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