2015年8月15日土曜日

[XenServer 5.0] USB外付けディスクを仮想マシンに接続する方法


XenServerホスト(物理マシン)に、USBの外付けディスクを取り付けて、仮想マシンに接続する方法です。

USB外付けディスクが、仮想マシンのディスクとして使用できるようになります。

XenCenterでも設定できるのですが、ここには、コマンドで設定する手順を記述します。
作業は、XenServerホスト(Dom0)のrootユーザーで行います。
USBの外付けディスクは、XenServerホストに接続して、使用可能状態にあることが前提です。

1.仮想マシンのUUIDと使用しているデバイスを確認する


USB外付けディスクを使用する仮想マシンのUUID(vm-uuid)とデバイスを確認し、新しいディスク用のデバイス名を決めます。以下のようにxeコマンドを実行して、現在のデバイスを表示します。"+LUPUS"といのは仮想マシンの名前です。
# xe vbd-list vm-name-label=+LUPUS
uuid ( RO)             : f8a9386b-d321-2b54-a855-3217b7043a7c
          vm-uuid ( RO): a84d44ed-92ac-0ebd-7124-696bfff5b5ee
    vm-name-label ( RO): +LUPUS
         vdi-uuid ( RO): 24a02d8b-e692-43b3-91bd-daef3146553d
            empty ( RO): false
           device ( RO): xvda


uuid ( RO)             : c3530368-ca76-eb52-8692-76d9377f81a3
          vm-uuid ( RO): a84d44ed-92ac-0ebd-7124-696bfff5b5ee
    vm-name-label ( RO): +LUPUS
         vdi-uuid ( RO): <not in database>
            empty ( RO): true
           device ( RO): hdd
現在は、"xvda" と "hdd" の2つのデバイスがあります。これから、新しく作成するデバイスは、"hdb" にすることにします。

2.USB外付けディスクの各種UUIDを確認する


XenServerでは、ホストに接続したUSB外付けディスクは、"Removable storage" として扱われます。以下のようにxeコマンドを実行して、ストレージ・レポジトリUUID(sr-uuid)を確認します。
# xe sr-list name-label="Removable storage"
uuid ( RO)                : b2e035e6-7854-b6fd-351f-43a49720d332
          name-label ( RW): Removable storage
    name-description ( RW):
                host ( RO): manta
                type ( RO): udev
        content-type ( RO): disk
次に、仮想ブロックデバイスUUID(vbd-uuid)を確認します。xeコマンドに "--minimal"をつけると値だけ表示します。
# xe vdi-list sr-uuid=b2e035e6-7854-b6fd-351f-43a49720d332 params=vbd-uuids --minimal
ここで、何も表示されなければ、USBディスクを誰も使用していないということです。UUIDが表示されたら、既に他の仮想マシンで使用しています。
最後に、仮想ディスクイメージUUID(vdi-uuid)を確認します
# xe vdi-list sr-uuid=b2e035e6-7854-b6fd-351f-43a49720d332 params=uuid --minimal
6d45ebe1-29f5-4ae2-afa6-f6943f2a359b

3.仮想マシンに接続する


仮想マシン用に新しい仮想ブロックデバイスを作成します。
# xe vbd-create vm-uuid=a84d44ed-92ac-0ebd-7124-696bfff5b5ee device=hdb vdi-uuid=6d45ebe1-29f5-4ae2-afa6-f6943f2a359b
6013e017-f8fc-e9d7-74c6-c854e4848206
XenCenterで仮想マシンの「Storage」タブを見ると以下のようにUSBディスクが追加されています。



次に、このVBDを接続します。uuidには、上記コマンド(vbd-create)の実行結果で表示された値を指定します。
# xe vbd-plug uuid=6013e017-f8fc-e9d7-74c6-c854e4848206
XenCenterで見ると、「Active」欄が"Yes"になり、「DevicePath」が表示されました。