連載
» 2011年04月01日 00時00分 公開

仮想シリアルポートとUSBパススルーVMware vSphere 4.1の進化を探る(5)(2/2 ページ)

[齋藤康成,ヴイエムウェア株式会社]
前のページへ 1|2       

USBパススルー機能の新たな搭載

 仮想マシンにおいてもUSBデバイスを利用したいという需要は以前より存在し、VMware Workstationなどではすでに利用可能となっている。VMware ESX、VMware ESXiでは、vMotionに代表されるような仮想マシンの可搬性の提供と、USBデバイスのような物理デバイスへのアクセス性の提供は相反する部分があるため、結果的にUSBデバイスの利用はサポートされてこなかった。

 vSphere 4.1では、仮想マシンの可搬性を損うことなくUSBデバイスを利用可能にする機能が新たに実装された。物理ホスト側に装着されているUSBデバイスを仮想マシンから利用可能にし、かつvMotionを実行しても仮想マシンから該当USBデバイスの利用を継続することができる。このUSBパススルー機能はIntel VT-dやAMD IOMMUのようなハードウェア支援機構を活用しているわけではないため、ESX/ESXi 4.1の互換性認証を取得済みで、USB 2.0もしくはUSB 1.1のコントローラを搭載しているサーバであれば、特に機種を選ぶことなく利用することができる。また、無償版のVMware vSphere Hypervisorを含む、全てのエディションで利用可能な機能である。

 利用形態は「ESX 4.1もしくはESXi 4.1が動作する物理ホストに装着されているUSBデバイスを、仮想マシンから利用する」というものである。vSphere Clientが動作しているマシンに装着されているUSBデバイスを仮想マシンから利用できるわけではないため、ご注意いただきたい(将来的にはこちらの機能を提供する計画もあるが、4.1リリースではこの機能は提供されていない)。

図7 USBパススルー機能の利用形態 図7 USBパススルー機能の利用形態

 また、ある物理USBデバイスに割り当てることができる仮想マシンは1つに限定される。単一のUSBデバイスを複数個の仮想マシンに同時に割り当てることはできない。

USBパススルー機能の利用

 USBパススルー機能を利用する際には、2段階の構成手順を踏む。仮想マシンに対する仮想USBコントローラの構成と、USBデバイスの接続である。初めにUSBコントローラの追加を行う。

図8 ステップ1 ― 仮想マシンに仮想USBコントローラを構成する 図8 ステップ1 ― 仮想マシンに仮想USBコントローラを構成する

 仮想USBコントローラを構成済みの仮想マシンでは、即座にUSBデバイスを追加することができる。ハードウェアの追加ウィザードからUSBデバイスの追加作業を行う。

図9 ステップ2 ― 仮想USBコントローラが構成済みの仮想マシンでは、即座にUSBデバイスの追加が可能 図9 ステップ2 ― 仮想USBコントローラが構成済みの仮想マシンでは、即座にUSBデバイスの追加が可能

 ウィザードを進めると、現在配置されている物理ホストが認識しているUSBデバイス一覧が表示されるため、ここで接続したいデバイスを選択する。またここで、デバイスの接続中にvMotionの利用をサポートするかどうかを指定するチェックボックスが表示されるため、vMotionと併用したい場合はこのチェックボックスを有効化しておく。

図10 接続するUSBデバイスを選択。vMotionと併用するかどうかをここで設定する 図10 接続するUSBデバイスを選択。vMotionと併用するかどうかをここで設定する

 USBコントローラ、USBデバイスの構成を行った仮想マシンをパワーオンすると、ゲストOS側から該当デバイスが認識され利用可能になる。

図11 ゲストOSがUSBコントローラとUSBデバイスを認識する 図11 ゲストOSがUSBコントローラとUSBデバイスを認識する

USBパススルー機能とvMotion

 USBパススルー機能はvMotionと併用可能である。デバイスの構成時は仮想マシンが配置されている物理ホストに該当USBデバイスが接続されている必要があるが、仮想マシンのパワーオン後はvMotionを用いて仮想マシンのライブ・マイグレーションを行うことができる。仮想マシンを他の物理ホスト上に移行した後であっても、ゲストOSは該当USBデバイスの利用を継続することができる。

図12 vMotion実行後もUSBパススルー機能は継続できる 図12 vMotion実行後もUSBパススルー機能は継続できる

 vMotion実行後は、ESX同士がバックエンドで通信を行うことでUSBデバイスへのアクセス性を継続する。このため、従来型ESXを利用している場合は、事前にファイアウォールの設定を変更しておく必要がある。

 USBパススルー利用時のネットワークプロトコルには、VMware Remote Console (TCP 903)が用いられている。このポートは入力用ポートとしては常用されるものであるためデフォルトで開放されているが、ESXからの出力先ポートとしてはデフォルトでは塞がれているため開放する必要がある。以下のコマンドを各ESXのサービスコンソール上で実行することで開放できる。

# esxcfg-firewall --openPort 903,tcp,out,"USBvMotion"

 詳細は下記のKnowledge Baseで解説されている。

http://kb.vmware.com/kb/1032885

 なお、ESXiは4.1リリースではファイアウォール機能を保有していないため、上記の設定も不要である。

USBパススルー機能の制限事項

 USBパススルー機能を有効化した仮想マシンには以下の制限事項・考慮点が発生する。

  • Distributed Power Management 機能と併用不可
  • Fault Tolerance機能の利用不可
  • 仮想マシンのハードウェアバージョンは「バージョン7」であることが必須
  • 仮想マシンのサスペンド/レジュームを実行すると、USBデバイスは物理的に切断/再接続されたときと同様にふるまう(仮想マシンをサスペンドする前にUSBデバイスの切断をユーザー側で実行するなど、データロスに対する運用上の注意が必要)

 また、市場には多数のUSBデバイスが流通しており、それらを全てVMwareで試験することは難しいため、正式にサポート対象としているデバイスは現時点では限定的なものとなっている。テスト済みで正式サポート対象として取り扱われているUSBデバイスの一覧は以下のKnowledge Baseで公開されている。

http://kb.vmware.com/kb/1021345


 今回は、仮想ハードウェアに関する機能拡張ということで、仮想シリアルポートに関する機能拡張と、USBデバイスのパススルー機能について解説した。ネットワーク機能やストレージ機能のように仮想マシンを利用する上で必須となる機能ではないが、物理マシンからの移行の障壁となる要素を減らす、便利な機能である。

 本連載「VMware vSphere 4.1の進化を探る」は、今回で最終回である。マイナーバージョンアップではありながら、さまざまな機能が進化しているVMware vSphere 4.1を、ぜひ使いこなしていただきたい。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。