VMware VMテンプレートのすべて
大規模な仮想環境において、多数の類似したVMを手動で展開するのは、単調な作業になりがちです。VMwareは、vSphere仮想環境において仮想マシン(VM)のクローン作成のための複数の方法を提供しており、その一つがVMテンプレートの使用です。本ブログ記事では、VMテンプレートの仕組み、カスタマイズ方法、活用事例、およびメリットなど、あらゆる側面について解説します。また、VMテンプレートとVMクローンの概念についても比較します。
VMテンプレートとは何ですか?
VMテンプレートとは、VMディスク、仮想デバイス、および設定を含む仮想マシンのマスターコピーイメージのことです。VMテンプレートは、VMのクローン作成のために何度でも使用できます。一度作成されたテンプレートは、電源を入れて編集することはできません。これは、テンプレートとして使用されている仮想マシンが誤って編集されるのを防ぐための設計上の仕様です。
このアプローチにより、VMのクローン作成においてより高いセキュリティ(およびより"確実な"方法)が提供されます。 テンプレートからVMをクローンした後、VMクローンはテンプレートとリンクされず、独立した存在となります。テンプレートを編集したい場合は、テンプレートをVMに変換し、そのVMを編集してから、編集後のVMを新しいテンプレートに変換する必要があります。
VMテンプレートはどのような場合に使用できますか?
VMテンプレートは、VMの一貫性を維持できるため、類似したVMを大量に展開する際に役立ちます。例えば、テスト担当チームが、自社開発ソフトウェア製品の新しいビルドを搭載したVM上でテスト作業を行う必要があるとします。その場合、システムの管理者はVMテンプレートを作成し、それを必要とする各担当者に対して、そのテンプレートから同一のVMをクローンします。
テスト中に問題が発生した場合や、新しいテストシナリオを実装する必要がある場合でも、最小限の手間でテンプレートから新しいVMをクローンできます。LinuxやWindowsの仮想マシンから、さまざまなユースケース(テスト、開発、教育など)に合わせて複数のテンプレートを作成できます。テンプレートごとに異なるソフトウェアセットを含めることも可能です。あるテンプレートは財務チーム向けのVM展開に、別のテンプレートは開発チーム向けに使用するなど、用途に応じて使い分けることができます。
VMのクローンとVMテンプレートの違い
通常のVMクローンとは、特定の時点におけるソースVMの完全なコピーです。実行中のVMを定期的にクローンすると、生成されるクローン同士に差異が生じます。電源がオフの状態のVMをクローンするのが望ましいですが、標準的なクローン機能ではテンプレートの利点をすべて活用できるわけではありません。
VMをクローンすると、静的IPネットワーク、コンピュータ名、識別子などのすべての設定が、各VMクローンで同一のままになります。その結果、ネットワークの競合が発生する可能性があります。VMテンプレートは編集できず、また実行状態になることもないため、こうした問題を回避するのに役立ちます。VMwareは、VMクローンのゲストOSのカスタマイズを簡素化するツールを提供しています。
VMテンプレートと OVA/OVF テンプレート
OVA そして OVF テンプレートは、あらかじめ設定されたソフトウェアを仮想アプライアンスとして配布するために使用されます。 OVA そして OVF は圧縮ファイル形式です。これらは複数の仮想マシン(VM)を含めることができ、ソフトウェアが複数のコンポーネントから構成され、それらを別々のマシンに展開する必要がある場合に便利です。例えば、 NAKIVO Backup & Replication は、以下の形式で利用可能です 仮想アプライアンス (その他のデプロイオプションに加えて)。
仮想マシンのデプロイ OVA/OVF テンプレートの使用は、VMテンプレートからのデプロイと似ています。 OVA/OVF vCenterのインベントリからアクセスできます。また、ユーザーは以下を使用してVMを展開することもできます OVA/OVF ローカルストレージから(例: disk C: (ユーザーのコンピュータ上)、マウントされたUSBデバイス、およびvSphere Web Clientからアクセス可能なリモートWebサーバー。
The OVF (Open Virtualization Format) パッケージには、証明書ファイルや ISO 光学ディスクイメージファイルなどを格納できます。 OVA (Open Virtual Appliance) ファイルは、 TAR アーカイブファイル。複数の OVF ファイル。
VMテンプレートは圧縮されていません。これらはvCenterからアクセス可能な場所(ローカルのESXiデータストア、共有データストア)からのみ利用可能であり、顧客間での配布を目的としたものではありません。
VMゲストOSのカスタマイズ
ゲストOSのカスタマイズは、vSphereの機能の一つであり、ユーザーはVMクローンのLinuxまたはWindowsゲストOSの設定を変更することができます。従来の手法では、VMを手動で起動し、ゲストOSにログインした後、OSが提供するGUIやコマンドプロンプトを使用して、OSの各部分の設定を変更する必要がありました。
この方法は手間がかかり、多大な時間を要します。 VMwareのゲストOSカスタマイズ機能を使用すると、ゲストOSのカスタマイズ仕様を作成し、そのテンプレートから生成されるすべてのVMクローンにこの仕様を適用できます。IPネットワーク設定、ホスト名、ユーザー名、パスワード、タイムゾーン、ライセンス設定などを簡単に変更できます。 SID (セキュリティ識別子)、およびゲストOSのドメイン/ワークグループ。
注: LinuxとWindowsのカスタマイズパラメータは若干異なります。
仮想マシンのゲストOSカスタマイズを利用すると、便利で時間を節約できます。カスタマイズウィザードを使用すれば、わずか数ステップで一か所からクローン設定を構成できます。
LinuxおよびWindows仮想マシン用に複数のカスタマイズ仕様を作成することで、VMテンプレートからVMクローンがデプロイされた直後から利用可能になります。ゲストOSのカスタマイズ仕様を使用する場合は、要件を満たすようにVMを準備してください。
この目的のためには、ゲストVMに以下のコンポーネントがインストールされている必要があります:
- VMware Tools
Sysprepツール(Windows)Perl(Linux)- ネットワークツール(Linux)
ゲストOSは、SCSI 0:0 ノードに接続された仮想ディスクにインストールする必要があります。
お使いの vSphere のバージョンで、選択したゲストOSがサポートされているかどうかは、 VMware ゲスト OS カスタマイズ対応マトリックス.
テンプレート作成のための仮想マシンの準備
テンプレートを作成する前に、VMの準備を行う必要があります。ここでは、VMの準備における主なポイントについて見ていきましょう。
新しい仮想マシンの作成. 十分なCPU、ディスク、メモリリソースを備えた新しいVMを作成します。適切なVM互換性オプションを選択します。たとえば、もし ESXiを搭載したホスト 6.5 および ESXi 6.0 の場合、仮想マシンは ESXi 6.0 以降(仮想ハードウェアバージョン 11)と互換性があるはずですので、そのオプションを選択してください。必要に応じて、CPU を有効にすることもできます Hot Plug と記憶 Hot Plug; これにより、VMの実行中にプロセッサやメモリのリソースを追加することができます。
仮想マシンから使用していないデバイスを切り離す. 既存の仮想マシンを使用する場合は、仮想フロッピーディスクドライブや仮想 COM コントローラー、 LPT コントローラなど。ソフトウェアのインストール後にUSBデバイスやCD-ROMを使用しない場合は、それらを取り外しても構いません。この方法により、攻撃を受けるリスクを低減でき、結果としてセキュリティが向上します。また、仮想BIOSにアクセスし、VMのBIOSですべての不要なデバイスが無効になっていることを確認することもできます。
仮想マシンに必要なソフトウェアをインストールする. 仮想マシン(VM)にオペレーティングシステムをインストールします。その後、必要なすべての更新プログラム、セキュリティパッチ、ウイルス対策ソフト、および目的によって必要な特定のソフトウェアをインストールします。環境変数やリモートアクセスなど、OSの設定を行います。ユーザーおよび管理者用のパスワードを設定します。パスワードの有効期限は設定しないでください。これにより、アカウントがロックされるのを防ぐことができます。また、デフォルトのユーザープロファイルを設定することもできます。
VMware Tools のインストール. VMware Tools は、仮想マシン上で動作するゲスト OS のパフォーマンスを向上させ、仮想マシンの管理を容易にするドライバーおよびユーティリティのセットです。ゲスト OS に VMware Tools をインストールしてください。これは、VM テンプレートを使用する際の重要な要件です。なぜなら、テンプレートから仮想マシンを展開する際に、IP 設定、ホスト名、タイムゾーン、その他のゲスト OS 設定を変更するためのカスタマイズ仕様が適用される際、VMware Tools が使用されるためです。
仮想マシンから不要なソフトウェアコンポーネントを削除する. ゲストOSを最適化することで、VMテンプレートをより軽量化できます。以下は、Windowsシステム向けの一般的な推奨事項であり、VMの設定に役立つ可能性があります:
- ワイヤレスサービス、テーマ、Windows Audio、Windows Search など、不要なシステム サービスを無効にします。
- 無効にする
Windows Aero…というのは、膨大な計算リソースを消費するグラフィック効果が含まれているためです。 - スクリーンセーバーを無効にして、CPUリソースを節約しましょう。
- タブレットPCのコンポーネントをアンインストールします。
- "ゲーム"や"メッセンジャー"など、不要なWindowsコンポーネントをアンインストールします。
- 不要な起動アプリケーションやサービスをすべて無効にしてください。
- SSHサーバーのインストールに使用されたファイルを含む、一時ファイルを削除します。
- システムの復元は無効にできます。Windowsのシステムの復元機能の代わりに、VMwareのスナップショットを使用できます。使用するには NAKIVOソフトウェア VMをバックアップして、万全なデータ保護を実現します。
必要に応じて、ゲストOSのクリーンアップをさらに徹底的に行い、VMのパフォーマンスを最適化することができます。
以下のセクションでは、VMテンプレート(ゲストOSのカスタマイズ仕様を使用可能にするもの)を作成するために、Linux仮想マシンを設定する方法について説明します。この手順では、Xubuntu 16 x64を例に挙げています。また、テンプレートからVMをさらに複製するためのカスタマイズ仕様の作成方法についても解説します。
Xubuntu LinuxをゲストOS仕様のカスタマイズ用に準備するには、Linuxコンソール(ターミナル)を開き、root権限を持つユーザーとして以下のコマンドを実行します:
-
SSH経由でのリモートアクセス用にSSHサーバーをインストールします。
apt-get install openssh-server -
インストール後、SSHサーバーを再起動してください。
service ssh restart -
リポジトリからLinux用VMware Toolsをインストールします(VMware Toolsをインストールする別の方法として、仮想マシンの仮想CDドライブにISOイメージを挿入する方法があります)。
apt-get install open-vm-tools -
ネットワークツールキットをインストールしてください。
apt-get install net-tools -
Perl をインストールしてください。
apt-get install perlパッケージのインストールが完了したら、Linux VMのコンピュータ名とIP設定を確認してください。次のように入力します
ifconfigネットワークインターフェースのIP設定を確認するには。この例では、送信元VMが使用する仮想ネットワークインターフェースのIPアドレスは192.168.77.2です

VMテンプレートの作成
仮想マシンの準備が完了したら、VMテンプレートを作成できます。ESXiホスト、仮想マシン、ストレージ、ネットワーク、およびその他のvSphereコンポーネントを管理するには、vCenter Serverへのアクセス権が必要です。前述の通り、このブログ記事で取り上げる構成例では、Xubuntu Linuxを実行する仮想マシンを使用しています。VMテンプレートの作成には、"テンプレートへの変換"と"テンプレートへのクローン作成"の2つの方法があります。
テンプレートへの変換
仮想マシンをテンプレートに変換すると、元の仮想マシンはそのテンプレートに置き換えられるため、元の仮想マシンは利用できなくなります。仮想マシンをテンプレートに変換するには、以下の手順に従ってください:
- VMware vSphere Web Client を使用して vCenter にログインします。次に、
Hosts and ClustersまたはVMs and Templates、次に、変換用に準備したVMを選択します。 - VMをテンプレートに変換する際は、必ず電源がオフになっていることを確認してください。
- 仮想マシンを右クリックし、表示されるコンテキストメニューから、[
Template>Convert to Template. - 確認メッセージが表示されます:
Convert the virtual machine "VMname" to a template?クリックYes続行するには。

テンプレートへのクローン作成
このオプションを使用すると、元のVMを保持したまま、VMのデータをテンプレートにコピーすることができます。VMをテンプレートにクローンしている間、元のVMは電源が入った状態でも、切れた状態でも構いません。元のVMをクローンしてテンプレートを作成する方法について見ていきましょう。前の方法と同様に、vSphere Web Clientで対象のVMに移動します。VMを右クリックし、コンテキストメニューから Clone > Clone to Template.

クローン作成アシスタントが起動します。以下の手順に従って操作を進めてください。
Select a name and folder. VMテンプレートの名前を指定し、保存先を選択します。この例では、Xubuntu16-testはテンプレート名です。このテンプレートはテスト用として使用されるためです。クリックNext.
Select a compute resourceESXiホストまたは クラスター あなたのためのリソースとして。クリックNext.
- 選択 その ストレージ テンプレートを保存する場所。設定できます 仮想ディスクのフォーマット (シンプロビジョニング、レイジーゼロ・シックプロビジョニング、またはイーガーゼロ・シックプロビジョニング)のいずれかを選択するか、単に仮想ディスクのフォーマットをソースと同じに設定します。必要に応じて、ここでカスタムVMストレージポリシーを定義できます。[クリック]
Next.
Ready to complete概要を確認し、クリックしてくださいFinishテンプレートの作成を続行します。
- これで、新しく作成したVMテンプレートがリストの一番下に表示されます。
VMs and Templatesセクション。ご覧のとおり、元のVMとVMテンプレートのストレージ使用量は同じです(前述の通り、VMテンプレートでは圧縮は使用されません)。
もし~に行けば Storage セクションで、VMテンプレートのデータストアとディレクトリを選択すると、1つを除いてすべてのファイルがソースVMのファイルと類似していることが確認できるはずです。その1つとは、 VMTX ファイル。VM設定ファイルには .VMTX の代わりに .VMX 拡張子。これは、通常のVMware仮想マシンの設定ファイルに使用されます。

VMゲストのカスタマイズ仕様の作成
VMテンプレートが作成されたので、VMゲストのカスタマイズ仕様を作成できます。これを行うには、メニューを開き、[ ] をクリックします。 Policies and Profiles.

必ず VM Customization Specifications 左ペインで選択されています。[クリック] New 新しいVMカスタマイズ仕様を作成します。すると、新しいウィザードウィンドウが表示されます。

Name and target OS. 仕様に一意の名前を付け、説明を入力し、vCenterサーバーを選択し、対象VMのゲストOS(WindowsまたはLinux)を指定します。この手順ではLinuxを使用し、仕様名はLinux test spec. クリックNext.
Computer Name. コンピュータ名(ホスト名)とドメイン名を設定します。コンピュータ名を指定するには、次の3つの方法があります:- 仮想マシンの名前を使用します。仮想マシン内のゲストOSのコンピュータ名は、仮想マシンの名前と同じになります。このオプションを使用すると、管理上の利便性が高まります。
- に名前を入力してください
Clone/Deploy Wizard. VMクローンのカスタマイズ仕様を適用する際、コンピュータ名を手動で入力することができます。将来これらのVMにどの名前を使用するか決まっていない場合は、このオプションを利用できます。 - 名前を入力してください。今すぐコンピュータ名を入力できます。一意性を確保するために、
Append a numeric valueチェックボックス(複数のVMを展開する場合、各VMのゲストOSには一意のコンピュータ名が必要です)。 - コンピュータ名の長さは63文字までです。それ以上の文字数を入力しようとすると、名前が切り捨てられます。をクリックして
Next"次へ"ボタンをクリックしてください。
Time Zone. 仮想マシンのタイムゾーンを指定します。その後、[クリック]Next.
Network. 仮想マシンのネットワーク設定を指定します。以下の2つのオプションがあります:- ゲストOSには標準のネットワーク設定を使用し、すべてのネットワークインターフェースでDHCPを有効にしてください。
- カスタム設定を手動で選択します。
- この手順では、2番目のオプションを使用します。ネットワーク設定を手動で設定しましょう。
Addボタンをクリックして、VMに仮想ネットワークインターフェースコントローラー(NIC)を追加します。3つの点が並んだアイコンをクリックし、[選択] を選択します。Edit表示されるコンテキストメニューで。
- 新しい設定ウィンドウが開きます。このウィンドウには、以下の3つのオプションがあります。
IPv4タブ。
- DHCP を使用して IP アドレスを自動的に取得します。
- この仕様を使用する際、ユーザーにIPアドレスの入力を促します。このオプションを使用してサブネットマスクとデフォルトゲートウェイを事前に設定することは可能ですが、VMにこの仕様を適用する際には、IPアドレスを入力する必要があります。
- カスタム設定を使用します。このオプションは前のオプションと似ていますが、IPアドレスを今すぐ設定することができます。
- IPv6は無効にできます。クリックしてください
OKネットワーク設定が完了したら、[次へ]をクリックしてください。Next.
DNS settings. VMのDNSサーバーとDNS検索パスを指定します。最大3つのDNSサーバーを設定できます。[クリック]Next.
Ready to complete設定を確認し、[クリック] してくださいFinishご満足いただけましたら。
- これで、VMのカスタマイズ仕様一覧にゲストOSのカスタマイズ仕様が表示されるはずです。ここから、仕様の編集、複製、エクスポート、削除を行うことができます。

テンプレートから仮想マシンを作成する
VMテンプレートとゲストOSのカスタマイズ仕様が用意できたので、テンプレートから仮想マシンを作成できます。次の手順に進んでください。 VMs and Templates セクションで、作成したテンプレートを右クリックし、[選択] をクリックします New VM from This Templateこの場合、テンプレートは保持されます。もし Convert to Virtual Machine このオプションを選択すると、テンプレートは仮想マシンに変換され、テンプレートとしての存在はなくなります。

その Deploy From Template ウィザードが起動します。
-
Select a name and folderこの段階で、一意のVM名と保存先を入力してください。この手順例では、仮想マシンの名前はXubuntu16-test01. クリックNext続きを読む。
Select a compute resourceここで、仮想マシンを実行するESXiホストまたはクラスターを選択できます。[クリック]Next.
Select storage. 構成ファイルとディスクファイルを保存するデータストアを選択します。仮想ディスクの形式を選択します。仮想ディスクの形式(シンプロビジョニング、レイジーゼロ・シックプロビジョニング、またはイーガーゼロ・シックプロビジョニング)を手動で設定することも、ソースと同じ形式のままにすることもできます。必要に応じて、VMストレージポリシーを選択します。[クリック]Next.
Select clone options. 作成したばかりのゲストOSのカスタマイズ設定を適用するには、Customize the operating systemチェックボックス。次に、[クリック]Next.
Customize guest OS. リストから、作成したゲストOSのカスタマイズ仕様を選択します。このチュートリアルでは、仕様の名前はLinux test spec. クリックNext続行するには。
User settings. このチュートリアルの前半で説明したように、ここで使用しているゲストOSの仕様のカスタマイズにより、VMのクローン作成時にIPアドレスを設定することができます。このVMの仮想ネットワークアダプタのIPアドレスを定義しましょう。この場合、IPアドレスは192.168.77.240です。[クリック]Next.
Ready to complete設定の概要を確認し、[クリック] してくださいFinish仮想マシンの作成を開始します。
ゲストOSのカスタマイズ仕様が反映されたテンプレートからVMを作成したら、VMを起動し、VMware Web Consoleを開いてゲストOSのインターフェースにアクセスします。VMにログインすると、VMが再起動され、カスタマイズした設定が適用されます。VMが再起動したら、Linuxコンソールを開き、ホスト名、IP設定、およびタイムゾーンを確認してください。これらのパラメータは、以下のコマンドを入力することで確認できます。
-
ホスト名を表示する:
less /etc/hostnameホスト名は、プライマリプロンプト文字列でも確認できます。
-
ネットワークインターフェースのIP設定を確認します:
Ifconfig -
システムで設定されているタイムゾーンを確認してください:
timedatectl | grep "Time zone" -
ルーティングテーブルのゲートウェイを確認してください:
netstat -rn

上のLinuxコンソールのスクリーンショットと、下のVMware vSphereクライアントのスクリーンショットからわかるように、IPアドレス、コンピュータ名、およびタイムゾーンは、ゲストOSのカスタマイズ仕様で定義された設定に従って変更されています。VM名とホスト名は同じです。

PowerCLI による自動化
上記の解説では、vSphere Web Client GUI(グラフィカル・ユーザー・インターフェース)を使用したVMテンプレートの作成と適用について説明しました。ただし、代わりにPowerCLIを使用して、複雑なスクリプトを手動で作成し、VMのデプロイを行うことも可能です。 より自動化された. これらの目的に役立つ可能性のあるコマンドレットの一部を以下に示します:
New-Template– 新しいVMテンプレートを作成します。New-OSCustomizationSpec– 新しいゲストOSのカスタマイズ仕様を作成します。Get-OSCustomizationSpec– vCenter から OS のカスタマイズ仕様を取得します。Set-OSCustomizationSpec– 指定されたOSのカスタマイズ設定を変更します。Get-OSCustomizationNicMapping– OSのカスタマイズ仕様に基づくNICマッピング設定を取得します。Set-OSCustomizationNicMapping– 指定されたOSカスタマイズ仕様のNICマッピング設定を変更します。New-OSCustomizationNicMapping– OSのカスタマイズ仕様にNICのマッピング設定を追加します。
PowerCLIの完全な一覧については cmdlets、その構文、例、およびその他の関連情報については、 VMware PowerCLI リファレンス Web ページまた、当社のブログ記事もぜひご覧ください。 PowerCLIスクリプト.
VMテンプレートの利点
ゲストOSのカスタマイズ仕様が定義されたVMテンプレートは、特に大規模な環境において、VMの展開に役立ちます。VMテンプレートを使用する主な利点を以下にまとめます:
- 仮想マシンの展開を標準化する標準化により、無駄な作業を省くだけでなく、品質と生産性を向上させることができます。標準化されたVMの管理は、標準化されていないVMの管理よりも容易です。
- デプロイ時のエラーが減少. 複数の仮想マシンを手動で順次展開する必要がある場合、システム管理者が何かを見落とす可能性が高く、それがエラーの原因となることがあります。その代わりに、システム管理者は一度時間をかけて完璧なVMテンプレートを作成しておけば、それ以降、すべての(類似した)VM展開にそのテンプレートを活用することができます。
- VMのデプロイプロセスの自動化. 自動化により、デプロイがより簡単かつ迅速になり、生産性が向上すると同時にセキュリティも強化されます。
- 時間の節約このメリットは、テンプレートが効率的なソリューションである理由として挙げた利点と関連しています。さらに、時間の節約はコスト削減につながります。
結論
VMテンプレートは、VMの一括展開時にクローンを作成するために使用できるマスターイメージです。VMテンプレートは通常のVMのように編集したり電源を入れたりすることはできないため、セキュリティが向上します。 ゲストOSのカスタマイズ仕様により、VMのクローン作成後に、単一のウィザードを使用してネットワーク設定、コンピュータ名、タイムゾーンなどのOS設定をカスタマイズできます。これにより、VMの展開がより迅速かつ便利になります。その結果、自動化、エラーの削減、標準化、時間の効率的な活用といった重要なメリットが得られ、予算の節約にもつながります!