VMイメージの作成方法
VMインポートで利用するOVFテンプレートを作成するために、以下の順番に設定を行ってください。
仮想マシンの設定
仮想マシンの「設定の編集」により、以下の設定を行ってください。
項目 | 設定内容 | ovfファイルのパラメーター(設定例) | 説明 |
---|---|---|---|
CPU | 変更なし | - | VMインポートする際に修正されるため設定変更は不要です |
メモリ | 変更なし | - | VMインポートする際に修正されるため設定変更は不要です |
ハードディスク 1 | 許可されているサイズを指定してください※1 | <References>と<DiskSection>の次の値を利用します。 ovf:size=“1314489344” ovf:capacity=“30” ovf:capacityAllocationUnits=“byte * 2^30” |
許可されているサイズを超える場合、VMインポートに失敗します ovf:sizeの記載がない場合、VMインポートに失敗します ovf:sizeは、vmdkファイルのファイルサイズ(単位はbyte)になります ovf:capacityはプロビジョニングサイズ(単位はovf:capacityAllocationUnitsで指定)になります |
仮想デバイス ノードはSCSI コントローラにしてください | - | IDEの場合、VMインポートに失敗します | |
仮想デバイス ノードはSCSI(0: 0)にしてください | <rasd:AddressOnParent>0</rasd:AddressOnParent> | SCSI(0: 1) しかない場合、VMインポートは成功しますが、VMインポート後に増設ディスクをアタッチした場合に増設ディスク側をブートデバイスとして認識し、OS起動に失敗します | |
ハードディスク 2以降 | 削除してください | - | 2つ目以降のハードディスクが存在するとVMインポートに失敗します |
SCSI コントローラ | 1つのみ接続されている必要があります | - | |
ネットワークアダプタ 1 | アダプタタイプはVMXNET3またはE1000を設定してください。Windows Server 2012以降ではE1000はサポート対象外です。詳細はVMware社のサイトをご確認ください。 | <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType> | VMインポートする際に削除され、再作成されます 再作成によりMACアドレスは変更されます |
ネットワークアダプタ 2 | アダプタタイプはVMXNET3またはE1000を設定してください | <rasd:ResourceSubType>VmxNet3</rasd:ResourceSubType> | VMインポートする際に削除され、ネットワークの指定があれば再作成されます 再作成によりMACアドレスは変更されます |
ネットワークアダプタ 3以降 | 削除してください | - | VMインポートする際に削除されます |
ビデオカード | 「カスタム設定の指定」に設定してください | <vmw:Config ovf:required=“false” vmw:key=“useAutoDetect” vmw:value=“false”/> | 「設定の自動検出」の場合、VMインポートに失敗する可能性がございます |
ビデオ メモリの合計は128MB以下に設定してください | <vmw:Config ovf:required=“false” vmw:key=“videoRamSizeInKB” vmw:value=“4096”/> | ビデオ メモリの合計が128MB以上の場合、VMインポートに失敗する可能性がございます | |
CD/DVD ドライブ | CD/DVD ドライブは「クライアントデバイス」に設定してください | <rasd:ResourceSubType>vmware.cdrom.remoteatapi</rasd:ResourceSubType> | ESXiのHost Clientの場合、クライアントデバイスが選択できないため、OVFファイルを左記の設定内容に編集します |
デバイス モードは「パススルー CD-ROM」に設定してください | - | ||
互換性 | 仮想マシン バージョンは、7(ESX/ESXi 4.0以降)、8(ESXi 5.0以降)、9(ESXi 5.1以降)、10(ESXi 5.5以降)、11(ESXi 6.0以降)、13(ESXi 6.5以降)、14(ESXi 6.7以降)、15(ESXi 6,7 U2以降)、17(ESXi 7.0以降)、18(ESXi 7.0 U1以降)、19(ESXi 7.0 U2以降)の範囲で設定してください | <vssd:VirtualSystemType>vmx-13</vssd:VirtualSystemType> | 左記以外の仮想マシン バージョンの場合、VMインポートに失敗します |
電源管理 | スタンバイ応答は「ゲスト OS をスタンバイ モードにして、仮想マシンをパワーオンのままにします。」に設定してください | <vmw:Config ovf:required=“false” vmw:key=“powerOpInfo.standbyAction” vmw:value=“checkpoint”/> | スタンバイ応答の設定が仮想マシンをサスペンドするとなっていると、ゲストOSがスリープするとサスペンド状態となり、コントロールパネルからの操作が不可となります |
起動オプション | ファームウェアはBIOSもしくはEFIに設定します | <vmw:Config ovf:required=“false” vmw:key=“firmware” vmw:value=“bios”/> |
※1 許可されているサイズについては OVFファイルの通過条件をご確認ください。
OSの設定
- OSの起動をVMware Tools経由にてIPアドレスが取得出来ることで判断しています。
- そのため、以下の設定を行ってください。
- ネットワーク設定はDHCPを有効、または静的IPアドレスを設定していること(詳細は下記参照)
- VMware Toolsをインストールし、VMware Toolsが自動起動となっていること
- 利用していないインターフェイスがある場合は、VMware Toolsの設定で特定のインターフェイスを除外する
- 必須バージョンに満たないVMware Tools/open-vm-toolsを利用した場合、コントロールパネルおよびニフクラ APIが正常に動作しない場合があります。VMware Toolsの必須バージョンについては、以下をご確認ください。
- ニフクラの以下の機能を利用する場合は、OS初期化スクリプトのインストールを行ってください。
- VMインポートに失敗したサーバー(コントロールパネルにて「インポートエラー」と表示されたサーバー)は、3日で自動削除されます。
- 3日以内であれば、コンソールにてVMインポートに失敗したサーバーに接続し、OSの設定を修正し、再インポートすることが可能です。
ネットワークの種類とOSの設定について
ネットワークの種類ごとに必要なOSの設定は以下の通りです。
VMインポート>サーバー設定>ネットワーク | VMインポート>サーバー設定>ネットワーク>IPアドレス | OSの設定 | 説明 |
---|---|---|---|
共通グローバル | 自動割り当て、または付替IPアドレス | DHCPを有効 | DHCPによるIPアドレスを取得する設定になっていない場合は、VMインポートに失敗します |
共通プライベート | 自動割り当て、または付替IPアドレス | DHCPを有効 | DHCPによるIPアドレスを取得する設定になっていない場合は、VMインポートに失敗します |
プライベートLAN | 自動割り当て | DHCPを有効 | DHCPによるIPアドレスを取得する設定になっていない場合は、VMインポートに失敗します |
指定する | DHCPを有効 | DHCPによるIPアドレスを取得する設定になっていない場合は、VMインポートに失敗します | |
指定しない | DHCPを有効、または静的IPアドレスを設定 | IPアドレスの設定有無によらず、VMインポートは成功し、サーバーのステータスはオンラインとなります |
IPアドレスが自動割り当てとなっているネットワークの場合
- DHCPによりIPアドレスを設定しているネットワークについては、DHCPによるIPアドレス取得ができるようにする必要があります。
- 以下の設定を行ってください。
- ネットワーク設定はDHCPを有効にする
- サーバーに適用するネットワークを2つ指定する場合は、すべてのインターフェイスでDHCPを有効にする
- DHCPによるIP取得が行えるように、ネットワーク設定でMACアドレスなどの固有設定を削除する
- DHCP クライアントが自動起動になっていること
- OSのファイアウォールで外部からのDHCP Client宛ての通信(UDP68番)、内部からのDHCP Server宛ての通信(UDP67番)が許可されていること
IPアドレスが静的割り当てとなっているネットワークの場合
- プライベートLANにてIPアドレスを指定しないを選択した場合は、静的IPアドレスを利用することができます。
- プライベートLANにて利用可能なIPアドレスについては、以下をご確認ください。
クラウド技術仕様/制限値(ネットワーク:プライベートLAN)
- プライベートLANにてIPアドレスを指定しないを選択し、OSの設定にてDHCPを有効にしたVMをインポートした場合は、インポートに時間がかかり、インポート後はサーバーのステータスが異常ありと表示されます。
- サーバーに適用するネットワークを2つ指定する場合は、1つ目のインターフェイスはDHCPを有効、2つ目のインターフェイスはDHCPを有効または静的IPアドレスを設定します。
- ネットワークの順序とOSのインターフェイスのマッピングがずれる可能性があり、自動割り当てのネットワークに静的IPアドレスが設定されると、VMインポートに失敗する可能性があります。
- コントロールパネルからネットワークのMACアドレスを確認することができるため、コンソールにてサーバーに接続し、ipコマンド等でネットワークの順序とOSのインターフェイスのマッピングの状態を確認することができます。
- もしネットワークの順序とOSのインターフェイスのマッピングを任意に行いたい場合は、udevを利用することで修正することができます。
ネットワーク設定の削除とDHCPの設定
以下は、IPアドレスが自動割り当てとなっているネットワークを利用時の設定例になります。詳細は対象OSのドキュメントをご確認ください。
Red Hat Enterprise Linux/CentOS 7以降
- 以下のコマンドを使って、永続的な udev ルールをすべて削除します。
# rm -f /etc/udev/rules.d/70-persistent-net.rules
- /etc/sysconfig/network-scripts/ifcfg-eth[x] を以下のように編集して、ifcfg スクリプトから固有のネットワーク情報を削除します。
DEVICE=eth[x]
BOOTPROTO=none
ONBOOT=yes
#NETWORK=10.0.1.0 <- REMOVE
#NETMASK=255.255.255.0 <- REMOVE
#IPADDR=10.0.1.20 <- REMOVE
#HWADDR=xx:xx:xx:xx:xx <- REMOVE
#USERCTL=no <- REMOVE
# UUIDなど、その他の固有な設定または不要な設定を削除します。
- HWADDR または固有の情報が削除され、DHCP 設定が維持されていることを確認します。
DEVICE=eth[x]
BOOTPROTO=dhcp
ONBOOT=yes
- サーバーに適用するネットワークを2つ指定する場合は、すべてのインターフェイスでDHCPを有効にします。
# /etc/sysconfig/network-scripts/ifcfg-eth[x]
DEVICE=eth[x]
BOOTPROTO=dhcp
ONBOOT=yes
# /etc/sysconfig/network-scripts/ifcfg-eth[y]
DEVICE=eth[y]
BOOTPROTO=dhcp
ONBOOT=yes
Ubuntu 18.04以降
- /etc/netplan/[x].yamlを以下のように編集して、DHCP 設定が維持されていることを確認します。
network:
version:2
ethernets:
ens[x]:
dhcp4: true
- サーバーに適用するネットワークを2つ指定する場合は、すべてのインターフェイスでDHCPを有効にします。
network:
version:2
ethernets:
ens[x]:
dhcp4: true
ens[y]:
dhcp4: true
- DHCPによるIP取得にmachine-idが利用され、IPが取得できない可能性があるため、machine-idを削除します。
echo -n > /etc/machine-id
Windows Server 2016以降
- コントロールパネルを開き、ネットワークとインターネット>ネットワーク接続からイーサネットを選択します。
- イーサネットのプロパティを開き、「インターネットプロトコル バージョン 4 (TCP/IPv4)」を選択し、プロパティをクリックします。
- 「IP アドレスを自動的に取得する」と「DNS サーバーのアドレスを自動的に取得する」にチェックを入れ、OKをクリックします。
- サーバーに適用するネットワークを2つ指定する場合は、すべてのイーサネットで上記の対応を行います。
VMware Toolsの起動の確認
- VMware Toolsの起動を確認する手順は下記を参照してください。
クラウドユーザーガイド(コンピューティング:VMware Tools操作ガイド)_VMware Tools/open-vm-toolsのステータス確認
VMware Toolsから特定のインターフェイスを除外する設定
- OS内にニフクラのネットワークと接続しないインターフェイスが残っている場合、VMware Tools経由にてIPアドレスが取得出来ない可能性があります。
- VMware Tools 10.2.0以降では、VMware Toolsの設定で特定のインターフェイスを除外することができます。
- 以下のVMware社のサイトの「ネットワーク インターフェイス情報の構成」の手順をご確認ください。
- 設定例になりますが、/etc/vmware-tools/tools.confに以下の内容を追加します。
[guestinfo]
exclude-nics=docker*,veth*
OS初期化スクリプトのインストール
- OS初期化スクリプトのインストールについては、以下をご確認ください。
クラウドユーザーガイド(コンピューティング:OS初期化スクリプトのご利用設定)
OVFテンプレートの作成
VMインポートで利用するOVFテンプレートの作成は、以下のVMware社のサイトの「OVF テンプレートのエクスポート」の手順をご確認ください。
ovftoolによるエクスポートを行う場合
- Open Virtualization Format Tool (ovftool)を利用してOVFテンプレートを作成することも可能です。
- 以下のVMware社のサイトの「Open Virtualization Format Tool (ovftool)」の手順をご確認ください。
- 以下はコマンドの実行例になります。
$ ovftool vi://username:pass@my_vcenter/my_datacenter/vm/path/to/my_vmname my_vmname.ovf
vSphere 6.7以降の環境からエクスポートする場合の注意事項
- OVFテンプレートの作成後、ovfファイルをエディタで開き、以下のラインを削除してください。
<File ovf:id="file3" ovf:href="<VM Name>.nvram" ovf:size="8684"/>
<vmw:ExtraConfig ovf:required="false" vmw:key="nvram" vmw:value="ovf:/file/file3"/>