「 vmware 」一覧

ESXi のカスタムディスクを作る (6.x系)


ESXi 6.x では今のところドライバ入りのカスタムディスクを作る方法が従来と異なるようです。
ここでは自分が作成した方法を紹介したいと思いますが、手順がおかしいかもしれないので参考にする際にはご注意下さい。

必要なツールのインストールと必要なファイルの準備

今回も VMware vSphere PowerCLI が必要になります。これを事前にWindows環境へインストールします。このとき .Net Framework も必要になるのでインストールされていなければそれもその前にインストールしておきます。また、 ESXi Customizer PS というツールも利用します。このツールは割と有名らしいのですが知りませんでした。exe版が昔からあるようですが、今の最新は PS (PowerShell) のものかと思われます。

これらのPS は C:/esxi60 に配置しておくものとします。

必要なドライバなど

ドライバ類は以下のものを用意しました。またこのドライバ類は、 C:/esxi60 以下に配置してあります。
以前と同様、これらドライバの配布してくれているサイトとして https://vibsdepot.v-front.de/wiki/index.php/Welcome を使用しました。

  • net-e1000e-3.1.0.2-glr-offline_bundle.zip
  • net-r8139too-0.9.28-1-offline_bundle.zip

ここでスクリプトがオフラインバンドルとして認識するためにこれらの名前は変更せずに配置します

イメージの作成手順

インストールした PowerCLI を管理者権限付きで起動します。そして ESXi-Customizer-PS を実行します。ドライバ類を入れたディレクトリの指定だけすればOKなので、作成は非常に簡単と言えると思います。

上記のように手元ではちょっとエラーが出てしまうこともありますが、問題はなさそうです。これで作業フォルダの esxi60 に iso ファイルがダウンロードされ、 VIB を含んだものが作成されます。
あとはこれをディスクに焼くなり USB メモリに入れて対象マシンにインストールすればよいでしょう。ドライバがダメだったら再びやり直しです。


ESXi のカスタムディスクを作る (5.x系)


ESXi 5.x のあたりからドライバを含んだディスクを作れるようになりました。標準で非対応のオンボードNICを使いたい場合にはこの作業は必須項目だったりします。今までドライバを含んだディスクを作ることはなかったので、ちょっとやってみました。
初めてやってみたので、以下の内容にはまずい点がある可能性がありますので参考にする際には注意して下さい。

必要なツールのインストールと必要なファイルの準備

VMware vSphere PowerCLI が必要になります。これを事前にWindows環境へインストールします。
このとき .Net Framework も必要になるのでインストールされていなければそれもその前にインストールしておきます。

使用したファイル

今回は VMware-ESXi-5.5.0-1331820-depot.zip を使用しました。これも My VMware などからダウンロードして適当な場所においておきます。今回の例では C:/esxi55 という場所に配置しました。

そして必要とするドライバについては C:/esxi55/offline 以下に置くことにしました。
これらドライバの配布してくれているサイトとして
https://vibsdepot.v-front.de/wiki/index.php/Welcome
を使用しました。今回NIC用として選んだのは以下のファイル達です。

  • net-e1000e-3.1.0.2-glr-offline_bundle.zip
  • net-r8139too-0.9.28-1-offline_bundle.zip

イメージの作成手順

インストールした PowerCLI を管理者権限付きで起動します。そして Add-EsxSoftwareDepot コマンドを実行します。
以下の今回の例を示します。

続いてドライバのファイルらを追加登録します。

ここで Get-EsxImageProfile コマンドを実行して名前を確認します。この名前は後で使用するため確認しておきましょう

Get-EsxSoftwarePackage コマンドを実行してドライバ達が含まれているか確認します。
基本的に VMware 外のファイルが含まれているか、という観点で見た方が早く見つかるかと思います。
以下に一部を抜粋しておきます。

確認出来たら Export-EsxImageProfile のコマンドで iso ファイルを作成します.以下に実行例を示します。

これでカスタム iso が出来たので後はインストール対象マシンで使用することが出来るはずです。

Image Profileのリスト

次のサイトで公開してくれているようでした。参考までに紹介しておきます.
http://www.virten.net/vmware/vmware-esxi-image-profiles/#esxi5.5


ESXi 5.5について


Realtek の NIC を有効にしたまま ESXi 5.5 を試してみようとがんばってみました。先人の情報があるのでこの部分については楽にできました。

ESXi 5.0 を USBメモリに展開してインストール

まず ESXi 5.0や 5.1 をインストールします。光学ドライブを非搭載だったので USB メモリからインストールしました。
その後、sshで他のPCからログインして操作したいので、sshを有効化します。
5.0からはパスワードログインできなくなったので、ESXiにて Alt+F1でshellに入って設定を変更することが必要です。

/etc/ssh/sshd_config を開いて、PasswordAuthentication no の行を yes に変更。
その後、 /etc/init.d/SSH restart で sshの再起動でOKです。

ESXi 5.5 をインストール(アップグレード)

sshなり管理用コンソールなりで下記コマンドを実行して、5.5へアップグレードします。

ESXi 5.5でわかったこと

仮想マシンのバージョンが 10 が使用可能になり、このバージョンにあげてしまうと無料のvSphere Client でマシン構成の変更ができなくなるという情報があります。これがとても気になっており、不安だったのですが試してみてわかったことがあります。それは、デフォルトで作成した仮想マシンはまだバージョン8のままであるということでした。明示的に仮想マシンのアップグレードを行わない限りはまだ運用できそうです。
 続いて GPU パススルーが簡単にできるようになったという情報がありましたが、手元で試した RADEON 6850や7750では正常に Windows7ゲストにパススルーできませんでした。起動時にエラーが出るのですが VMK_MEM_ADMIT_FAILED というもので、例のメモリホールの話じゃなかったのでここでひとまず詰みでした。もしかすると CPU やチップセット側に問題があるのかもしれません。最近の IvyBridge以降の対応CPUを使って、廉価版ではないチップセットならば正常に動作するのかもしれません。

最後に1点わかったこととして、VMware Workstation 10 を持っていれば、仮想マシンバージョンを10に上げてしまったとしても vSphere Client の代わりとして Workstation 10 を使って編集することができます。これでも注意点があって、PCIデバイスのパススルーに関しては設定ができないようです。単純な仮想マシンならばこれで可能なのですが・・・同様にUSBデバイスのパススルーに関しても同様。vSphere Client がないと設定はできないようでした。

感想としては、ESXi 5.5 は通常運用はできないかなと。全てがWorkstaion 10から操作できるのであればまだよかったのですが、vSphere Client がほしい場面がありそうですし、設定項目が全て見えてこないという点でも難があります。


VMwareWorkstation8.0出てた


つい最近のようですが、VMware Workstation 8.0が出ていました。
早速、アップグレードで購入してみました。

今回の目玉機能としては、共有VM機能でしょうか。
これは、別PCで動いてるVMware Workstaionに接続して、
手元で動いているかのように見せてくれる機能です。
まあ、画面だけを手元のVMware Workstaionで表示しているだけだったりはしますが。
この部分はvSphere Clientに近い使用感と言えると思います。

他の機能としては、ちょっと試してはいないですが、3Dグラフィックスの性能向上、仮想マシン内でESXiを動かし、その中でさらに64bit仮想マシンを動かすことも出来るようになったみたいです。
昔はESXi on VMwareの中で 64bit仮想マシンは起動できなかった覚えがあるので、この部分の改良でしょうか。

気付いた点

  • 付属のVMware Playerが 4.0になった!
  • 物理マシンを仮想化するための機能が搭載されている模様.
  • UIがすっきりした。
    • なんとなくですが操作しやすくなった気がします

ESXiとの連携について

vSphere ClientでESXiに接続していましたが、VMware Workstation 8.0でもESXiに接続できるようになっています。普段利用するWorkstationのほうからESXiに接続できるのは便利ですね。
おかげでvSphere Clientを起動してESXiにアクセスする頻度はかなり下がりそうです。


ESXi 5.0でびっくりした


ESXi 5.0で機能強化された点に3Dグラフィックスサポートがありました。
Windows Vista/7でAeroが有効にできるというシロモノのようです。

前回の時にはVMwareToolsをインストールしても有効にならなかったので、
諦めていたのですが、今回有効に出来たので日記に記載しておきます。

やり方は実は簡単で、以下の設定だけでOKでした。

  • 仮想マシンの設定で、”ビデオカード”-“3Dサポートを有効化”にチェック

これだけです。
そして仮想マシンを再起動すればOK.
もしかするとテーマの選択でAeroを再設定する必要はあるかもしれませんが。

この結果、vSphere Clientのコンソールの画面でも、
Aeroが有効になっている状態で表示されます!!

・・・あー、おそらく仮想マシンはVersion 8形式で作らないとダメかもしれません。


ESXi 5.0を試す


先週に公開されたvSphere Hypervisor ESXi 5.0をダウンロードして、
実験マシンにインストールしてみました。

インストール直後に、”お!”と思ったポイントをあげてみます。

  1. RealtekのNICがデフォルトで認識された!
  2. 画面が広くなった。
    1. 文字しかないコンソール画面なのであまりメリットはないですが。
  3. データストアに”非SSD”なる文字が。
    1. SSDを認識するってことですか、これは。
  4. vSphereClientに表示されるメモリ使用量がなんかアテにならない?

さて、vt-dそなえた環境なのでVMDirectPathをまた試してみました。
Intel HD Graphicsをメインとして、RADEON HD 5450を増設し、
これをパススルーできるか試してみたところ、失敗。
AMD製CPUとの組み合わせなら、うまくいったという話もあるし、
IOMMU機能についてはAMDのほうが充実なのかもしれません…


ESXi4.1での蟹NICについて


ESXi 4.1上でRTL8111/8168を使える設定にしておいて、
しばらく放置していたために発覚しなかった点があった…。

たまたまの問題かもしれないが、H55のチップセットで、
このNICしかない状態でESXiを起動し、Windowsゲストを起動させたところで
うまく動かない点を見つけてしまった。

症状は、以下の2点確認できた。

  • 仮想マシン内のNICにDHCPでアドレスが割り当てられないこと。
  • 固定IPを手動で振って、検索エンジンへWebアクセスさせたがBadrequestになってしまう点

どうもうまく機能していないんじゃないかと思う。
これをIntel NICに取り替えてみたところすんなり動いたし。
やっぱりESXiはIntelのNICを準備しておかないとダメっぽい。

なおこの実験やってる最中に、手持ちのIntel PRO/1000MTが死亡しているのを確認。
家に在庫があっても故障していたりするし、困ったもんだ…。


ThinkPadでESXi 4.1を動かす


購入したばかりのThinkPad T420ですが、
早速VMware vSphere Hypervisor(ESXi 4.1)を使えるかどうかを確認してみました。

インストールディスクからインストールを試みる

VMwareのサイトからダウンロードできるisoイメージをCD-Rに焼いて、
インストールを試みてみました。

しかしながら、VMFSのモジュールを読み込んだあたりでロード失敗、
その後インストール処理を出来ないという状態になりました。

よって、USBメモリにESXiシステムを入れて試してみます。

USBメモリに本体を入れる

過去の日記 の”ESXiをUSBメモリに展開”の項と同じことをします。
imagedd.bz2を展開して、それをDD for Windowsを用いて書き込むだけです。

内蔵NICを認識させる

幸いにしてT420の有線内蔵NICはIntelの82579LMでした。
これはモジュールを置き換えることでESXiで使用可能です。

基本的には 過去の日記にもあるように、
USBメモリ内のモジュールデータを使用するNICに対応したものに置き換える作業をします。

VMware PlayerでCentOSをいれた仮想マシンを用意します。
そして、ESXiインストール済みUSBメモリをそのCentOS仮想マシンからマウントします。

http://www.vm-help.com/forum/viewtopic.php?f=12&t=2194&p=11181#p11181

上記のURLからoem.part1.rar, oem.part2.rarをダウンロードし、
oem.tgzを取り出します。

そして、CentOS側でHypervisor1として見えている領域の中にあるoem.tgz を
今展開したoem.tgzで置き換えます。

(VMwareToolsが入っている環境だと、Windows側からファイルをD&Dしてコピーできます)

こうやって作ったUSBメモリからESXiを起動させるとネットワークも使用可能となります。

まとめ

ノートPCにESXiを入れるという記事は、最近のものではあまり見かけませんでした。
今回自分がノートPCを購入する際にこの情報を検索して困ったので、日記にしてみました。
2011/06/02現在で購入できたThinkPad T420ではESXiを動作させることが出来ました。

また、心配していた内蔵HDDも認識できたので、
このノートPC単独でESXiサーバー運用ができそうです。

さすがThinkPadといったところでしょうか。

その他

内蔵HDDにシステム本体もインストールすることについては、
深追いしていないです。もしかするとAHCIのモードを変更することで、
インストールも普通に出来るようになるのかもしれません。

それとvt-dを有効化したので、デバイスパススルーもできるようでした。
ただ実際にパススルーして運用できそうな物は、USB2とAudioとの2つくらいかと思われます。
内蔵NICはパススルーしてしまったら操作不能になってしまうので。


ESXiから仮想HDDをコンパクトに取り出す


ESXiから仮想マシンを取り出したときの仮想ディスクに対する実験です。
vSphere Clientを使ってのデータストアからの取り出しやVeeam Backupを使ってのコピーでは、仮想ディスクは指定した全容量を占めるようになってしまいます。
これをThinディスク(シンディスク)としてコンパクトにする方法を調べてみました。

まずは自分がやった作業手順を説明し、最後に無駄のない方法としてまとめてみます。

対象仮想マシンの環境

今回対象とするのはコマンドラインしか存在しないシンプルなCentOSがインストールされた状態のものです。
デフォルトでインストールされているので、LVMによるパーティション割り当てが行われています。

また使用状態が長く続いたため、仮想ハードディスクも容量ぎりぎりまで使った形跡有りです。なお現時点では余計なデータは削除されているため使用容量は全体の10%程度に収まっているという状況です。

仮想マシンがWindows環境というものならば、VMware Toolsでディスクのシュリンクが出来るため今回説明するような手順は不要だと思われます。

作業手順

  1. ESXi内にある仮想マシンをvCenter Converterを用いてWindows環境に取り出す
  2. VMware Workstationで取り出した仮想マシンを起動
  3. 起動後、空き領域をゼロで埋める
  4. ゼロで埋めた後、仮想マシンをシャットダウンする
  5. 仮想マシンを再度vCenter Converterを用いて変換する

最後に変換した仮想マシンに含まれる仮想ハードディスクのファイルが見事、使用サイズ分程度に小さくなることを確認できました。

必要なのはおそらく仮想ハードディスクの空き領域をゼロで埋めることです。
これをESXiの中に位置するときに適用しておけば、上記の手順をいくらか省くことが出来そうです。

なお、ゼロ埋めするのには以下のコマンドで行いました。

まとめ

  1. ESXi内にある処理対象の仮想マシンで、空き領域をゼロで埋める
  2. ESXi内の処理対象の仮想マシンをシャットダウンする
  3. 取り出し先(Windows側)で、VMware vCenter Converterを起動し、対象の仮想マシンを変換する
    1. このとき、仮想ハードディスクの種類が”事前割当なし”になっているか確認しておくといいかも。

変換後、仮想ハードディスクが使用容量分程度しかサイズを消費していないことを確認してみてください。

もしうまくいかないようであれば、仕方ないですが一度取り出して、地道にやってみるしかないのかもしれません。

おまけ

ESXiのデフォルトが事前割当有りのシックディスクであり、
そのため単純な取り出しでは全容量喰ってしまうのでは?という意見がありました。


Windows7SP1とVMwareWorkstation7


Windows7 Professional with SP1の環境で、VMware Workstation7を使うようになったら、仮想マシンの電源をONにしたときにエラーメッセージが表示されるようになった。

「仮想マシンがメモリの予約できません。再試行 (R) を選択し問題が解決しない場合は、まず使用していないプログラムを終了して、メモリを解放してください」

十分なメモリもある状況でこのメッセージが表示されるので、不思議に思っていたのですが、そういえばVMware Workstation7のほうがWindows7 SP1に正式対応をしていないことを思い出したので、アップデートを確認。
すると、SP1に対応した物が既に公開されていました。

これをインストールしたところ、今回の問題は解決しました。(ver 7.1.4に更新)

この情報はKnowledgeBaseにも掲載されているようで、既知の問題だったようです。

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1036185

同様の問題が VMwarePlayerのほうでも起こるらしいので、SP1適用済み環境の場合には更新しておくべきですね。