<目次>
■デバイスファイルの命名規則 本サンプルを設定することにより、/dev/scsi配下に以下のようなデバイスファイルが作成されます。 (説明の便宜上、色分けをしています。) /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/disc /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part1 /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part2 /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part3 これらのファイルの命名規則は以下のとおりです。 0000b02s01f0 ホストバスアダプタ(HBA)が接続されているPCIのパス番号です。内容は以下の とおりです。 0000: PCIドメイン番号 b02 : PCIバス番号(bはPCIバス番号を示す区切り用文字) s01 : PCIスロット番号(sはPCIスロット番号を示す区切り用文字) f0 : PCIファンクション番号(fはPCIファンクション番号を示す区切り用文字) bus0 ホストバスアダプタ(HBA)内バス(=チャネル)番号 20010000138402a0 ディスク装置側のWWPN(World Wide Port Name) lun0 LUN disc 装置自体のデバイスファイル part1 パーティションのデバイスファイル(下線部はパーティション番号を示す) 本サンプル設定により作成される上記ファイルは全て、カーネルが作成したデバイスファイル (/dev/sdxx)に対するシンボリックリンクファイルであり、/dev/sdxxの代わりとして使用できます。 これらのシンボリックリンクファイルはシステムブート処理内での/etc/rc.sysinit 実行完了後から使用することができます。 <カーネルが作成したデバイスファイルへのリンク関係(例)> # cd /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0 # ls -l lrwxrwxrwx 1 root root 18 11月 29 15:49 disc -> ../../../../../sdc lrwxrwxrwx 1 root root 19 11月 30 10:17 part1 -> ../../../../../sdc1 lrwxrwxrwx 1 root root 19 11月 30 10:17 part2 -> ../../../../../sdc2 lrwxrwxrwx 1 root root 19 11月 30 10:17 part3 -> ../../../../../sdc3 ■udevルール サンプル設定解除手順 システム全体について関係するデバイスファイル名を設定している箇所等について、 udevで作成したデバイスファイル名へ変更している部分を、カーネルが作成したデバイスファイル名 (/dev/sdxx)に戻す。 <例> /etc/fstabの記述において、udevで作成したデバイスファイル名を設定している部分を、 カーネルが作成したデバイス名に戻す。 (設定を戻す前) /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun2/part1 /mnt/test ext3 defaults 0 0 ↓ (設定を戻した後) /dev/sdc1 /mnt/test ext3 defaults 0 0 パッケージをアンインストールする。 # rpm -e udev-fcname-1-0 システムをリブートする。 # reboot ■補足事項 udevにより固定的なデバイスファイル名を提供する機能は、 Linuxコミュニティからも推奨されており一般的なものです。 また、他のディストリビューションでも採用されています。 Emulex社も、ML4におけるディスクアレイ装置のデバイスファイル名固定方法としてudevを利用することを推奨しています。 本udevルールサンプルで作成されるデバイスファイル名は、MIRACLE LINUXから提供されている udevルールで作成されるデバイスファイル名とは重複しません。 よって、ML4及びML4 SP1 からML4 SP2 以降のリリースへアップデートされた場合、 またはudevパッケージをudev-039-10.15.EL4以降へアップデート した場合に、上記2種類のudevルール、 及び作成された2種類のデバイスファイルが一つのシステム上に同時に存在しても問題はありません。 ■注意事項 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を指定して実行してください。
本サンプルを設定することにより、/dev/scsi配下に以下のようなデバイスファイルが作成されます。 (説明の便宜上、色分けをしています。)
/dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/disc /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part1 /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part2 /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0/part3
本サンプル設定により作成される上記ファイルは全て、カーネルが作成したデバイスファイル (/dev/sdxx)に対するシンボリックリンクファイルであり、/dev/sdxxの代わりとして使用できます。 これらのシンボリックリンクファイルはシステムブート処理内での/etc/rc.sysinit 実行完了後から使用することができます。
<カーネルが作成したデバイスファイルへのリンク関係(例)>
# cd /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun0 # ls -l lrwxrwxrwx 1 root root 18 11月 29 15:49 disc -> ../../../../../sdc lrwxrwxrwx 1 root root 19 11月 30 10:17 part1 -> ../../../../../sdc1 lrwxrwxrwx 1 root root 19 11月 30 10:17 part2 -> ../../../../../sdc2 lrwxrwxrwx 1 root root 19 11月 30 10:17 part3 -> ../../../../../sdc3
■udevルール サンプル設定解除手順 システム全体について関係するデバイスファイル名を設定している箇所等について、 udevで作成したデバイスファイル名へ変更している部分を、カーネルが作成したデバイスファイル名 (/dev/sdxx)に戻す。 <例> /etc/fstabの記述において、udevで作成したデバイスファイル名を設定している部分を、 カーネルが作成したデバイス名に戻す。 (設定を戻す前) /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun2/part1 /mnt/test ext3 defaults 0 0 ↓ (設定を戻した後) /dev/sdc1 /mnt/test ext3 defaults 0 0 パッケージをアンインストールする。 # rpm -e udev-fcname-1-0 システムをリブートする。 # reboot ■補足事項 udevにより固定的なデバイスファイル名を提供する機能は、 Linuxコミュニティからも推奨されており一般的なものです。 また、他のディストリビューションでも採用されています。 Emulex社も、ML4におけるディスクアレイ装置のデバイスファイル名固定方法としてudevを利用することを推奨しています。 本udevルールサンプルで作成されるデバイスファイル名は、MIRACLE LINUXから提供されている udevルールで作成されるデバイスファイル名とは重複しません。 よって、ML4及びML4 SP1 からML4 SP2 以降のリリースへアップデートされた場合、 またはudevパッケージをudev-039-10.15.EL4以降へアップデート した場合に、上記2種類のudevルール、 及び作成された2種類のデバイスファイルが一つのシステム上に同時に存在しても問題はありません。 ■注意事項 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を指定して実行してください。
<例>
/etc/fstabの記述において、udevで作成したデバイスファイル名を設定している部分を、 カーネルが作成したデバイス名に戻す。 (設定を戻す前) /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun2/part1 /mnt/test ext3 defaults 0 0 ↓ (設定を戻した後) /dev/sdc1 /mnt/test ext3 defaults 0 0
(設定を戻す前) /dev/scsi/0000b02s01f0/bus0/20010000138402a0/lun2/part1 /mnt/test ext3 defaults 0 0 ↓ (設定を戻した後) /dev/sdc1 /mnt/test ext3 defaults 0 0
■補足事項
Emulex社も、ML4におけるディスクアレイ装置のデバイスファイル名固定方法としてudevを利用することを推奨しています。
■注意事項 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を指定して実行してください。
/proc/devices /proc/diskstats /proc/partitions /proc/swaps /etc/mtab