VMware : してログ

12

容量が足りなくなった仮想マシン(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

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

ゲスト 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メモリなんかにインストールしなくても良かったです。

USB メモリにセットアップすれば、サーバーをディスクレスにでき、環境のバックアップも簡単に行えます。 ハイパーバイザの容量が 150MB 程度しかないため、数百円で特売されているような USB メモリで十分です。 ただ、USB メモリが飛び出していると破損させてしまう心配があるので、RUF3-PS8G-BK のような出っ張らないタイプの製品がお勧めです。 または、マザーボードから USB ポートを筐体内に出して USB メモリを内臓してしまう、というのもアリかなと思います。

セットアップの手順

セットアップ対象の USB メモリ自身に、インストーラを作成できるため、光学メディアなどが無くても大丈夫です。 用意した ISO イメージは UNetbootin というツールで USB メモリに書き込みます。 ただ、今のバージョンではセットアップ途中でのドライバ追加はできないので、必要であれば ESXi-Customizer というツールで ISO に書き込んでおく必要があります。 基本的には、ネットワークインターフェイス(Intel 製が無難)に気を付けて、予め CPU の VT 関係の設定を UFIF(BIOS)で有効にしておけば良いです。

USB メモリのバックアップ

セットアップが終わった時点で、USB メモリをバックアップしておくと、トラブルのとき安心です。 バックアップには DD というディスクイメージをコピーできるツールを使います。 Windows 用には DD for Windows というツールがありますが、これで作った複製では起動しませんでした(BANK6: not a VMware boot bank, No hypervisor found となってしまう)。 動いた報告もありますが、無難に Linux の DD コマンドを使いましょう。 手元に適当な Linux が無い場合は、Ubuntu などの LiveCD で起動すれば良いでしょう。 具体的な手順は下記の通りです。

  1. USB メモリを刺す
  2. dmsg コマンドでデバイス名を取得(直前に認識した USB デバイスの情報の中で sdc などの名前で確認します)
  3. DD コマンドでとりあえずファイルにダンプします
    dd if=/dev/sdc of=esxi.img
  4. 同容量 or それ以上の USB メモリに差し替えます
  5. もう一度 dmsg でデバイス名を確認しておきます
  6. DD コマンドでリストアします
    dd if=esxi.img of=/dev/sdc

USB メモリは、読み込みは割と速くても書き込みが遅いので、気長に待ちましょう。


追記

後にアクセス速度、安定性、耐久性などの面から、小容量の SSD のほうが適していると考えを改めました。 価格的にも 32GB 程度なら、Transcend や Sandisk 製でも 4,000 円程度で買えます。 少し大容量にして、高速なデータストアと共存させても良いですが、この値段なら分けておくのが良いと思います。

久しぶりに VMware Player の環境を起動したら、ゲストOSからブリッジ接続できなくなっていました。 先だって、VMware Player のアップデートをしたのが原因かと思って、見当違いの試行錯誤をしてしまいました。 似たような症状で困っている人がいると悪いので、メモを残しておきます。

仮想マシンのネットワーク設定がブリッジになっているとか、そういう基本的な設定は出来ているすれば、ホスト側のネットワークアダプタを確認しましょう。 物理ネットワークアダプタ以外に、仮想ネットワークアダプタがインストールされている場合があります。 特に、他の仮想化ソフトウェア(Virtual BOX など)がインストールされていると、そういう状態になっています。 この場合、物理ネットワークアダプタ以外(要はインターネットに出れるアダプタ以外)のプロパティを開き、「VMware Bridge Protocol」のチェックを外してください。 これでゲストOSから、インターネットに出ていけるようになると思います。

あと、関係ないけど VMware Tools のアイコンが、通知エリアやプログラムメニューにも無いんですが、何かおかしいでしょうか。 とりあえず、使えているので問題は無いのですが、今まであったものが無くなると、何となく気になる。

12