システムがマルチパスを使用していない場合、udev を使用して lun 固執を実装することができます。自分のシステムで lun 固執の実装をする前に、正しい UUID を取得することを確認して下さい。これらを取得した後は、/etc ディレクトリ内にある scsi_idファイルを編集して lun 固執 を設定できます。テキストエディタでこのファイルを開いたら、以下の行をコメントアウトする必要があります:
# options=-b
そして、これを次のパラメータで入れ換えます:
# options=-g
これが udev に対し、返って来る UUID の為にシステム SCSI デバイス全てを監視するように指示します。システム UUID を決定するには次のようにします:
# scsi_id -g -s /block/sdc
出力は以下に似たものになるはずです:
[root@devices] # scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e*
この長い文字列が UUID です。デバイス名に UUID のキーオフをさせるには、各デバイスパスを調べて、UUID 番号が各デバイス用に同じであることを確認します。UUID はシステムに新規デバイスが追加されても変化しません。デバイスパスをチェックしたら、デバイス名の為の規則を作る必要があります。これらの規則を作成するには、/etc/udev/rules.d ディレクトリ内にある20-names.rules ファイルを編集しなければなりません。作成するデバイス命名規則は以下の形式に従う必要があります:
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
既存の UUID とデバイス名を、上記の取り込んだ UUID エントリで入れ換えてます。そこでその規則は以下に似たものになります:
KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e ", NAME="mydevicename"
これで、システムが /dev/sd* に一致する全てのデバイスを有効にして、任意の UUID を検査するようになります。一致するデバイスを発見した場合、それは /dev/devicename と呼ばれるデバイスノードを作成します。この例では、デバイスノードは /dev/mydevice にしています。最後に /etc ディレクトリにある rc.local ファイルに以下のパスを使って追記する必要があります:
/sbin/start_udev
マルチパスで LUN 固執を実装
マルチパス環境内で lun 固執を実装するには、マルチパスデバイス用のエイリアス名を定義する必要があります。例えば、/etc/ ディレクトリ内にある multipath.conf ファイルを編集して、四つのデバイスエイリアスを定義する必要があります。
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp1
}
multipath {
wwid 3600a0b80001327510000015427b6
alias oramp2
}
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp3
}
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp4
}
これが、4 つの lun を定義します: /dev/mpath/oramp1、/dev/mpath/oramp2、/dev/mpath/oramp3、それに dev/mpath/oramp4 です。デバイスは /dev/mpath ディレクトリ内にあります。これらの lun 名は、lun のwwid 上でエイリアス名を作成する為、再起動後にも残る固執タイプです。