どのハードディスクドライブがどれですか?


38

どのハードディスクドライブがどのデバイスパスに対応するかを知りたい。ハードディスクの統計情報(ブランド、サイズ)と開発パスを一致させることは簡単ですが、もっと欲しいです。どのドライブが私のケースの中にあるかを知りたい。この情報を取得するための良い方法は何ですか?

制約

  • 私は怠け者。サーバーを切り離してすべてのドライブを削除し、1つずつ追加し直したくありません。
  • 再起動は許容されます。
  • ケースでは、ドライブは不便に一緒にくしゃくしゃにされます。ラベル情報は非表示です。
  • ケースを開けることができます。ほとんどのディスクはSATAなので、理論的にはホットスワップ可能です。ケーブルを抜くのは公正なゲームです。

ボーナス

最良または最も簡単なguiまたはcliの回答に回答を与え、他の種類の次のベストの回答に報奨金を与えます。は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が必要な場合は、最も読みやすい出力が得られます。これは、コマンドライン形式のディスクユーティリティとほぼ同じデータです。

ここに、4つのディスクコントローラー、7つのハードディスク、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)

Disk Utilityの方が読みやすいと思います。コマンドラインバージョンには、sshやスクリプトで使用できるという利点があります。

そして、私はまだシリアル番号が最も信頼できる解決策だと思います:)

各ドライブの「物理ID」は、マザーボードへの接続場所に対応しています。0で始まるため、物理IDが2の場合、ドライブはmoboまたは他の該当するデバイスの3番目のsataポートに接続されます。


面白い。シリアル/ラベルがあればいいのですが、私のシナリオでは、ステッカーが見えないようにホルダーにディスクが詰め込まれています。私ができる最善のことはケーブルをトレースすることです。hdparm -iすぐに役立つものは何もありませんでしたが、詳細情報が得られないかどうかを確認するには、manページを読む必要があります。
djeikyb

ハハ、確かにシリアルは最も信頼性が高いですが、これはLinuxデバイス認識の便利なマップを提供します->物理的な接続...コマンドラインインターフェイスを介して。ありがとう!
djeikyb

34

ディスクユーティリティ

これは、ドライブのモデル、サイズ、シリアル番号、デバイスパスに関する情報を提供するGUIアプリケーションです。Ubuntu Desktopにはデフォルトでインストールされます。Ubuntu Dashボタンを押して「ディスクユーティリティ」を検索して見つけるか、でターミナルで実行できますpalimpsest

ディスクユーティリティ


4
そしてあなただけの私が「惑星の使用ディスクユーティリティの保存」省エネ呼ん片手の指のthatsを使用する必要がある
アラン

4
これが答えだと思います。「Location:SATA Host AdapterのポートX」がキラー機能です。私もいくつかのCLIの答えを見てみたいです。Octavianとfaustusは、これらのラインに沿って興味深いソリューションを持っています
-djeikyb

18

ケースを開き、「The Linux Journal」のロールアップされたコピーでドライブを聞いてください。次に、各ドライブでddを順番に実行して、ディスクノイズを生成します。

注:これはSSDでは機能しません!


2
聴診器ftw
ジェレミー

1
この答えが大好きです。私は技術的な出力を好むpalimpsestlshw、これは近い第三です。
-djeikyb

SSDはノイズを生成しません。また、複数のドライブがあり、2つのドライブから同時に読み取る他のプロセスがある場合、ソリューションは機能しません。
セルギーKolodyazhnyy

また、この意志はないヘルプは、あなたが経由でリモートサーバーで作業している場合sshか、RDP
Sergiy Kolodyazhnyy

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

したがって、4つのディスクがポート(ホスト/ターゲット)2から5にあることがわかります。

ls -lを実行して、/dev/disk/by-pathそこで表示することもできます。


2
/ sysおよび/ devから基本情報にアクセスするための+1。受け入れられたソリューションからの集計情報がまだ好きですが、基本情報を取得して読み取る方法を知ることは非常に貴重です。これは、@ JG-ファウストと@Allanが与えた大きな答えの欠けている部分である
djeikyb

実際、strace -e trace=open lsblkand を実行するとstrace -e trace=open lsblk、それがまさに読み取られているデータです。この答えは、より多くの賛成に値します。
セルギーコロディアズニー

8

をお勧めしhwinfo --diskます。

これにより、ハードディスクに関連するすべての情報がリストされます。パーティションに関する詳細情報が必要な場合は、を使用できますhwinfo --partition

上記の両方を--shortオプションと組み合わせて、より短い表現を取得できます。


これは、特にSysFSとDevice Filesの行で最も有望に見えますが、それらを英語に翻訳する方法がわかりません。
-djeikyb

5

Hardinfoは、次のスクリーンショットに示すように、物理的に接続されたストレージデバイスとファイルシステムなどのシステム情報を収集できるGUIです。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

Hardinfo Webサイト:http ://hardinfo.berlios.de/HomePage


4
  • cat /proc/partitions カーネルによって検出されたパーティション/ディスクを表示し、サイズで把握できます

ここに画像の説明を入力してください

  • smartctl -i /dev/sda

ここに画像の説明を入力してください


3

最速かつ最も簡単な方法

1. Gnome-Terminalを開きます

2.入力 sudo blkid

3.パスワードを入力してください

4.読みやすい形式で、どのドライブがどれであるかがわかります


2

ラベルを見ることができない方法が必要な場合、私が知る限り、他の応答はありません。すべてのドライブをアンマウントします(可能であれば、ライブCDから起動する必要があります)。これで、すべてのドライブがスピンダウンします。その後、それぞれを徐々にマウントして、どれがスピンするかを聞いたり、感じたりできます。こうすれば、ケースの蓋だけが必要ですが、ラベルが絡まっている場合はラベルを見る必要はありません。

シンプル


1

中心的な質問:

どのハードディスクドライブがどのデバイスパスに対応するかを知りたい。

コマンドラインアプローチ

  1. 基本的でより実践的なアプローチは、/dev/ファイルシステムを調べることです。/dev/disk/デバイスファイルへのシンボリックリンクを含むいくつかのディレクトリがあり 、それらのディレクトリはUUID、id、/sysファイルシステムのパス、およびラベル(device / partitionがある場合)で編成されています。たとえば、見つけたいドライブの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として知られているプロセス間通信バスに出力される情報を使用して、dbusUnityデスクトップを使用したUbuntuのインジケーターを作成しました(他のユーザーにも使用できます)。もともとは、ファイルシステム使用状況インジケータ用に作成されました(インストール手順についてはリンクを参照してください)。マウントされたすべてのドライブの情報を簡単に表示したり、パーティション/デバイスをクリックしたり、ファイルマネージャーで対応するディレクトリを開いたりするなど、いくつかの他の機能を表示できます。

ここに画像の説明を入力してください


ここにはたくさんの良い情報があります。しかし、dev / sysのfsアドバイスは、「どのuUのパーティションにどの物理ディスクがあるのか​​を知るにはどうすればよいか」という疑問を投げかけます。そもそも私が尋ねたものです。
djeikyb

@djeikybそれは実際、私が言及したインディケータで作業中に解決していたことの1つであり、udisksctlおそらく最も簡単なアプローチです。デバイス+ UUID行のgrepでフィルタリングできます。私の質問にそれを編集します。カスタムソリューションについては、もちろんのこと、それはPerlやPythonやあなたが行き来しても、シェルスクリプト、スクリプトをすることができます/dev/disk/by-idし、中にシンボリックリンクでそれを一致させます/dev/disk/by-uuid
セルギーコロディアズニー

@djeikybだから、基本的には、どのコネクタがどのドライブで使用されているのか知りたいですか?そして、モデルやハードドライブを知らずに?
セルギーKolodyazhnyy

@djeikyb私はそれを読みましたが、彼らは各ディスクのシリアル番号に焦点を当てています。。これは、私もudisksctl status一部提供したものです。
セルギーKolodyazhnyy

@djeikyb興味深い。Default Disks Utilityの palimpset名前は明らかにに変更されましたgnome-disks-utilityが、「場所」はもうありません。少なくともない16.04で私が実行していること
Sergiy Kolodyazhnyy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.