仮想化により、VMテンプレートやVMクローンなどの機能によって、効率的なワークフローとリソースの利用が可能になります。これにより、既存のVMの同一のコピーを素早く作成できます。新しいVMは、同じ仮想ハードウェア、インストールされたソフトウェア、およびその他の設定を持っているため、ゼロから構成する必要はありません。
VMクローニング機能は、vCenter Serverによって管理されているVMに対して利用可能です。ただし、たとえば、VMware ESXiの無料版を使用している場合でも、VMware ESXiホスト上で実行されているVMを複製することができます。
このブログ投稿では、vCenter Serverを使用した方法と使用しない方法を含む、ESXiサーバー上の既存のVMware仮想マシンをクローンする方法について説明します。
VMware ESXiクローンVM環境
クローンしたいVMにスナップショットがないことが推奨されます。これにより、スナップショットを使用してVMの状態を復元する際に、元のVMのネットワークアダプターのMACアドレスを復元する問題などが回避されます。VMスナップショットがある場合、VMの状態をスナップショットから復元してVMのクローン用のMACアドレスの競合を避けるために、MACアドレスを手動で変更する必要があります。
クローンマシンの作成方法を示す環境は次のとおりです:
- ESXiホスト1: 192.168.101.201
- ESXiホスト1のVM: Windows-VM
- ESXiホスト2: 192.168.101.202
- vCenter Server: 192.168.101.103
この環境では、ESXi 7とvCenter 7 がワークフローと仮想マシンのクローンを説明するために使用されています。
ESXi 7 および vCenter 7 は、この環境でワークフローを説明し、仮想マシンを複製するために使用されます。
方法1: VMware ESXi クローン VM を vCenter なしで – VMware Host Client を使用
vCenter Server で管理されていない ESXi ホストがある場合は、VMware Host Client を使用して、その ESXi ホスト上の VM をユーザーフレンドリーな Web インターフェイスでクローンできます。
2つのデータストア (datastore10a および datastore10c) を持つ ESXi ホスト (192.168.101.201) があります。名前が Windows-VM である VM は datastore10a に配置されており、この VM をクローンして datastore10c に VM クローンを保存します。
vCenter なしで ESXi ホスト上の VM をクローンするには、次の手順に従います。
- 管理者アカウント (root) を使用して VMware Host Client にログインします。
- 必要なデータストア上に VM クローンのファイルを保存するためのディレクトリを作成します。ストレージ をナビゲーターペインでクリックし、datastore10c に移動し、ディレクトリの作成 をクリックし、ディレクトリ名として Win-VM-Clone を入力します。ディレクトリの作成 をクリックします。
- ソースVMのVM設定を開き、VMファイルの場所を確認してください。これを行うには、仮想マシンに移動し、ナビゲーターでWindows VMを選択し、ハードウェア構成ペインでハードディスク1を展開します。
VMの仮想ハードディスクは、データストア10aのWindows-VMディレクトリにあることがわかります。VMに複数の仮想ディスクがある場合は、それぞれの場所を確認してください。カスタム構成では、VMの仮想ディスクが異なる場所に配置されることがあります。クローンされた仮想マシンのすべての仮想ディスクをコピーすることが重要です。
また、編集 VM設定をクリックし、VM設定内のハードディスクセクションを展開して、仮想ハードディスクの場所を表示することもできます。
- クローンしたいVMをシャットダウンしてください。
- データストアブラウザを開き、ソースVMのディレクトリに移動します。これを行うには、ストレージをナビゲーターペインでクリックし、datastore10aをクリックし、データストアブラウザをクリックします。次に、データストアブラウザでdatastore10aのWindows-VMディレクトリを選択します。
- ソース仮想マシンのVMDKファイルとVMXファイルをVMクローンのディレクトリにコピーします。まず、元のVMの仮想ディスクをコピーします。データストアブラウザでVMDKファイル(私たちの場合はWindows-VM.vmdk)を選択し、コピーをクリックします。
- 次のウィンドウで宛先ディレクトリを選択し、コピーをクリックします。データストアブラウザでdatastore10cのWin-VM-Cloneディレクトリを選択します。
- 元のVMに複数の仮想ディスクがある場合は、VMのすべての仮想ディスクをコピーするには、これらの手順を繰り返します。
VMware Host Clientは.vmdkおよび-flat.vmdkファイルを1つのアイテムとして表示します。コマンドラインインタフェースでは、各仮想ディスクに対して2つのファイルがあることがわかります。 .vmdkファイルは仮想ディスク記述子ファイルであり、-flat.vmdkはデータを含む仮想ディスクファイルです。ESXi VMとは対照的に、VMware Workstationで実行されているVMの仮想ディスクは埋め込み記述子(2つのファイルではなく単一のファイル)を使用する.vmdk仮想ディスクを使用します。
- ファイルのコピーが完了するまでお待ちください。Webインターフェースの下部にある最近のタスクバーで進捗を監視できます。
- VMXファイルをダウンロードして、それをコンピュータに保存します。これを行うには、データストアブラウザを開き、datastore10aのWindows-VMディレクトリに移動します。選択して.vmxファイル(この場合はWindows-VM.vmx)をクリックしてダウンロードします(.vmxファイルを右クリックしてオプションを含むコンテキストメニューを開くこともできます)。選択したVMXファイルをコンピュータに保存します。
- すでにダウンロードされたVMXファイル(この場合はWindows-VM.vmx)を編集します。お好みのテキストエディタを使用できます。クローンされた仮想マシンは同一の仮想マシンですが、VM名など、VMware vSphereの各VMで異なる必要がある特定の設定があります。これにより、より便利にVMを識別できるようになります。
- displayNameの行を見つけます。VMのクローン名を変更し、現在のVMの名前と同じになっています。
VMの名前を変更します。
displayName = “Windows-VM”
から
displayName = “Win-VM-Clone”
表示されるVM名は、VMクローンのファイルが保存されているディレクトリの名前と同じになります。
オプション: データストアブラウザで仮想ディスクを名前変更することもできます(Windows-VM.vmdk)、そして.vmx構成ファイル内の適切な行の値を変更して、一意の仮想ディスク名を持つようにします(たとえば、Win-VM-Clone.vmdk、この場合)。
- datastore10c/Win-VM-Clone/ディレクトリを選択し、アップロードをクリックします(ブラウザウィンドウで編集した適切なVMXファイルを選択してください)。
- 編集したVMXファイルは、VMクローンのディレクトリ(Win-VM-Clone、私たちの場合はdatatore10c内)にあります。データストアブラウザを閉じることができます。
注:別のESXiホストにVMをクローンする場合は、VM構成と仮想ディスクファイルをコンピュータにダウンロードし、それらのファイルを宛先ESXiホストのデータストアにアップロードしてください。WinSCPなどのSCP/SFTPクライアントを使用してデータストアからファイルをダウンロードおよびアップロードすることもできます(Windowsの場合)。
- 一旦 VM ファイルをコピーしたら、ESXi ホストに VM クローンを登録する必要があります。ナビゲーター ペインの 仮想マシン に移動し、VM の作成/登録 をクリックします。
- 新しい仮想マシン ウィザードが開きます。
- 作成タイプを選択します。既存の仮想マシンを登録 を選択して、次へ をクリックします。
- 登録する VM を選択します。 1 つ以上の仮想マシン、データストア、またはディレクトリを選択 をクリックします。
- 開かれたデータストアブラウザ で VM クローンディレクトリ内の VMX ファイルを選択し、選択 をクリックします。
- 必要なVMXファイルがウィザードの2番目のステップで選択されていることを確認し、次へをクリックしてください。
- 完了をクリックしてください。完了の準備ができました画面で。
- VMクローンは今、VMとして登録され、VMのリストに表示されます。 VMware Host ClientのWebインターフェイスでVMクローンの名前を常に変更できます。 VM名を右クリックして、開いたメニューで名前変更を選択してください。
- 今、VMクローンを開始できます。スクリーンショットに示されているように、VMを起動した後に質問が表示されます。
コピーしました(移動ではありません)。これは、VMの新しいMACアドレスと一意の識別子(UUID)を設定するために重要です。ゲストOS内でVM名とSID(Windows VMの場合)を変更して、競合を回避する必要があるかもしれません。 回答をクリックしてください。
仮想マシンはESXiホストで正常にクローンされました。
方法2:ESXiコマンドラインでのVMのクローンの方法
ESXiホスト上でvCenter Serverを使用せずに仮想マシンをクローンする別の方法は、ESXiコマンドラインを使用することです。ESXiシェルを直接使用するか、リモートでSSH経由でESXiサーバーに接続してESXiコマンドラインにアクセスできます。SSHアクセスが有効になっていることを確認してください。
コマンドラインでvCenterを使用せずにVMwareクローンVMを作成するには:
- SSHクライアントを使用してESXiサーバーに接続します。Windowsを使用する場合、PuTTYを使用できます。
このESXiホストに登録されているVMのリストを確認します(前の例で元のVMであるWindows-VMをクローンする予定です)。
vim-cmd vmsvc/getallvms
- クローンしたい元のVMをシャットダウンする必要があります。
VMをシャットダウンするためのVMのID(VMID)を取得します。
vim-cmd vmsvc/getallvms
私たちのWindows-VMはVMID 1を持っています(以下のスクリーンショットを参照)。
- VMをシャットダウンするコマンドは次のとおりです:
vim-cmd vmsvc/power.shutdown VMID
このコマンドを使用して、Windows-VMをシャットダウンします:
vim-cmd vmsvc/power.shutdown 1
- VMの電源状態を確認するためのコマンドは次のとおりです:
vim-cmd vmsvc/power.getstate VMID
VMをシャットダウンできない場合は、電源オフのコマンドを使用できます:
vim-cmd vmsvc/power.off VMID
- このVMの設定ファイルの場所を確認するためのコマンドは次のとおりです:
cat /etc/vmware/hostd/vmInventory.xml |grep -i Windows-VM | grep vmx
または
vim-cmd vmsvc/getallvms |grep -i Windows-VM
-
現在のVMの仮想ディスクの場所を確認するには、vmx仮想マシン構成ファイルを開きます:
less /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx
仮想ディスクが同じディレクトリに保存されている場合(たとえば、最初で唯一の仮想ディスクの場合)、次のような行が表示されます:
ide0:0.present = “TRUE”
ide0:0.fileName = “Windows-VM.vmdk”
VMディレクトリ以外に仮想ディスク(例:2番目の仮想ディスク)が保存されている場合、次のような行が表示されます:
scsi0:1.present = “true”
scsi0:1.fileName = “/vmfs/volumes/609a545a-50d29185-ffbb-000c293004f2/directory2/SecondHardDisk.vmdk”
仮想ディスクがVMディレクトリの外部に保存されている場合、vmx構成ファイルの適切な行に定義された完全なパスが表示されます。
これで、仮想マシンファイルの場所がわかりましたので、VMのクローン作成に進むことができます。このESXiクローンVMをdatastore10cに保存します。
- VMクローンのファイルを保存するディレクトリを作成します:
mkdir /vmfs/volumes/datastore10c/Win-VM-Clone2
- ソースVMの設定ファイルと仮想ディスクのクローンを作成し、仮想ディスクのクローンをVMクローンの宛先ディレクトリに保存します。新しいVMクローンの名前に合わせて、宛先vmxおよびvmdkファイルに新しい名前を設定します。
- 仮想ディスクを
vmkfstools
でクローン化できます。このツールを使用すると、宛先仮想ディスクの形式を設定したり、スムーズなプロビジョニング形式をスリムなプロビジョニングに変更したりできます:vmkfstools -i /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmdk /vmfs/volumes/datastore10c/Win-VM-Clone2/Win-VM-Clone2.vmdk -d thin
- VM設定ファイル(.vmx)をコピーします
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/datastore10c/Win-VM-Clone2/Win-VM-Clone2.vmx
- あるいは、.vmdkおよび-flat.vmdkとして仮想ディスクファイルをそのままコピーし、宛先ファイルの新しい名前を設定することもできます。
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmdk /vmfs/volumes/datastore10c/Win-VM-Clone2/Win-VM-Clone2.vmdk
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM-flat.vmdk /vmfs/volumes/datastore10c/Win-VM-Clone2/Win-VM-Clone2-flat.vmdk
- 仮想ディスクを
- 今、VMクローンのvmxファイルを編集して、VM名と仮想ディスク/仮想ディスク名のパスを整列させる必要があります。したがって、VMクローンのvmx構成ファイルでWindows-VMをWin-VM-Clone2に置換する必要があります。
vi、テキストエディターを使用して、VMクローンのvmxファイルを終了します。 viでファイル全体で文字列を検索して置換するには、次のコマンドを使用します。
:[range]s/{pattern}/{string}/[flags] [count]
私たちのシナリオのコマンドテンプレートは次のとおりです。
:%s/foo/bar/g
私たちの場合、コマンドは次のようになります。
:%s/Windows-VM/Win-VM-Clone2/g
VMクローンのvmxファイルを保存します。 viで:wqと入力してEnterキーを押します。
- ESXiホストにVMクローンを登録してください:
vim-cmd solo/registervm /vmfs/volumes/datastore10c/Win-VM-Clone2/Win-VM-Clone2.vmx
- 登録されたVMの情報を取得して、クローンされた仮想マシンが登録されたことを確認してください:
vim-cmd vmsvc/getallvms
- VMクローンは登録されました(スクリーンショットに表示されているようにVMID 3で登録されています)。
- これでVMクローンを起動できます。このVMクローン(VMID 3のVM)をコマンドラインで起動するには、次のコマンドを使用します:
vim-cmd vmsvc/power.on 3
- VMware Host Clientを開いて、このVMをコピーしたことを確認してください。この質問に答えるまでVMは起動しません。
- スクリーンショットで確認できるように、VMサイズが低くなっています。これは、元の仮想ディスクをクローンしており、そのディスクはスクラッチのディスク形式からスリン形式に変換されています(2.76 GB 対 6 GB)。
ESXiのクローンVMの作成が正常に完了しました。vCenter Serverを使用せずに別のスタンドアロンのESXiホストに仮想マシンをクローンする方法も同様に使えます。異なるESXiホスト間でVMファイルをコピーするには、SCPまたはSFTPクライアントを使用する必要があります。この方法の残りのロジックは変わりません。
方法3: 新しいVMを作成してvCenterを使用せずにVMをクローンする
VMware Host Clientを使用して、vCenter Serverを使用せずにESXiホスト上のVMをクローンする別の方法があります。この方法の利点は、VMクローンのVMXファイルを編集する必要がないことです。VMクローンのVMの構成が元のVMの構成と同じであることを確認しながら、新しいVMの構成を作成してください。新しいVMの構成が元のVMと異なっていても、新しいVMを起動できます。
- 新しい仮想マシンウィザードの5つの手順を完了して、新しいVMを作成します。
- ソースVMの仮想ディスクをVMクローンのVMディレクトリにコピーします。これは、VMware Host Clientのデータストアブラウザで行うことができます。第1の例(VMクローンの方法)と同様に操作します。
- ストレージをクリックし、ソースVMが保存されているデータストアを選択します(私たちの場合はdatastore10a)。データストアブラウザをクリックし、ソースVMのディレクトリ(この例ではWindows-VM)を選択します。vmdk仮想ディスクを選択し、コピーをクリックします。
- 次に開くウィンドウで、Win-VM-Clone3という宛先ディレクトリを選択し、コピーをクリックします。
- ソースVMに複数の仮想ディスクがある場合は、同じ方法ですべてをコピーします。オプションで、VMクローンディレクトリに格納されている仮想ディスクのコピーを、一意の名前を使用してより便利にリネームできます。
- VMクローンの設定を編集します。 ナビゲーターから仮想マシンページに移動し、新しいVM(VMクローンになります)を右クリックし、表示されるメニューで設定の編集をクリックします。
- 新しい仮想マシンで作成された仮想ハードディスクを削除します。 X アイコンを 仮想ハードウェア タブの VM設定 ウィンドウの ハードディスク1 行でクリックします。
- 仮想ディスクの削除を確認するために データストアからファイルを削除 チェックボックスを選択します。
- 保存 をクリックします。
- 再度VM設定を開きます。
- 元のVMからコピーした仮想ディスクをVMクローンディレクトリに追加します。
ハードディスクの追加 >既存のハードディスクをクリックします。
- vmdk 仮想ディスクをコピーした VM クローンディレクトリから選択してください。 Win-VM-Clone ディレクトリ内の Windows-VM.vmdk を datastore10c 上で選択します。
- 元の VM に複数の仮想ハードディスクがある場合は、すべてを VM 構成に追加します。 仮想ディスクを追加した後に VM 構成を保存するには、保存 をクリックします。
- A virtual disk has been added to our VM configuration.
- VM クローンの電源を入れます。
- A message with the question (whether a VM was copied or moved) doesn’t appear because we created this VM as a new VM.
方法 4: vCenter を使用した VMware 仮想マシンのクローン
VMware vCenter Server は、VMware vSphere の集中管理システムであり、vCenter なしでの VM のクローンよりも便利な方法を提供します。 VM を同じ ESXi ホストにクローンするか、vCenter によって管理されている別の ESXi ホストにクローンできます。
VMware vSphere Client で vCenter を使用してクローンされた仮想マシンを作成するには、次の手順を実行します:
- VMware vSphere Client にログインして、vCenter の管理 Web インターフェースにアクセスします。
- ホストとクラスタービューを選択し、ナビゲーションペインでVMを選択します。ESXiホスト192.168.101.201に存在するVM Windows-VMをクローンします。
- 元のVMを右クリックし、開かれるメニューでクローンをクリックし、仮想マシンにクローンをクリックします。
- 既存の仮想マシンをクローンウィザードが開き、5つのステップが含まれています。
- 名前とフォルダーを選択。VMクローンの名前を入力します。私たちの場合は Win-VM-Clone4です)。クローンされたVMを配置するデータセンターとVMフォルダーを選択します。ウィザードの各ステップで次へをクリックして続行します。
- コンピュートリソースを選択します。VMクローンを実行する必要があるESXiホストまたは
を選択します 。私たちの場合、これはESXiホスト192.168.101.201です。他のESXiホストを選択してVMクローンを実行することもできますが、このホストは元のVMがあるホストと同じであってはなりません。 - ストレージを選択します。クローンされたVMを配置するデータストアを選択します(datastore10cを選択します)。次のオプションのいずれかを使用して仮想ディスクの形式を選択します:
- ソースと同じ形式
- スロープロビジョン レイジーフォーマット
- スロープロビジョン イーガーフォーマット
- スレンダープロビジョン
また、VMストレージポリシーを選択することもできます。
- 選択クローンオプション。ゲストOS内でホスト名を変更するなど、クローンVMをカスタマイズするためのいくつかのオプションがあります。
- 完了の準備ができました。クローンVMの選択したパラメーターを確認し、完了をクリックしてください。
注意: VMクローンのSIDが同じ場合、特にVMがActive Directoryドメインにある場合に問題が発生する可能性があります。Windowsの場合はSYSPREPを使用するか、SIDを変更/リセットするためのサードパーティー製ツールを使用する必要があります。VMにMS SQL Serverがインストールされている場合は、問題を回避するために、MS SQL Serverで事前操作(sysadmin SQLアカウントの有効化)と事後操作(名前の変更)を追加する必要があります。
A clone VM has been created, and you can power on the VM.
方法5: NAKIVO Backup&Replicationを使用したクローンVMの作成
VMレプリケーションは、VMware ESXiホスト上の仮想マシンをクローンする別の方法です。VMレプリカは、VMクローンと同じく、VMの正確なコピーです。VMレプリケーションの利点は、VMプロセスを自動化し、VMスナップショット機能を活用したソリューションを使用してVMレプリカに複数の時点のVM状態を保存できることです。
NAKIVO Backup & Replicationは、VMware vSphere VMのバックアップとレプリケーションをサポートする強力なデータ保護ソリューションです。したがって、任意のESXiホストまたはクラスターにVMクローン(レプリカ)を作成できます。
NAKIVOでVMクローンを作成する利点は、これらのホストがvCenterによって管理されていなくても、1つのESXiホストから別のESXiホストに仮想マシンをクローンできることです。インベントリにvCenterとすべての管理されたESXiホストを追加するか、複数のスタンドアロンESXiホストを追加できます。構成はユーザーフレンドリーなインターフェースで行われます。
NAKIVOソリューションを使用する他の利点には、レプリケーションとバックアップからのレプリケーションを自動化できる能力、柔軟なスケジューリングと保持オプション、厳格なRPO向けのリアルタイムレプリケーション、DRオーケストレーションのためのサイトリカバリなどがあります。
VMレプリケーションを使用して仮想マシンをクローンするには、次の手順を実行します:
- NAKIVOソリューションにESXiホストまたはvCenter Serverを追加するには、設定>インベントリに移動し、+をクリックしてアイテムを追加します。また、インベントリに表示されるESXiホストまたはvCenterをクリックして、そのリソースに存在するVMを表示できます。
- 新しいVMware vSphereレプリケーションジョブを作成するには、ジョブ > + > VMware vSphereレプリケーションジョブに移動します。
VMware vSphereの新しいレプリケーションジョブウィザードが7つの手順で開きます。
-
ソース。クローンしたい元のVMを選択します。ESXiホスト192.168.101.201のWindows-VMを選択します。ウィザードの各ステップで次へをクリックして続行します。
- 宛先。VMのレプリカを保存するESXiホストまたはvCenterで管理されるクラスターを含むコンテナを選択します(このリソースはNAKIVOインベントリに追加する必要があります)。データストアを選択します。選択したESXiホストまたはクラスターに接続されたデータストアを選択できます。必要に応じて選択したリソース上のVMフォルダーを選択します。
- ネットワーク。VM レプリカ(ESXi クローン VM)は VM ネットワーク に接続される必要があります。選択した ESXi ホストまたはクラスタの利用可能なネットワークに VM レプリカを接続できます。この機能は、VM を他の ESXi ホストにレプリケートする際に特に便利なネットワーク マッピング機能によって提供されます。また、このオプションをスキップして VM をデフォルト ネットワークに接続することもできます。
- 再 IP。ネットワーク マッピングを使用し、VM をソース ネットワークとは異なるネットワークに接続した場合、次のステップは VM ネットワーク アダプターの構成内の IP アドレスを、宛先のサブネットのアドレッシングに一致するように変更することです。再 IP 機能を使用する場合、レプリケーションの完了後、ゲストオペレーティングシステム内のネットワーク設定を手動で編集する必要はありません。
- スケジュール。VMレプリケーションを手動で実行するか、要求に応じて、または定期的な間隔でクローンVM(レプリカVM)を作成するためにVMレプリケーションジョブをスケジュールできます。
- 保持。保持設定を構成して、複数のリカバリポイントを作成し、適切な期間保持できます。
- オプション。レプリケーションジョブ名を入力し、VMレプリケーションの速度、セキュリティ、信頼性を向上させることができるジョブオプションを構成します。ジョブ設定を保存し、VMレプリケーションジョブを実行して、この方法でVMware仮想マシンクローンを作成するには、完了&実行をクリックします。
- あなたはジョブページにリダイレクトされ、レプリケーションジョブの進行状況を監視できます。ジョブが完了するまでお待ちください。
NAKIVOソリューションを使用してVMクローンを作成するのは簡単です。さらに、NAKIVO Backup & Replicationは、1秒という低いRPOを要求する重要なVM向けに災害復旧目的のVMware VMのリアルタイムレプリケーションをサポートしています。