■デバイスファイル命名規則
/dev/disk配下に以下のようなデバイスファイルが作成されます。 (説明の便宜上、色分けをしています。)
/dev/disk/by-path/pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000
/dev/disk/by-path/pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part1
/dev/disk/by-path/pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part2
/dev/disk/by-path/pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part3
これらのファイルの命名規則は以下のとおりです。
- pci-0000:02:01.0
ホストバスアダプタ(HBA)が接続されているPCIのパス番号です。内容は以下のとおりです。
- 0000: PCIドメイン番号
- 02 : PCIバス番号
- 01 : PCIスロット番号
- 0 : PCIファンクション番号
- fc-0x20010000138402a0
ディスク装置側のWWPN(World Wide Port Name)
- 0x0001000000000000
LUN(SCSI-3におけるアレイ装置用の8バイト形式のもの。ただし下位4バイトは常に0に設定される。)
- part1
パーティションのデバイスファイル(下線部はパーティション番号を示す)
※"-partx "が付与されていないデバイスファイルは、装置自体のデバイスファイルです。
上記ファイルは全て、カーネルが作成したデバイスファイル(/dev/sdxx)に対するシンボリックリンクファイルであり、
/dev/sdxxの代わりとして使用できます。
これらのシンボリックリンクファイルはシステムブート処理内での/etc/rc.sysinit
実行完了後から使用することができます。
<カーネルが作成したデバイスファイルへのリンク関係(例)>
# cd /dev/disk/by-path
# ls -l
lrwxrwxrwx 1 root root 9 7月 8 00:29 pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000 -> ../../sdf
lrwxrwxrwx 1 root root 10 7月 8 00:29 pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 7月 8 00:29 pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part2 -> ../../sdf2
lrwxrwxrwx 1 root root 10 7月 8 00:29 pci-0000:02:01.0-fc-0x20010000138402a0:0x0001000000000000-part3 -> ../../sdf3
■補足事項
■注意事項
- udevが作成したデバイスファイルは単なるシンボリックリンクファイルであるため、 カーネル内部では認識されません。
このため、以下のファイルには、udevが作成したデバイスファイル名ではなく、
カーネルが作成したデバイスファイル名(/dev/sdxx)のみが格納されます。
(現在判明しているファイルについてのみ記載。)
/proc/devices
/proc/diskstats
/proc/partitions
/proc/swaps
/etc/mtab
- udevが作成したデバイスファイルは、カーネルが作成したデバイスファイル(/dev/sdxx)
の代わりに使用できます。
ただし、以下のコマンドでは、出力結果が意図するものとは異なる場合がありますのでご注意ください。
- mount(8)コマンド
- mount(8)コマンドをオプション無しまたは"-l"オプション付きで実行した場合、
現在マウントされているファイルシステムの一覧が表示されますが、
デバイスファイル名はudevで作成した名前ではなく、カーネルが作成した名前で表示されます。
- df(1)コマンド
- df(1)コマンドの引数にデバイスファイルを指定せずに実行した場合、
出力結果におけるファイルシステム名はudevで作成した名前ではなく、
カーネルが作成した名前で表示されます。
- df(1)コマンドの引数にudevで作成したデバイスファイルを指定した場合、
"df /dev"を実行した場合と同じ結果が表示され、正しい結果が表示されません。
このため、udevで作成したデバイスファイルのシンボリックリンク先である、
カーネルが作成したデバイス名(/dev/sdxx)を "ls -l" コマンド等で特定し、
df(1)コマンドの引数に/dev/sdxxを指定して実行してください。
- iostat(1)コマンド
- iostat(1)コマンドの引数にデバイスファイル名を指定せずに実行した場合、
出力結果におけるデバイス名はudevで作成した名前ではなく、 カーネルが作成した名前で表示されます。
- iostat(1)コマンドの引数にudevで作成したデバイスファイル名を指定した場合、
出力結果にデバイスの統計情報が表示されません。
このため、
udevで作成したデバイスファイルのシンボリックリンク先である、
カーネルが作成したデバイス名(/dev/sdxx)を "ls -l" コマンド等で特定し、
iostat(1)コマンドの引数に/dev/sdxxを指定して実行してください。