ESXi : してログ

12
こんな感じでなぜか起動しません
こんな感じでなぜか起動しません

新しい ESXi ホストを構築するのに 6.5 を入れてみました。管理クライアントがウェブベースのものになって使い勝手が良く、新しめの Windows マシンは問題なく動作しました。ただ、古い WindowsXP や Windows 2000 Server が起動すらしない現象が起こります。新規に仮想マシンを作ってみたり、VMのバージョンを落としてもダメです。また、旧 VMware 製品で動いていたインスタンスをコンバートしても同様でした。これ何なんだろう? ネットで当たっても中国語で質問してる人がいるくらいで、他に報告や回答は見つからないです。

「仮想マシン win2000sv のパワーオンに失敗しました。仮想マシンから切断されました。 詳細についてはここをクリックしてください。 」

  • 状態:失敗 - 仮想マシンから切断されました。
  • エラー:
    仮想マシンから切断されました。
    トランスポート接続 (9) を確立できませんでした: There is no VMware process running for config file ... win2000sv.vmx。
    リモートが切断されました

ちなみに古い Linux マシンは動作しました。今回は古い Windows を動作させる必要があるので、仕方なく 6.0 を採用したいと思います。あまり同様の情報が無いので、環境に依存した問題なのかも知れません。何かご存じの方はコメント欄にてご教授ください。

追記:バージョン下げて試験

6.0でも同じだった
6.0でも同じだった

結局 6.0 でもダメで 5.5 まで落としたら動作するようになりました。この症状ですがストレージの参照は普通にできますので、アクセスに問題があるようには思えません。また、仮想マシンの作成で Windows7 など選んだ場合は起こりません。問題は仮想マシンの設定ファイルにありそうなので、何が違うのか見比べてみようかと思います。

追記:調査結果

どうやらゲストOSの種類で“Windows 2000 Professional”/“Windows 2000 Server”を選択すると起動できないっぽい。起動しない“Windows XP”もアップデートしたもので元々の種類が 2000 Pro だったようです。試しに、“Windows 2000 Server”で新規作成し、設定編集でゲストOSを“Windows XP”に変更しただけで起動しました。他に問題無いか、もう少し調査してみます。

追記:結局のところ

新しく仮想マシンを作る場合は、“Windows XP 32bit”で作成して Windows 2000 をインストールすればいいと思います。既存の Windows 2000 仮想マシンを持ってくる場合は、設定ファイル(vmx)をテキストエディタで開いて無理やり変える、という対応で今のところうまく行っています。

guestOS = "win2000"

このようになっている部分を次のように変更します。何か不具合が起きるかも知れませんので、自己責任でお願いいたします。

guestOS = "winXPPro"

ちなみに、別ハードの 6.0 では Windows 2000 のゲストOS設定でも起動するので、何らかのハードウェア絡みの問題と思われます。

容量が足りなくなった仮想マシン(WindowsXPのシステムディスク)を拡張する方法をメモしておきます。再インストールすることなく、簡単に容量を拡張できるようです。

  • 拡張する仮想マシンは停止しておきます
  • ESXiのSSHを有効にして、適当なターミナルで接続します
  • システムディスク(vmdk)を調べておき、"vmkfstools -i winxp.vmdk -d thin winxp_ex.vmdk" のようなコマンドでコピーします
  • 仮想マシンの設定を開き、コピーしたディスクを追加します
  • コピーしたディスクの設定で容量を増やしておきます
  • 仮想マシンを起動し、ディスク管理で確認しておきます
  • コマンドプロンプトを開き、"diskpart" を実行します
  • "list volume" のコマンドで、追加してディスクの番号を確認します
  • "select volume 2" のコマンド(番号は確認しておいたもの)で操作するボリュームを選択します
  • "expand" コマンドで残り容量分を拡張します(即反映されるので注意)
  • "exit" で終了します
  • 仮想マシンをシャットダウンし停止させます
  • ESXiのSSHに戻り、今までのシステムディスクを削除します
  • 拡張したシステムディスクをコピーで戻します "vmkfstools -i winxp_ex.vmdk -d thin winxp.vmdk"
  • 仮想マシンを起動して、拡張されていれば完了です

VMware ESXi 5.5 の必要メモリは 4GB ですが、それぎりぎりのマシンだと、3.75GB などと認識されインストールできないようです。 余った Core2Duo のマシンに入れようと思いましたが、それ用の DDR2 メモリが 2GB のモジュールしか手に入らず、マザーボードのスロットが2つしか無くて詰んでしまいました。 仕様では 8GB まで搭載可能らしいのですが、4GB のモジュールは ECC Registerd しか無いようです。

他の方法ですが「VMware ESXi 5.xで4GBのメモリを入れているのにインストール出来ない」に、インストール時の判定を緩めて無理やりインストールする方法が紹介されていました。

複数の仮想マシンから、仮想ディスクを共有できるらしいので、実際に試してみた。 概ね下記のような手順で間違い無いと思うのだが、複数の仮想マシンで使用するとディスクが壊れる。

  • シックプロビジョニング(Eager zeroed)で仮想ディスクを作成する
  • ハードディスクを、新しい SCSI コントローラのもとに、独立型ー通常で追加する
  • 追加された SCSI コントローラを、SCSI デバイスの共有ー物理(あらゆるサーバー上の仮想マシンで共有)に変更する
再起動するとスキャンディスクが走る

同じように追加した仮想マシン(XP と Windows 10)間で、別のマシンで書き込んだファイルは F5 などを押しても表示されない。 再起動をすると、チェックディスクが走ってファイルが消えてしまうので、危なくて使っていられない。

同時に起動はできるみたいだが、この仮想ディスク共有の設定は封印したほうが良さそうである。

相変わらず、VMware のサイトって分かり難い。 最新版の VMware vSphere Client(ってか製品名自体が覚えにくいんだよな)をダウンロードしたい、といった要求をストレート満たしてくれる情報がありました。 日本語ページの情報は古いことが多いので、最初から英語ページを見るのが良いと最近気づきました。

https://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=2089791

現時点での最新版をピックアップしておきます。

ESXi6.0 で作った仮想マシンの Windows7 を Windows10 にアップグレードしようと思ったら、上記のように VMware SVGA 3D に互換性が無いということで無理なようです。 実は別環境(ESXi5.5)の仮想マシンはアップグレードに成功していて、できない訳は無いと思うのですが、この画面からは埒があきません。 以前、ISO をダウンロードしてインストールする方法の記事をどこかで見たので、それを試してみることにしました。

こちらの Microsoft のサイトに行ってみると、ISO イメージをダウンロードするのではなくて、作成ツールがダウンロードできるみたいです。 さっそく「ツールを今すぐダウンロードする」を試してみると、普通にオンラインインストールが開始され、普通にインストールが完了してしまいました。 互換性が無い警告はいったい何だったのか、作成ツールとは何だったのか、イマイチ分かりませんが、とりあえず目的は達したようです。

それにしても最近の Windows は分かりにくくなったなあと思います。 アカウントもローカルと Live と別れていて使いにくいし、コントロールパネルと設定とか似たようなのが多すぎです。 まだまだ、タブレットとデスクトップの統合がうまく行ってない感じでしょうか、今後のアップデートでブラッシュアップしていって欲しいですね。

ゲスト OS のインストーラが起動しないどころか、BIOS の画面も出ない現象が起こっています。 起動させても、真っ暗なまま CD は反応して高速回転したりしますが、ブートメニューは疎か vmware のロゴすら表示されません。 BIOS から EFI に変更すると、最初の画面は出るもののインストーラは途中で止まってしまいます。 その他、設定をいくら弄っても改善せず、どんどん変な方向に嵌っていってしまいました。

仮想マシンのデバイス関係かと思いましたが、vShere Client のコンソールが画面を更新できていないだけでした。 どうも、ディスプレイモードが変わるときに更新ができなくなって真っ暗になるらしく、最初から発現すると BIOS 画面や vmware のロゴも表示されないという状況になるようです。 この状態になったら、コンソールを開きなおすことで再度表示されるようになるようです。

分かってしまえば、画面が真っ暗なまま、ただ気づかなかっただけでした。 インストールが済んでしまえば、リモートデスクトップで接続できるので問題無いですが、早くバージョンアップして直らないかな…。

ESXi サーバーを SSD 化するのに伴い、5.5u1 から 6.0u1 までアップグレードしようと作業していましたが、起動中にこの画面が表示されて停止してしまいます。 しかも同じ条件で起動に成功することもあるし、ただ再起動しただけで停止したりと、とにかく不安定な状況でした。 ひとつひとつ原因を探ってみましたが、現在のところ特定には至っていませんが、マザーボード(チップセット)か UEFI ファームウェアに原因がありそうです。

仕方が無いので 5.5 build 3343343(にしてもすげービルド番号だ)をインストールして様子を診ているところですが、こちらは今のところ問題ありません。

問題の発生する環境
  • マザーボード:ASRock Z87 Pro3/Pro3 C2(Z87 1150 DDR3 ATX)
  • CPU:Intel i7-4770K
現象の詳細
  • 起動中(またはセットアップ中)に突然、パープルスクリーンに切り替わり「checksum BAD」と表示され停止する
  • 停止するタイミングは決まったパターンが見られない
  • インストーラは、CD ブート、USB ブート問わず発生する
  • インストールできた場合でも、起動中に発生することがある(SSD、HDD、USB メモリを問わず)
  • 試行錯誤中、UEFI のブートドライブが表示されなくなることが何回かあった
  • 起動に成功した場合は、リモートから接続してゲスト OS を起動したりしても特に問題は無い
SATA 関係が怪しいが…

UEFI(最近ようやく“ウエファイ”って読むことにしたよ)で散々あれこれやってみても結局解決しない。 チェックサム不一致ということなので、HDD の読み書きが疑わしいのだが、SSD や USB メモリなど異なるデバイスでも起こるときは起こる。 終いには、CD でブートしている最中にも停止したのを見て、もしこれらのコントローラが原因なら BIOS アップデートかな、と。

次にメインメモリを疑う

とりあえず 8GB × 4 だったので、適当に1枚を選んで試す、全部試さなかったけど改善せず。 メモリ検査ツールを探したら、Memtest86+ というのが良いということで、2時間ぐらいかけて1パス完遂してみたが、何のエラーも報告されなかった。


追加:BIOS アップデートしてみた

本当はショップの BTO で組んだ PC の場合、リテール品のマザボと微妙に異なる場合があるので、メーカーからの BIOS アップデートはしない方が良いのだが、一縷の望みをかけて実行してみました。 インストールは問題なく終わったものの、初回の起動時にパープルスクリーン、はい終了。 次の ESXi アップデートで直ることを期待して、5.5u2 を使うしかないようです。

これは、VMware ESXi 6.0 についての私的メモです。 VMware のサイトでは、なかなか目的のページに行くことができないことが多かったり、バージョンの Update 1 とビルド番号が分かり難かったり、メモしておかないと分からなくなるので。

必要ファイルへのリンク
VMware vSphere Hypervisor 6.0 (ESXi)
正式名称が違うので戸惑いますが、これが ESXi になります。私が試したときは、6.0u1 が英語サイトにしか無かったのですが、現在は日本語サイトのほうにもあるようです。ダウンロードする場合は、ISO イメージと共に、vSphere Client とライセンスキーも忘れずに取得しておきましょう。なお、後述の PowerCLI + ESXi-Customizer-PS を使うとこれより最新のものをダウンロード(6.0 としてダウンロードしますが update 1 より新しいものです)できるようです。
VMware vSphere PowerCLI 6.0 Release 3
PoworShell 用コマンドラインツールです。インストール後の実行には、管理者としての実行が必要です。
VMware vSphere CLI 6.0
従来のコマンドラインツールです。
最新のパッチファイルのありか
手動でのアップデートになります。
V-Front Online Depot for VMware ESXi
未サポートのネットワークドライバやツールがあるサイトです。
UNetbootin
ISOイメージから Live USB を作成するツールです。USBメモリーからブートしてインストールさせたいときに使用します。
インストール前のあれこれ
今のところのベスト構成
ESXi 本体をローカルの SSD(小容量で良い)にインストールし、ゲスト OS は iSCSI にするのが良いと思われる。
カスタム ISO の作成
以前は ESXi-Customizer というツールで作成していましたが、今は ESXi-Customizer-PS という PowerShell のスクリプトを使って、最新の ESXi イメージファイルとドライバの追加ファイルをネットからダウンロードして ISO を構成するようになっています。従って、ESXi の ISO イメージもダウンロードする必要はありません。具体的に用意するものは、vSphere PowerCLI と ESXi-Customizer-PS で良いはず、なのだが今のところうまく行っていません。とりあえず、旧ツールを使っても作成可能なのでダメならそれで(でも旧ツールは Windows10 で動かないんだけど…)行こう。恐らく最新版で何か変わったのだろう。
Intel i7-4770K だと"Initializing IOV"でフリーズしてしまう
起動オプションに「noIOMMU」を加える。インストールメニューで[TAB]を押す、起動時なら Shift + O、恒久化したい場合は、(SSH で接続して)/bootbank/boot.cfg の kernelopt に加える。
The system has found a problem on your machine and cannot continue. Chipset initialization failed.
この環境に限り ESXi6.0u1 だとインストールできる(update 1 じゃないとだめ)。
HARDWARE_VIRTUALIZATION WORNING: Hardware Virtualization is not feature of the CPU, or is not enabled in the BIOS
Intel VT-x などが搭載されていても出る場合は、UEFI で無効になっているので有効にする。
インストール後のあれこれ
ライセンスキーの入力
vSphere Client から「対象ホスト>構成>ライセンス機能>(右上の)編集…」で設定できる。
SSH を有効にする
vSphere Client から「対象ホスト>構成>セキュリティ プロファイル>(右上の)プロパティ>SSH」で設定できる。
ホストはパススルー構成をサポートしていません
Intel VT-d が UEFI などで無効化されているので有効化する。なお、i7-4770K などは VT-d を利用できないので、CPU の選定は慎重に行うべき。
サーバ「vsphereclient.vmware.com」から、必要なクライアントサポートファイルを取得できません。
ESXi サーバーと vSphere Client のバージョンが違っている場合に表示され、ログインができない。サーバーより高いバージョンを使えば良さそうだが、その場合でもサポートファイルとやらを取得できた試しが無く、必ずバージョンを合わせた vSphere Client を用意する必要がある。
仮想マシンのクローンやデータストアのお引越し
ESXi では簡単にクローンなどが出来ない。いくつか方法はあるが、vmkfstools コマンドで行ったほうが良い。vSphere Client のデータストア参照でコピー&ペーストや、VMware vCenter Converter でも作業できるが致命的に遅い。 また、シン・プロビジョニング(仮想容量)のディスクイメージが、シック・プロビジョニング(実用量)なってしまう。

USBメモリにインストールしてディスクレスにした ESXi では、「ホスト xxxxx のシステム ログは非永続性ストレージに格納されています。」と警告されます。 ログ出力先をネットワークストレージ(iSCSI)に設定しようと思ったのですが、設定方法が少し分かりにくかったので残しておきます。

  1. ログを置くストレージに専用ディレクトリを作る
  2. vSphere Client > ホスト名 > 構成 > 詳細設定 > Syslog > Syslog.global.logDir
  3. 例えば、ストレージが“strage1”、ディレクトリが“/logs”、とすれば“[strage1] /logs”を入力します
  4. [OK] を押して適用します

これでログが残るようになって一安心です。 しかし、よくよく考えてみると iSCSI にログディレクトリを置いた場合、ネットワーク切断時に原因を追えなくなってしまいそうです。 なので、ローカルディスクをインストールすることにしました。 でも、ディスクレスは維持したいので、インストールするのは SSD(32GB 程度の小サイズなら数千円で買えます)です。 今さらですが、USBメモリなんかにインストールしなくても良かったです。

12