「 vmware 」一覧

vMotionを試す!


ImpressWatchの年末年始企画にもなっていた vMotionを試してみました。
参考にしながらやりましたが、いくらか手間取るところも多かったです。

参考: http://cloud.watch.impress.co.jp/epw/docs/series/virtual/20100201_343848.html

年末からやり始めて、今までかかってしまったので、
ホントに年越し企画になってしまいました・・・。

はじめに

vMotionを試すために、VMware Workstationのチーム機能を用いて実験してみました。
vSpere Hypervisorのことを指して、ESXiと表現をしている部分もあります。

チームの作成&システムのインストール

VMware Workstationで新規チームを選択して、
vMotionを試すための一連の環境を構築します。
追加ボタンを押して、新規仮想マシンを選択。
ここで、vSphere Hypervisor 4.1をインストールする環境を用意します。

HDD 24G
メモリ 2GB
プロセッサ 1ヶ
ネットワーク ホストオンリー
フロッピーディスクドライブ なし
今回は上記の内容で作成しました。
そして、これと同じものをもう1つ用意しておきます。
ここではHypervisor1, Hypervisor2として用意しました。

また以前までの状態で WindowsStorageServerによるiSCSIターゲット環境構築できているものがあるので、これをHypervisorで使うストレージ用とします。
そのため、この仮想マシンもまたチームに追加しておきます。

チームの起動を行い、まずは vSphere Hypervisorのインストールを行います。
それぞれに割り当てたローカルのディスクに、システムのインストールを行うことになります。

インストールして再起動したvSphere Hypervisorに rootでログインして、
とりあえずIPアドレスを割り振っておきます。

vCenter Serverのインストールを行います。
以前の日記にも書きましたが、Server系のOSにインストールしましょう。
そのときには、以下の点を注意しました。

  • スタンドアロンインスタンスでインストール
  • SQLServerExpressをインストール

vSphere Clientを使って、別のPC環境からvCenterCerverへログインします。
今回はWindowsXP Pro SP3をクライアント端末として使用しました。
このvCenter Serverにログインするときには、
Windowsサーバー環境のAdministratorユーザーの情報でログインします。

vCenter ServerでESXiホストを管理する

ESXiサーバー群はデータセンターという単位で管理される。
このことをおぼえて、以下の手順で環境を用意していく。

  1. データセンターの作成
    1. はじめに/データセンターの作成 で作成する
    2. “新規データセンター”と作られるので適当に名前を変更しておく。
  2. データセンターにESXiサーバーを登録
    1. 作成したデータセンターを選択して、ホストの追加を実行する
    2. ESXiへの接続情報(アドレス&ユーザー情報)を入力する。
      1. 証明書の警告が出ても実行を継続する。
    3. 今は、評価ライセンスで環境を構築していきます。

また上記のESXiサーバーを登録の部分を2回行い、準備してあるHypervisor1,Hypervisor2のマシン環境を登録します。
2回目の登録の時には、データセンターを右クリックして、ホストの追加を選びます。

登録が終わったら次にiSCSIターゲットを準備していきます。
これについては準備が完了しているとして、vCenter Serverに登録していきます。

vCenter ServerにiSCSIストレージを登録する

今回ストレージには、前回までに用意したWindowsStorageServer2008で動作するiSCSIターゲットを使います。

各ESXiサーバーを選択して、構成タブの中のハードウェア/ネットワークを開き、
vSwitchのプロパティで vMotionを有効にするにチェックを入れておきます。
これを Hypervisor1, Hypervisor2に対して適用しておきます。

続いて、ESXiサーバー側のiSCSIイニシエーターを設定します。
構成タブの中のハードウェア/ストレージアダプタを開き、
iSCSIソフトウェアアダプタを選択します。そして、詳細の右側あたりにあるプロパティをクリックします。
そして、全般タブの中の構成をクリックして開き、”有効”のチェックボックスをONにします。OKをクリックしてこの画面は閉じます。

動的検出タブ→追加をクリックします。
そして、iSCSIターゲットのIPアドレスを入力します。
入力して閉じると、再スキャンしますかと聞かれるのでOKと答えてしばらく待ちます。詳細部分で iSCSIのディスクが表示されるようになります。
続いて、ストレージカテゴリからストレージの追加をクリックし、iSCSIディスクを追加します。

で、本来なら詳細の部分にiSCSIのデバイスが見えるのですが、
今の状態では見えません。
そこで、StorageServer上の設定を変更します。

Storage Server 2008の設定変更

ここからWindows Storage Server上での設定を行います。
iSCSI Software Targetの管理画面を開きます。
そして、対象となるターゲットを選択し、右クリック、プロパティを開きます。
iSCSIイニシエータータブで、IQNが表示されている状態で、
追加ボタンを押し、”識別子の種類”が”IQN”となっている状態で、参照ボタンを押します。
すると、iSCSIイニシエータのIQNが列挙されて表示されます。
この中に、vmwareからのイニシエータも現在存在しているはずなので、それを選んで、
OKボタンを押します。IQNの値としてそれが設定されることを確認して、再度OKで画面を閉じます。

ここまで完了したら Storage Serverでの設定は完了です。

vCenter Serverの設定を再開します

この状態で、再度ストレージアダプタの再スキャンを行います。
すると今度はストレージアダプタの詳細部分で、iSCSIのディスクが確認することができます。

データストアの作成と仮想マシンの作成

ストレージの追加を行い、ESXi上でiSCSIディスクを使えるようにします。
これについては、通常の内蔵ディスクらと設定は変わらないので説明は省略します。
また、仮想マシンの作成についてもESXi単独で使うのと変わりはないのでこちらも省略します。

ひとまず、Windows Vista(SP2)をインストールし、
リモートデスクトップが使えるように構成しておきます。

リモートデスクトップを使えるようにする理由は、
この後のvMotionを実行した際の挙動を確認したいためです。
セッションは切れてしまうのか、あるいは、応答不能時間等があったりするのか、
そういったものを見てみるのには、この機能がありだと判断したためです。

また、VMware上でのESXiで、その中の仮想マシンでは、64bitのものを使えなかったので、
32bitのVistaをインストールすることにしました。

使えなかったときに表示されたメッセージでは、
”ホストのCPUがCPUIDレベル0x80000001レジスタ「edx」で仮想マシン の用件と互換性がありません。 〜 ロングモードでは、VTをBIOSで有効 にする必要があります。”
と出てきました。

VT使ってESXiを動かし、その中での仮想マシン起動となるので、
仕組み的に厳しいのかもしれません。

2台目のESXiサーバーの設定

構成/ストレージアダプタ で、iSCSIソフトウェアアダプタのプロパティを開きます。
開いたウィンドウで、構成ボタンをクリックし、有効のチェックボックスをONにします。
続いて、動的検出タブの画面にて、追加ボタンを押し、iSCSIターゲットのIPを入力します。
このウィンドウを閉じる際に、再スキャンを行うか聞かれるので再スキャンを行います。
ここでおそらくドライブの認識がされないと思います。
1台目の環境でやったように再度Storage ServerのほうのiSCSIターゲットの設定を行います。
やることは今回のiSCSIソフトウェアアダプタのIQNを登録します。
ここまで完了したら、再度バスの再スキャンを行います。
今度はディスクが確認されると思います。

vMotionを試す

ここまで準備が出来たら vMotionを試すことが出来ます。
まずはクライアントの接続を無しで単に移動だけさせてみます。
vSphere Clientを起動し、移動させたい仮想マシンを右クリックします。
そこで出てくる”移行”をクリックします。
続いて”ホストの変更”を選択し、ESXiサーバーの2つめ(移動先)を選びます。
選んだときに、検証が行われるため多少時間がかかったりします。

検証で失敗した場合、以下のことを確認してみましょう

  • vMotionが対象のネットワークで有効化されているか?
  • iSCSIイニシエータ・ターゲットの設定を見直してみましょう

検証が成功したメッセージが出てきたら、次へをクリックします。
優先順位を聞かれるので、推奨の設定のまま続行します。
最後に確認の画面が出てきて、ここで終了ボタンを押すと vMotion が動き出します。

画面下部のタスクのステータスで、その進行状況を確認できます。
うまくいったことを確認できた(と思います)

続いて、リモートデスクトップで接続を行った状態で、
vMotionにより移動をさせてみました。
そのときの結果もセッションは切れることなく、接続状況の悪化を示すこともなく、割とスムーズに動作を継続させることが出来ました。

この結果を見てvMotionはすごいなぁと感じました。


vCenter Serverのインストーラ


vCenter Serverのインストールについて問題が発生。
意外と知られていない、やっていないことなのかもしれない。

WindowsXP Pro SP3の環境に vCenter Serverをインストールしようとしたら、
インストールに失敗した。インストーラーの起動で失敗してしまう。

そのときに、OSが対応していない、とメッセージを出してくれれば
ユーザーもわかりやすいのに、別のメッセージを出すから混乱させられてしまった。

そのメッセージは以下の文章です。

このインストールパッケージはこの種類のプロセッサでサポートされていません。
プロダクトベンダに問い合わせてください。

実際には、OSがまずくてServer系のOSにインストールすれば
問題なくインストールできるのです。
これは2008R2にしてみたところ、同じ環境でインストールは続行できました。


XenServer on VMware


VMware Workstation7 の仮想マシン環境で、
XenServer 5をインストールしてみました。

しかし、どうやら完全仮想化はサポートされない模様。
仮想マシン内で仮想マシンが正しく動くって言われているのは、
サポートリストにあるESXi4だけなのかも。

この環境では、Hyper-Vはそもそもインストール不可のため、
XenServerの場合はどこまで試せるかを実験してみたいと思います。

VMware上でXenServerをインストール

無事にインストールは完了。
途中で警告が出てきますが、これが完全仮想化使えないよって意味合いのメッセージでした。
わかりやすく”Windowsは使えないです”って文章が出てきたと思います。

この上にのせる仮想環境としてCentOSを考えているため、
linux用の追加ディスク(パッケージ)もインストールしておきます。

CentOSをインストール

仮想マシンにCentOS 5.2, 5.4 のそれぞれx64版をインストールしました。
インストール時にGUIが使えなく、テキストベースのインストールをする必要があります。

インストール後は問題も起きず、正常に起動出来ました。


ホストオンリーネットワーク


いろいろとドメイン関連の実験をしていて、
閉じたネットワークを構築したかったため、ホストオンリーネットワークの機能を使用した。

ただ、ゲストとホストの1:1対応であれば何も考えずに使えるのだけど、
ゲスト間で通信し、なおかつドメインのようなDHCPやDNSを動かしているようなときには、通常のままではうまく動かない。

なぜならば、vmwareが提供しているDHCPサービスが動いているからである。
今のような、内部にDHCPがいるような場合、実験するような場合では、このサービスを切って行わなければならない。

  • スタートメニュー/コンピュータの右クリックで管理
    • サービスの中
      • VMware DHCP Service

これを停止にして、作業を行うこと。
一連の作業が終わった後ではまた元に戻しておくのがよいと思われる。

別の方法

仮想ネットワークの設定というツールで設定することも可能。
対象となる、ネットワークアダプタを選択して、
”ローカルDHCPサービスを使用してIPアドレスをVMに配布する”
という部分にチェックが入っているようならこれを外してあげればよい。

状況に合わせて、サービス停止orアダプタの設定変更どちらかを選べば良さそうな感じである。


VT-d と ESXi と


Intel Core i5をVT-d目的で購入。
VT-dを使える環境で ESXiでPCIパススルーするために。

しかしながら、vSphere Clientで確認してみても、
ホストが対応していないと出てくる。
原因が分からずにいろいろと調べた結果、以下のことが分かった。

これが盲点だった。
手元のメインESXi環境である、”GA-H55M-UD2H”ではBIOSでその対応がなされていないものだった。
もう1つのPC環境ではASrockのマザーで、こちらではVT-dの項目がある。
こちらでは、以前の日記に書いた実験を行ったので、動作はやはり環境依存っぽい。

どうもBIOSでVT-dの項目記載が無いような状況では、そのマザーは対応していないと判断してもよいのかもしれない。

今のところ、ネットで調べてみてもIntelのマザーくらい対応していないのかも。
たまたまASRockマザーでは動いていたのは運がよかった(いいもの当てた)としか言いようがない。

もし、VT-d有効で嵌っている人がいたら、この確認をやってみよう。


VMware ESXi 4.1を試す -その2-


PCIデバイスのパススルー

今回は、前回の構成に引き続き、手持ちのPCIデバイスを交換して試してみました。

  • Intel PRO100/S

正常にパススルーで動作。

  • アースソフト製 PV4

動作せず。
IRQ共有がかかっている場合、相手先のデバイスも使用不能となっている模様。

そこで共有されないように組み合わせて設定してみても、
手元の環境ではパープルスクリーンとでもいうのか、VMware版BSoDが出た。

USBデバイスのパススルー

こちらはPCIデバイスのパススルーとは全く別。
いくらかやり方に困ったりしたので、そのときのやり方をメモしておきます。

試してみたデバイス

  • iPod nano 第5世代
  • iPod shuffle
  • カードリーダ
  • USBメモリ

これらのデバイスに関しては動作を確認できました。
若干認識が不安定で、初回は認識失敗したりとかしますが、
数回着脱を繰り返しているうちに認識されるようになって、
その次以降は素直に認識できるようになりました。

設定方法

  1. vSphere Clientにて、仮想マシンにUSBコントローラを追加
  2. USBデバイスをESXiが動いているコンピュータに装着
  3. 仮想マシンを起動します
  4. vSphere Clientの仮想マシンのメニューから再度”設定の編集”を開く
    1. ハードウェアの追加ボタンを押して、”USBデバイス”を選択する
    2. USBデバイスを選択した状態で、次へボタンを押す
    3. PCにつながっているどのUSB機器を対象となる仮想マシンに接続するのかを選ぶ。

この手順によって、USB機器を仮想マシンからアクセスできるようになります。

おまけ

どうやらポート単位で仮想マシンに割り付けるようです。
そのため、複数のUSB機器を接続し、それぞれを別の仮想マシンに割り当てていくことも可能でした。
また、ポート単位で割り当てるため、機器の取り外し/別の機器接続を行っても、
同一ポートであれば、同一の仮想マシンへの接続は維持されるようです。

一度決めておけばかなり便利に使えそうです。

USBデバイスパススルー機能はVT-dなくても動くのかどうかは不明
たぶん、うごくとは思うのですが…。

これらの機能ってVMPlayer等で実現されていた、
「ホストでの接続を仮想マシンへつなぐ」
って機能を取り込んだものじゃないだろうか。


ESXi on VMware Workstaion7.1


VMware ESXiをVMware Workstation 7.1のなかで動かしてみる実験をしてみました。
従来の6.x系だと仮想マシンのなかでESXiを動かすことは出来なかったと思います。

とりあえず、最新のVMware vSphere Hypervisor(通称 ESXi 4.1)では、
インストール途中で失敗しました。
しかしながら、VMware ESXi 4.0.0 ではインストール成功しました。
このことから、もうしばらくしたらWorkstationのマイナーバージョンがあがるかもしれません。

この機能のおかげで、ESXi本体がダウンしたときの代替として
VMware Workstationをインストールしたマシンを使うことも出来るようになるし、かなりいい感じだと思います。


VMware ESXi 4.1を試す -その1-


VMware ESXi 4.1 通称 vSphere Hypervisor を試してみました。

今回は次の点を試してみました

  • USBメモリにハイパーバイザをインストール
  • デバイスのパススルー

USBメモリにインストールする

  1. isoイメージをVMwareのサイトからダウンロードします。
  2. ダウンロードしたisoイメージをマウントして中身を取り出します。
    1. imagedd.bz2というファイルを開き、
    2. その結果できあがるimageddというファイルが必要になります。
  3. DD for Windowsを用いてデータを書き込みます。
    1. USBメモリ(要1GB以上)をPCに装着します。中身は全部消えるので注意
    2. DD for Windowsを管理者として起動します
      1. プログラムを右クリックして、管理者として実行、です。
      2. Vista以降のWindowsで必須です。
    3. imageddを選択し、書き込み先にUSBメモリを指定し、書込ボタンを押します。

これで完成です。

あとは、そのUSBメモリから起動するように設定を変更します。
次からは、動作環境を満たしていればVMware ESXi 4.1を使用できます。

補足

標準で対応していないデバイスを使いたい場合は、もうちょっと作業が必要です。
手元ではそんなデバイスでの実験はやっていないので、割愛します。

デバイスのパススルー

試してみたかったのがVT-dを使用してのデバイスのパススルー機能。
今回のことを機に、Intel Core i7 870のCPUを用いた環境で動作させてみました。

vSphere Clientでまず、対象となるデバイスをパススルー設定する必要があります。

構成タブ/詳細設定/編集 のリンクをクリックします。
するとどのデバイスをパススルー設定するかのチェックが出てくるので使うデバイスにチェックを入れて、ESXiを再起動します。

使えたデバイス、使えないデバイス

いずれのケースもゲストにデバイスが見えはするようです。
その先、使用できるかどうかはやってみないとわからないところが多そうです。

ケース1

SATAのディスクをパススルーでゲストOSからアクセスできないかなとチャレンジしました。
しかしながら、マザーボード上のSATAポートに関してはパススルーでゲストから使用することができませんでした。

同様に、光学ドライブもダメでした。
別途PCIバスに指すものならもしかするとできるのかもしれませんが。

ケース2

覚悟を決めて、PCI-Expressに指したビデオカードをパススルー設定しました。

確かにゲストからデバイスが見えはするのですが、
使用不可能状態で、実ディスプレイにゲストの画面を映す、という野望は実現ならずでした。
一方、通常のESXiの画面が映っていたかというとそうでもなく、真っ暗状態でした。

うまくいくといろいろとおもしろそうだったのですが。

ケース3

サウンドに関してパススルー設定してみました。
(Intel Chipset High definition Audio)

これについてはゲストからも認識され、ESXiが動いている環境からサウンドが再生されました。
今まで動かなかった分、動作したのがうれしい感じでした。

ケース4

Realtek 8168/8111のデバイスを設定してみました。
ゲストから見えるのですが、ドライバロードできず(失敗)しているのか
どうやってもうまくいきませんでした。

環境

Intel Core i7 870, Mem 8GB
vSphere Hypervisor (ESXi 4.1)
USBメモリに本体インストール
ゲストは、Windows Vista SP2(x86)
グラフィックカード RADEON HD 5450

まとめ

どうもマザーボードが備えている機能は動く可能性が五分五分の模様。
PCIバスに乗っかるような形のものや実際に別デバイスとなるようなものだったら、動く可能性がそれよりは高いのかもしれません。


ESXiでのディスク上限


今までやってなかったVMwareESXi4でのiSCSIの実験やNFSマウントの実験をやってみました。

これで2TBの壁を越えられるかという点に興味があります。

準備編

2TB以上のiSCSIターゲット

WindowsServer2008を用意して、その中でiSCSIターゲットを準備します。
以前SoftwareTargetでは2TB以上のVHDを作れなかったと思い、iSCSIの上限は2TBだ!と思って作業をやめてしまっていました。
実際にはそんな上限はありません。
RAIDを組んで2TB超えるディスクをフォーマットの際にMBRからGPTにして、
その中でiSCSIターゲット用のvhdファイルは2TB以上に設定出来ました。

NFS共有

WindowsServer2008がNFSサーバーとなるように、
NFS共有の機能を有効化しました。

iSCSI検証

色々と躓くポイントはありましたが、VMwareESXiでのiSCSIを認識させる部分までは出来ました。
しかしながら、datastoreの作成で失敗してしまいます。
「Failed to get disk partition information」というエラーが出てしまいます。

ストレージアダプタの追加でiSCSIを設定し、2TB以上を見えるところまでは出来たのですが、
上記の問題のためそれ以上はテストできませんでした。

考察

VMware側の問題で、LUN1つあたり2TBまでしか対応していないというのが
マニュアルに記載されているようです。
そのため、この非対応部分に引っかかって、前述のエラーが発生するのではないかと考えられます。

NFS検証

iSCSIでの設定が嘘のように簡単にVMwareESXi側でマウント出来ます。
NFS共有の設定をしているドライブは2TBオーバーですが、それでも問題なく出来ました。

仮想マシンのディスクに2TB以上の設定を出来るかと試みましたが、
これについては出来ないようです。

結論

個人的な結論ですが、複数台使っての環境構築ではNFS共有の利用のほうが有効な気がします。
性能面でいえば、iSCSIのほうが良いのかもしれませんが、
巨大なデータストア(2TB over)を持ちたい場合にはNFSのほうがいいでしょう。


すでにVMwareWorkstation 7.1


VMwareWorkStation 7.1

いつの間にかVMwareWorkstation 7.1が出ていたようです。
大きな機能は7から変わっていないですが、このVer 7はやっぱり凄いなと思います。

嬉しい機能

  • 仮想ディスク 2TBまでサポート
    • 今までが 950GBという上限だったようです。知らなかった。
  • 仮想マシン内でのOpenGL/DirectXの使用
    • 内部からシェーダー使えるようになります。
    • 情報によると、VTFの機能は使えないようです。

7は買おうと思っているのに、未だに買えず。
この7.1では、Intel Core i3,5,7等に最適化も進んだと言うことなので、
PC新調したタイミングで同時に入れたいかも。