Đó là ổ đĩa cứng nào?


38

Tôi muốn biết ổ đĩa cứng nào tương ứng với đường dẫn thiết bị nào. Thật là tầm thường khi khớp các số liệu thống kê đĩa cứng (nhãn hiệu, kích thước) với đường dẫn dev, nhưng tôi muốn nhiều hơn nữa. Tôi muốn biết ổ đĩa nào trong trường hợp của tôi. Cách tốt để có được thông tin này là gì?

Những ràng buộc

  • Tôi lười biếng. Tôi không muốn xé nát máy chủ của mình để xóa tất cả các ổ đĩa, sau đó thêm lại từng cái một.
  • Khởi động lại được chấp nhận.
  • Các ổ đĩa được bất tiện cọ sát với nhau trong trường hợp. Các thông tin nhãn được ẩn.
  • Các trường hợp có thể được mở. Hầu hết các đĩa đều là SATA, vì vậy về mặt lý thuyết có thể hoán đổi. Rút cáp là trò chơi công bằng.

Tiền thưởng

Tôi sẽ trao câu trả lời cho câu trả lời gui hoặc cli tốt nhất / dễ nhất và đưa tiền thưởng cho câu trả lời tốt nhất tiếp theo của loại khác. Tôi thích một câu trả lời cli, nhưng hiểu rằng nhiều người khác sẽ đánh giá cao một phương pháp điểm và nhấp tốt.

Câu trả lời:


26

hdparm -i /dev/sdX cung cấp cho bạn số sê-ri, đây là cách đơn giản nhất mà tôi biết để phân biệt các đĩa cứng có cùng nhãn hiệu và kích cỡ.

Số sê-ri thường được in trên nhãn trên đĩa, vì vậy mặc dù bạn cần mở vỏ để tìm nó, nhưng không cần phải tháo rời máy tính.

Thí dụ:

$ sudo hdparm -i /dev/sdb | grep -i serial
 Model=SAMSUNG HD253GJ, FwRev=1AJ10001, SerialNo=S24JJ90Z505435

Nếu bạn muốn biết thêm thông tin lshw -c storage -c diskcho đầu ra dễ đọc nhất. Đó là khá nhiều dữ liệu giống như Disk Utility, chỉ ở định dạng dòng lệnh.

Dưới đây là một ví dụ được chú thích từ thiết lập phức tạp nhất mà tôi có quyền truy cập, với bốn bộ điều khiển đĩa, bảy đĩa cứng, DVD ROM và đĩa USB.

Đầu ra đã được cắt giảm kích thước để tập trung vào các phần thú vị:

[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)

Tôi nghĩ rằng Disk Utility nhanh hơn để đọc; phiên bản dòng lệnh có lợi thế là có thể sử dụng được trên ssh và trong các tập lệnh.

Và tôi vẫn nghĩ số sê-ri là giải pháp đáng tin cậy nhất :)

"ID vật lý" của mỗi ổ đĩa tương ứng với nơi nó được kết nối với bo mạch chủ. và bắt đầu bằng 0. vì vậy ID vật lý là 2 có nghĩa là ổ đĩa được gắn vào cổng sata thứ 3 của mobo của bạn hoặc thiết bị áp dụng khác.


Hấp dẫn. Sê-ri / nhãn là tốt để có, nhưng trong kịch bản của tôi, các đĩa được nhồi nhét trong một ngăn chứa chặn nhãn dán khỏi tầm nhìn. Điều tốt nhất tôi có thể làm là theo dõi các dây cáp. Tôi không thấy bất cứ điều gì hdparm -ihữu ích ngay lập tức, nhưng tôi sẽ phải đọc qua trang người đàn ông để xem liệu tôi không thể biết thêm thông tin về nó.
djeikyb

Haha, serial thực sự đáng tin cậy nhất, nhưng điều này mang lại bản đồ hữu ích về nhận dạng thiết bị linux -> hookups vật lý ... thông qua giao diện dòng lệnh. Cảm ơn!
djeikyb

34

Tiện ích đĩa

Đây là một ứng dụng GUI sẽ cung cấp cho bạn thông tin về kiểu máy, kích thước, số sê-ri và đường dẫn thiết bị của các ổ đĩa của bạn. Nó được cài đặt theo mặc định trên Ubuntu Desktop. Bạn có thể nhấn nút Ubuntu Dash và tìm kiếm "tiện ích đĩa" để tìm nó hoặc chạy nó trong thiết bị đầu cuối với palimpsest.

Tiện ích đĩa


4
và bạn chỉ cần sử dụng một tay và ngón tay là cái mà tôi gọi là bảo tồn năng lượng "cứu hành tinh sử dụng tiện ích đĩa"
Allan

4
Tôi nghĩ rằng đây sẽ là câu trả lời, với "Vị trí: Cổng X của Bộ điều hợp máy chủ SATA" là tính năng sát thủ. Tôi cũng muốn thấy một số câu trả lời cli quá. Octavian & faustus có những giải pháp thú vị dọc theo những dòng đó
djeikyb

18

Mở vỏ máy và lắng nghe các ổ đĩa với bản sao "Tạp chí Linux". Sau đó lần lượt chạy một dd trên mỗi ổ đĩa để tạo ra một số tiếng ồn đĩa.

Lưu ý: điều này sẽ không hoạt động trên SSD!


2
Ống nghe ftw
Jeremy

1
Yêu câu trả lời này. Tôi thích đầu ra kỹ thuật của palimpsestlshw, nhưng đây là một thứ ba gần.
djeikyb

SSD không tạo ra tiếng ồn. Ngoài ra, giải pháp sẽ không hoạt động nếu bạn có nhiều ổ đĩa và có các quá trình khác đọc cùng lúc từ hai ổ đĩa.
Sergiy Kolodyazhnyy

Ngoài ra, điều này sẽ không hữu ích nếu bạn làm việc với một máy chủ từ xa thông qua sshhoặc RDP
Sergiy Kolodyazhnyy

2
Âm thanh "whooshing" đó có thể là gì?
jjg

10

Bạn có thể lấy thông tin đó từ / sys (hoặc / dev, cho vấn đề đó):

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

Vì vậy, bạn có thể thấy bốn đĩa của tôi nằm trên các cổng (máy chủ / mục tiêu) từ 2 đến 5.

Bạn cũng có thể thực hiện ls -l /dev/disk/by-pathvà xem nó ở đó.


2
+1 để truy cập thông tin cơ bản từ / sys và / dev. Tôi vẫn thích thông tin tổng hợp từ các giải pháp được chấp nhận tốt hơn, nhưng biết cách lấy và đọc thông tin cơ sở là vô giá. Đây là một phần còn thiếu của câu trả lời lớn hơn mà @ jg-faustus và @ ALLan đã đưa ra
djeikyb

Thực tế, nếu bạn chạy strace -e trace=open lsblkstrace -e trace=open lsblk, đó chính xác là dữ liệu đang được đọc. Câu trả lời này xứng đáng được nâng cao hơn.
Sergiy Kolodyazhnyy

8

Tôi đề nghị hwinfo --disk.

Điều này sẽ liệt kê tất cả các thông tin có liên quan cho đĩa cứng của bạn. Nếu bạn cần thêm thông tin về các phân vùng của bạn, bạn có thể sử dụng hwinfo --partition.

Bạn có thể kết hợp cả hai điều trên với --shorttùy chọn để có được một đại diện ngắn hơn.


Điều này có vẻ hứa hẹn nhất, đặc biệt là các dòng SysFS và Device Files, nhưng tôi không chắc làm thế nào để dịch chúng sang tiếng Anh.
djeikyb

5

Hardinfo là một GUI sẽ cho phép bạn thu thập Thông tin hệ thống của mình, có thể bao gồm nhưng không giới hạn ở các Thiết bị lưu trữ được kết nối vật lý và Hệ thống tệp, như được hiển thị trong các ảnh chụp màn hình tiếp theo:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Trang web Hardinfo: http://hardinfo.berlios.de/HomePage


4
  • cat /proc/partitions hiển thị các phân vùng / đĩa được phát hiện bởi kernel, bạn có thể tìm ra kích thước

nhập mô tả hình ảnh ở đây

  • smartctl -i /dev/sda

nhập mô tả hình ảnh ở đây


3

Cách nhanh nhất và dễ nhất

1. Mở Gnome-Terminal

2. Nhập sudo blkid

3. Nhập mật khẩu

4. Nó sẽ cho bạn biết ổ đĩa nào ở định dạng dễ đọc


2

Nếu bạn muốn một cách mà không thể nhìn thấy các nhãn, mà theo như tôi biết thì không có câu trả lời nào khác làm được. Tôi sẽ ngắt kết nối tất cả các ổ đĩa (Nếu có thể, bạn có thể phải khởi động từ một đĩa CD trực tiếp để làm điều này). Tất cả các ổ đĩa nên quay xuống. Sau đó, bạn có thể dần dần gắn kết từng cái và lắng nghe hoặc cảm nhận cái nào sẽ quay lên. Bằng cách này, bạn chỉ cần nắp ra khỏi vỏ của mình nhưng bạn không cần phải xem nhãn tha là tốt nếu tất cả đều bị rối.

Simples


1

Câu hỏi cốt lõi:

Tôi muốn biết ổ đĩa cứng nào tương ứng với đường dẫn thiết bị nào.

Phương pháp tiếp cận dòng lệnh

  1. Cách tiếp cận thực hành cơ bản và nhiều hơn là thông qua kiểm tra /dev/hệ thống tập tin. Có một số thư mục /dev/disk/chứa liên kết tượng trưng đến tệp thiết bị và các thư mục đó được tổ chức trên UUID, id, đường dẫn trong /syshệ thống tệp và nhãn (nếu thiết bị / phân vùng có một). Ví dụ, biết UUID của ổ đĩa tôi muốn tìm, tôi có thể làm một cái gì đó như thế này:

    $ 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 mặc định đi kèm với trình UDisksquản lý đĩa. Nó có một vài tiện ích người ta có thể sử dụng. Thông tin từ phương thức # 1 đã được phân tích cú pháp để thuận tiện cho người dùng. Chẳng hạn, để đơn giản tìm thiết bị nào tương ứng với model ổ cứng nào, chúng ta có thể làm điều này:

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

    Thông tin nâng cao có thể được lấy qua udisksctl info -b /dev/sda1cho thiết bị cụ thể hoặc udisksctl dumpcho tất cả các thiết bị. udisksctl monitorcó thể được sử dụng với kết nối / ngắt kết nối các ổ đĩa vật lý.

Cụ thể, nếu bạn muốn khớp UUID với một ổ đĩa cụ thể, bạn có thể lọc udisksctl infovới grep:

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

Phương pháp GUI:

Sử dụng thông tin UDisksđưa ra trên bus truyền thông liên tiến trình được biết đến như là dbus, tôi đã viết một chỉ báo cho Ubuntu với máy tính để bàn Unity (mặc dù nó cũng có thể được sử dụng cho những người khác). Ban đầu nó được viết cho Chỉ báo sử dụng hệ thống tệp (xem liên kết để biết hướng dẫn cài đặt). Nó cho phép hiển thị thông tin cho tất cả các ổ đĩa được gắn một cách thuận tiện và một vài tính năng khác, chẳng hạn như nhấp vào phân vùng / thiết bị và mở thư mục tương ứng trong trình quản lý tệp.

nhập mô tả hình ảnh ở đây


Có rất nhiều thông tin tốt ở đây. Nhưng lời khuyên của dev / sys fs của bạn đặt ra câu hỏi: "làm thế nào để tôi biết đĩa vật lý nào có phân vùng với uuid này". Đó là những gì tôi yêu cầu ở nơi đầu tiên.
djeikyb

@djeikyb Đó thực sự là một trong những điều mà tôi đã giải quyết khi làm việc với chỉ báo tôi đã đề cập và udisksctlcó lẽ là cách tiếp cận đơn giản nhất - bạn có thể lọc nó bằng grep cho các dòng thiết bị + UUID. Tôi sẽ chỉnh sửa nó thành câu hỏi của tôi. Đối với các giải pháp tùy chỉnh, tất nhiên nó có thể được viết kịch bản với perl hoặc python hoặc thậm chí shell script, nơi bạn duyệt qua /dev/disk/by-idvà khớp nó với các liên kết tượng trưng /dev/disk/by-uuid.
Sergiy Kolodyazhnyy

@djeikyb Vì vậy, về cơ bản, bạn muốn biết kết nối nào được sử dụng bởi ổ đĩa nào, phải không? và không biết mô hình hoặc ổ cứng?
Sergiy Kolodyazhnyy

@djeikyb Tôi đã đọc nó và họ tập trung vào số sê-ri của mỗi đĩa. . .những gì tôi cũng cung cấp udisksctl statusmột phần.
Sergiy Kolodyazhnyy

@djeikyb Thú vị. Tiện ích đĩa mặc định palimpset, rõ ràng đã được đổi tên thành gnome-disks-utility, nhưng nó không còn "Vị trí" nữa. Ít nhất là không phải trong 16.04 mà tôi đang chạy
Sergiy Kolodyazhnyy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.