
UUIDはパーティショニングフェーズで(ソフトウェア経由で)割り当てられるため、ディスク全体に使用できるUUIDはありません。
ただし、/dev/disk/by-id/
同じ目的で有望な情報も含まれています。 「UUID」パスを取得できます。/dev/sdb/
通過:
$ disk=sdb; ls /dev/disk/by-id/ -l | grep "/$disk$" | awk '{print "/dev/disk/by-id/"$9}'
/dev/disk/by-id/ata-ST1000LM048-2E7172_WKP6XK95
/dev/disk/by-id/wwn-0x5000c500ccbb7485
ただし、ご覧のとおり、同じドライブに複数の項目があります。で終わるのがWKP6XK95
実際に製品ラベルの「シリアル番号」部分に書かれているので、より意味があります。
ディスクに書き込むことができる固有の値を取得するには?つまり、wwn-...
IDはどのように生成されますが、このアイテムを安全に無視できますか?このアイテムを無視しても安全ですか... | grep -v wwn
?
答え1
これwwn-
はディスクの世界的な名前です。技術的にはUUID形式や生成規則に従わないため、UUIDではありません。
スタンドアロンSATAおよびSASディスクからディスクファームウェアによって報告され、工場で割り当てられます。 SANストレージシステムでは、状況がより複雑になる可能性があります。ストレージは論理ユニット(LUN)として表示されるため、ストレージシステムはここにWWNを割り当てます。
これはMACアドレスと似ていますが、ディスクの場合、SANストレージ仮想化ハードウェアを使用しない限り、2つの異なるストレージで同じWWNを実際に使用しないでください。
lsscsi -UU
naa.
プレフィックスでなくてもWWNも表示する必要がありますwwn-0x
。lsblk -o +WWN
表示することもできます。
では/dev/disk/by-id/
プレフィックスに注意する必要があります。展開で使用するバージョンに応じて、およびwwn-0x
/またはプレフィックス付きのディスクWWN文字列を見つけることができます。scsi-3
udev
GPTパーティションスキームには、パーティションテーブルの作成時に割り当てられるフルディスクUUIDの概念があります。たとえば、出力でこれを見ることができますfdisk -l
。
# fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 850
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2B05CCE8-92BC-4308-B770-174CE63D044F <--- Here!
他のパーティションスキーム(MBRなど)には必ずしも適用可能な項目がない可能性があり、適用しても有効なUUID形式ではない可能性があります。
MBRパーティションスキームの場合、最も近いのはWindowsディスク署名(実際のMBRのオフセット0x1B8)ですが、長さが4バイトにすぎず、すべてのMBRパーティションディスクに存在することは保証されません。 Windows NTで導入されたようです。
答え2
通信については繰り返しません。説明する、便利な行を追加するだけです。
すべてのSATAドライブ+ UUIDをフィルタリングする方法
LC_ALL=C fdisk -l /dev/sd? | grep 'Disk /dev/sd\|Disk identifier'
分析する
LC_ALL=C
:エクスポートせずにデフォルトのロケールを設定します。このコマンドでのみ機能します。fdisk -l /dev/sd?
:ドライブを一覧表示します。私たちの場合は難しいので、ドライブだけをリストしました。/dev/sd?
grep 'Disk /dev/sd\|Disk identifier'
:ディスク名+UUIDのみ表示