Linux のデバイス名は、必ずしもハードウェアに印字された物理コネクターではなく、インターフェースを提示するカーネルサブシステムとドライバーを反映します。一般的なパターンを理解しつつ、ストレージを変更する前には、そのシステム上の実際の対応関係を調べてください。
デバイス · レッスン 3
デバイス名
Linux における一般的なストレージデバイス、パーティション、論理デバイス、永続デバイスリンクの命名方法を学びます。
SCSI 層のディスク名
SCSI ディスク層を通じて提示されるディスクには、一般に sd で始まる名前が使われます。これには多くの SCSI、SATA、USB ストレージ、仮想ディスクが含まれます。
/dev/sda: 一つのディスク全体/dev/sdb: 別のディスク全体/dev/sda3:/dev/sdaのパーティション3/dev/sdb1:/dev/sdbのパーティション1
文字は列挙順を反映しており、永続的な識別子ではありません。コントローラーの追加、ファームウェア上の順序変更、デバイスの接続によって、特定の文字が割り当てられるディスクは変わる可能性があります。
sd の命名パターンで、/dev/sdb のパーティション1を表すパスはどれですか?
数字で終わる名前
デバイス全体の名前がすでに数字で終わる場合は、パーティション名で p を区切りとして使います。
/dev/nvme0n1: コントローラー0上の NVMe 名前空間1/dev/nvme0n1p2: その名前空間のパーティション2/dev/mmcblk0: MMC ブロックデバイス/dev/mmcblk0p1: そのデバイスのパーティション1
NVMe デバイスは通常 /dev/sdX とは名付けられず、NVMe サブシステムの命名規則を使います。
/dev/nvme0n1 のパーティション2を表すパスはどれですか?
論理ブロックデバイスと仮想ブロックデバイス
Linux は、物理ディスクと一対一には対応しないブロックデバイスも作成します。
/dev/dm-N: device mapper のデバイス。多くの場合、/dev/mapper/以下に説明的なリンクもあります。/dev/mdN: Linux のソフトウェア RAID アレイ/dev/loopN: 通常ファイルを接続した loop ブロックデバイス
パーティション、暗号化層、RAID、論理ボリューム、ファイルシステムは積み重なった構造を形成します。名前だけから構造を推測せず、lsblk などのツールで親子関係を確認してください。
device mapper のデバイスに説明的なリンクを提供することが多い場所はどれですか?
永続的なストレージリンク
ユーザー空間のデバイス管理機能は /dev/disk/ 以下にリンクを作成します。一般的な分類は次のとおりです。
by-id: ハードウェアまたはトランスポートの識別子by-uuid: ファイルシステム UUIDby-label: ファイルシステムラベルby-partuuid: パーティションテーブルの UUIDby-path: トポロジーに依存するパス
何を安定させる必要があるかに合わせて識別子を選びます。ファイルシステム UUID が識別するのはファイルシステムであり、その下にある物理ディスクとは限りません。ファイルシステムを複製すると UUID も重複する場合があるため、依存する前に一意性を確認してください。
デバイス固有の設定で、/dev/disk/by-id/ のリンクが /dev/sdX より望ましいことが多いのはなぜですか?
疑似デバイスの名前
/dev/null、/dev/zero、/dev/urandom などの名前は、物理ストレージではなくカーネルの疑似デバイスを表します。/dev/null は書き込みを破棄し、読み取りではファイル終端を返します。/dev/zero はゼロのバイト列を、/dev/urandom はカーネルの乱数生成器から得たバイト列を提供します。
/dev/zero から読み取ると何が得られますか?
パーティション作業を行う前に、Linux でハードウェアデバイスを調査するを利用して、名前、永続リンク、lsblk の関係を比較してください。
レッスン完了
デバイス名 を完了しました
一般的な Linux のストレージ名を、永続的な識別情報と誤認せずに読み解けるようになりました。
sdXNUMBERをsdディスクのパーティションとして読む。デバイス全体の名前が数字で終わる場合は
pNUMBERを使う。device mapper、RAID、loop デバイスなどの論理デバイスを認識する。
必要な識別対象に合わせて選んだ永続リンクを優先する。
ストレージの名前とカーネルの疑似デバイスを区別する。