しょんぼり技術メモ

まいにちがしょんぼり

XenServerでiSCSI上のSRを見失い、no such deviceと言われてしまったときの対応

How to Identify If SCSI Storage Repository has Changed SCSI IDsに書いてあります。
XenServer5.6SP2, 47101pで確認。

ちょっとわかりにくいので自分用のメモもかねてまとめておくと:

XenServerのコンソールにログインする

XenCenterのConsoleから入るなり、リモートからSSHで入るなり。

現在の正しいSCSIidを取得する

# xe sr-probe type=lvmoiscsi device-config:target=<iSCSIのIPアドレス> device-config:targetIQN=<IQN>
Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect, <?xml version="1.0" ?>
<iscsi-target>
        <LUN>
                <vendor>
                        NAS
                </vendor>
                <LUNid>
                        1
                </LUNid>
                <size>
                        1795726245888
                </size>
                <SCSIid>
                        cccccccccccccccccccccccccccccccccccccccccccccccccc ←これが正しいSCSIid
                </SCSIid>
        </LUN>
</iscsi-target>

使えないpbdをunplug/destroyする

# xe sr-list type=lvmoiscsi 
uuid ( RO)                : <UUID-OF-SR>
          name-label ( RW): iscsi
    name-description ( RW): iSCSI SR [<IPADDR> (<IQN>)]
                host ( RO): <FQDN>
                type ( RO): lvmoiscsi
        content-type ( RO): 

SRのUUIDを控えておく。

# xe pbd-list sr-uuid=<UUID-OF-SR>
uuid ( RO)                  : <UUID-OF-PBD>
             host-uuid ( RO): <UUID-OF-HOST>
               sr-uuid ( RO): <UUID-OF-SR>
         device-config (MRO): target: <IPADDR>; targetIQN: <IQN>; SCSIid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    currently-attached ( RO): false

pbdとホストのUUIDを控えておく。ここのSCSIidが先に調べたIDと異なっているはず。

# xe pbd-unplug uuid=<UUID-OF-PBD>
# xe pbd-destroy uuid=<UUID-OF-PBD>

unplug, destroyを実行。

# xe pbd-list sr-uuid=<UUID-OF-SR>

destroyしたので何も出なくなる。

正しいSCSIidを指定してpbdを作成

# xe pbd-create sr-uuid=<UUID-OF-SR> host-uuid=<UUID-OF-HOST> device-config:target=<IPADDR> device-config:targetIQN=<IQN> device-config:SCSIid=ccccccccccccccccccccccccccccccccccccccccccccccccc
<NEW-UUID-OF-PBD>

設定が間違っていなければ、新しく作成されたPBDのUUIDが表示される。

# xe pbd-plug uuid=<NEW-UUID-OF-PBD>

それをplugする。今度は正しくplugされ、XenCenterからも見えるようになるはず。

補足

SR
Storage Repositoryの略。XenServerから使うストレージのこと
pbd
Physical Block Deviceの略。実際の物理的なデバイスのこと