Какой жесткий диск какой?


38

Я хочу знать, какой жесткий диск соответствует какому пути устройства. Сопоставить статистику по жесткому диску (бренд, размер) с путем пути разработчика тривиально, но я хочу больше. Я хочу знать, какой диск у меня внутри. Какой хороший способ получить эту информацию?

Ограничения

  • Я ленюсь. Я не хочу разорвать мой сервер, чтобы удалить все диски, а затем добавить обратно один за другим.
  • Перезагрузки приемлемы.
  • Диски неудобно сжаты в корпусе. Информация на этикетке скрыта.
  • Дело можно открыть. Большинство дисков SATA, поэтому теоретически с возможностью горячей замены. Отключение кабелей - это честная игра.

бонус

Я присуждаю ответ за лучший / самый простой ответ gui или cli и вознаграждаю за лучший ответ другого типа. Я предпочитаю простой ответ, но понимаю, что многие другие оценят хороший метод «укажи и щелкни».

Ответы:


26

hdparm -i /dev/sdX дает вам серийный номер, который является самым простым из известных мне способов отличить жесткие диски той же марки и размера.

Серийный номер обычно напечатан на этикетке на диске, поэтому, хотя вам нужно открыть корпус, чтобы найти его, нет необходимости разбирать компьютер.

Пример:

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

Если вы хотите больше информации, вы получите lshw -c storage -c diskнаиболее читаемый результат. Это почти те же данные, что и в Disk Utility, только в формате командной строки.

Вот аннотированный пример из наиболее сложной установки, к которой у меня есть доступ, с четырьмя дисковыми контроллерами, семью жесткими дисками, DVD-диском и 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 и в скриптах.

И я до сих пор считаю серийный номер самым надежным решением :)

«Физический идентификатор» каждого диска соответствует тому, где он подключен к материнской плате. и начинается с 0. Таким образом, физический идентификатор 2 будет означать, что диск подключен к 3-му порту sata вашего mobo или другого соответствующего устройства.


Интересный. Серийный номер / этикетку приятно иметь, но в моем сценарии диски забиты в держатель, который блокирует наклейку из вида. Лучшее, что я могу сделать, - это проследить кабели. Я не нашел ничего hdparm -iполезного сразу, но мне придется прочитать страницу руководства, чтобы узнать, не могу ли я получить больше информации из этого.
djeikyb

Ха-ха, сериал действительно самый надежный, но он дает полезную карту распознавания устройств linux -> физических подключений ... через интерфейс командной строки. Благодарность!
djikyb

34

Дисковая утилита

Это приложение с графическим интерфейсом, которое предоставит вам информацию о модели, размере, серийном номере и пути устройства ваших дисков. Он установлен по умолчанию на Ubuntu Desktop. Вы можете нажать кнопку Ubuntu Dash и найти «утилиту диска», чтобы найти ее, или запустить ее в терминале с помощью palimpsest.

Дисковая утилита


4
и вам нужно использовать только одну руку и палец, это то, что я называю энергосбережением «утилита для сохранения диска с планетой»
Аллан

4
Я думаю, что это будет ответом, где «Местоположение: Порт X хост-адаптера SATA» является функцией убийцы. Я бы тоже хотел увидеть ответы на некоторые вопросы. У Octavian & faustus есть интересные решения в этом направлении
djeikyb

18

Откройте корпус и прослушайте диски со свернутой копией «The Linux Journal». Затем запустите dd на каждом диске по очереди, чтобы создать шум на диске.

Примечание: это не будет работать на SSD!


2
Стетоскоп FTW
Джереми

1
Люблю этот ответ. Я предпочитаю технический вывод palimpsestи lshw, но это уже треть.
djikyb

SSD не генерируют шум. Кроме того, решение не будет работать, если у вас более одного диска, и есть другие процессы, которые читают с двух дисков одновременно.
Сергей Колодяжный

Кроме того, это не поможет, если вы работаете с удаленным сервером через sshили RDP
Сергей Колодяжный,

2
Каким может быть этот "свистящий" звук?
JJG

10

Вы можете получить эту информацию из / 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.

Вы также можете включить ls -l /dev/disk/by-pathи увидеть его там.


2
+1 за доступ к основной информации из / sys и / dev. Мне все еще нравится сводная информация из принятых решений, но знание того, как получить и прочитать базовую информацию, неоценимо. Это недостающая часть более крупного ответа, который дали @ jg-faustus и @Allan
djeikyb

На самом деле, если вы запустите strace -e trace=open lsblkи strace -e trace=open lsblk, это именно те данные, которые читаются. Этот ответ заслуживает большего количества голосов.
Сергей Колодяжный

8

Я рекомендую hwinfo --disk.

Это перечислит всю соответствующую информацию для ваших жестких дисков. Если вам нужна дополнительная информация о ваших разделах, вы можете использовать hwinfo --partition.

Вы можете комбинировать оба вышеупомянутых --shortварианта с возможностью получить более короткое представление.


Это выглядит наиболее многообещающе, особенно строки SysFS и Device Files, но я не уверен, как перевести их на английский.
djeikyb

5

Hardinfo - это графический интерфейс, который позволит вам собирать информацию о вашей системе, которая может включать, помимо прочего, физически подключенные устройства хранения и файловые системы, как показано на следующих снимках экрана:

введите описание изображения здесь

введите описание изображения здесь

Сайт Hardinfo: http://hardinfo.berlios.de/HomePage



3

Самый быстрый и простой способ

1. Откройте Гном-Терминал

2. Введите sudo blkid

3. Введите пароль

4. Он скажет вам, какой диск, какой в ​​удобном для чтения формате


2

Если вам нужен способ без возможности видеть ярлыки, чего, насколько я знаю, нет ни в одном другом ответе. Я бы размонтировал все диски (если это возможно, вам может понадобиться загрузиться с live cd для этого). Все диски должны теперь вращаться вниз. Затем вы можете постепенно устанавливать каждого из них и слушать или чувствовать, какой из них раскручивается. Таким образом, вам нужна только крышка от корпуса, но вам не нужно видеть ярлыки, что хорошо, если они все запутаны.

Simples


1

Основной вопрос:

Я хочу знать, какой жесткий диск соответствует какому пути устройства.

Подходы командной строки

  1. Основной и более практический подход заключается в проверке /dev/файловой системы. Существует несколько каталогов, в /dev/disk/которых содержатся символические ссылки на файлы устройств, и эти каталоги организованы по UUID, идентификатору, пути в /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 с конкретным диском, вы можете выполнить фильтрацию udisksctl infoс помощью grep:

    $ 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 (хотя его можно использовать и для других). Первоначально он был написан для индикатора использования файловой системы (см. Ссылку для инструкций по установке). Это позволяет удобно отображать информацию для всех подключенных дисков и некоторые другие функции, такие как щелчок по разделу / устройству и открытие соответствующего каталога в файловом менеджере.

введите описание изображения здесь


Здесь много хорошей информации. Но ваш совет dev / sys fs напрашивается на вопрос: «Как мне узнать, на каком физическом диске есть раздел с этим uuid». Что я и спросил в первую очередь.
djeikyb

@djeikyb На самом деле это одна из вещей, которую я решил, работая над индикатором, который я упомянул, и udisksctl, вероятно, самый простой подход - вы можете отфильтровать его с помощью grep для строк устройства + UUID. Я отредактирую это в своем вопросе. Что касается пользовательских решений, то, конечно, они могут быть написаны с помощью Perl или Python или даже сценария оболочки, где вы проходите /dev/disk/by-idи сопоставляете его с символическими ссылками в /dev/disk/by-uuid.
Сергей Колодяжный

@djeikyb Итак, вы в основном хотите знать, какие разъемы используются каким диском, верно? а не зная модель или жесткий диск?
Сергей Колодяжный

@djeikyb Я читал это, и они сосредоточены на серийном номере каждого диска. , То, что я также предоставил udisksctl statusчастично.
Сергей Колодяжный

@djeikyb Интересно. Утилита Default Disks, по- palimpsetвидимому, была переименована в gnome-disks-utility, но у нее больше нет «Location». По крайней мере, не в 16.04, что я бегу
Сергей Колодяжный
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.