19.9. Lun 固執の実装

19.9. Lun 固執の実装

システムがマルチパスを使用していない場合、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 上でエイリアス名を作成する為、再起動後にも残る固執タイプです。