LINUX by-id

仕事で RHEL の udev機能(主にby-id) について悩まされているので、自分なりにまとめてみた。

Linuxでは、/dev/hda や /dev/sda 等の従来の互換デバイス名とは別に /dev/disk から始まるデバイス名を割り当てることができる。(udev機能

ラベル指定で対処できないシステムについては、udev機能を利用することによってデバイス名ズレを予防できる。

 ・by-path名
  /dev/disk/by-path/xxxx
  /dev/disk/by-path から始まるデバイス
  xxxx はディスクの位置情報から生成される情報

  by-path名はデバイスが接続されている位置情報から生成されるデバイス名。
  デバイスの認識順序のずれが発生した場合、互換デバイス名は変更されるが by-path名は変更されない。
  
  但し、接続する場所を変更した場合、by-path名が変更されるため注意が必要。
  また、ディスク関連のデバイスの変換・増減時。by-path名が変更される場合あり。

 ・by-id名
  /dev/disk/by-id/yyyy
  /dev/disk/by-id から始まるデバイス
  yyyy はディスクに設定されている
  
  by-id名はハードディスクに設定されているユニークな識別情報(シリアル番号)から生成されるデバイス名。
  接続する場所を変更した場合、互換デバイス名は変更されるが、by-id名は変更されない。
  そのため、常に同じデバイスを利用出来る。
  
  但し、ディスクを変更する場合は、by-idが変更されるので注意が必要。