Solaris用SCSIカードのSCSIイニシエータIDを変更するUNIX処方箋

現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、SunのマシンでSCSIイニシエータIDを変更する方法を解説します。

» 2009年01月06日 00時00分 公開
[ITmedia]

Solaris用SCSIカードのSCSIイニシエータIDを変更する2台のSunのマシンでクラスターを構成しようとしています。データを共有する外付けディスクにそれぞれのマシンからSCSIで接続しているのですが、SCSI Bus Resetが発生します。原因は2台のマシンで同じSCSIイニシエータIDを持っているためだと分かったのですが、変更する方法が分かりません。具体的にどのような方法で変更できるのでしょうか?


通常、SCSIカードのSCSIイニシエータID(以降、ID)は「7」に設定されています。外付けディスクを複数のマシンからSCSI接続すると、IDが重複してしまうため、SCSI Bus Resetなどが発生し、正常動作の妨げになります。IDを重複しないように変更することでこういう事態を回避できます。SunのマシンではOBP(Open Boot PROM)上でIDを任意の値に変更できます。ここでは、増設したSCSIカードのIDを「4」へ変更する手順を具体例を挙げて説明します。

デバイスパスの確認

 IDを変更するマシン以外は電源を停止します。また、IDを変更するマシンはOBPへ移行します。マシンの電源停止手順、OBPモードへの移行手順は割愛します。

 OBPへ移行したら、IDを変更したいSCSIカードのデバイスパスを調べるためにshow-disksコマンドを実行します。


ok show-disks
a) /pci@8,600000/SUNW,qlc@4/fp@0,0/disk
b) /pci@8,700000/IntraServer-Ultra160,scsi@3,1/disk
c) /pci@8,700000/IntraServer-Ultra160,scsi@3/disk
d) /pci@8,700000/scsi@6,1/disk
e) /pci@8,700000/scsi@6/disk
f) /pci@8,700000/ebus@5/floppy@1,3023f0
q) NO SELECTION
Enter Selection, q to quit:

 このとき表示されるデバイスパスのうち、b)、c)がSCSIカードのデバイスパスとなり、残りはオンボードのSCSIデバイスとなります。デバイスパスがSCSIカードかオンボードのSCSIデバイスかを見極めるにはprobe-scsi-allコマンドも併せて確認すると分かりやすいでしょう。

 なお、表示されるデバイスパスのうち、それぞれの末尾にある「disk」は不要で、「/disk」を除いた後記の部分がデバイスパスになります。

/pci@8,700000/IntraServer-Ultra160,scsi@3,1


nvramrcスクリプトの編集

 nveditコマンドを実行し、nvramrcスクリプトを編集してIDを「4」に設定します。


ok nvedit

 nveditコマンドを実行すると、nvramrcスクリプトの編集モードになります。編集モードのキーの使い方は以下のとおりです。

利用キー 機能
左矢印キー 1文字戻る
右矢印キー 1文字進む
上矢印キー 1行戻る
下矢印キー 1行進む
Delete(BackSpace)キー カーソルの前の文字を消す
Ctrl+Kキー 1行削除
Ctrl+Cキー 保存して終了

 編集モードの各行は「0:」、「1:」というように行番号が振られて表示されます。各行に設定を記述していきます。


0: probe-all
1: cd /pci@8,700000/IntraServer-Ultra160,scsi@3,1
↑IDを設定したいデバイスパスを入力
2: 4 " scsi-initiator-id" integer-property
↑「"」と「scsi-」の間にスペースが入る
3: device-end
4: install-console
5: banner
6: 
↑Ctrl+Cキーを入力して、nvramrcスクリプトを保存して終了

 nvramrcスクリプトの設定内容を反映し、有効にします。


ok nvstore
ok setenv use-nvramrc? true

 nvramrcスクリプトに保存された内容を確認します。


ok printenv nvramrc

 マシンを再起動します。


ok reset-all

IDの確認

 マシンを再起動したら、再度OBPへ移行します。IDが変更されていることを確認します。


ok cd /pci@8,700000/IntraServer-Ultra160,scsi@3,1
ok .properties
scsi-initiator-id 00000004
		:
		:

 scsi-initiator-id が「4」となっており、IDが「4」に変更されていることが分かります。これでマシンのIDが重複するのを回避できました。

UNIX関連の悩みなら、「UNIX処方箋」にどうぞ


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ