NutaNice Xperience

主にNutanix製品を検証したり触ったりした結果をつづっています。※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。実際に製品を使用される場合は、メーカードキュメントの手順に従い実施してください。

Nutanix AHVのクロスクラスターライブマイグレーション(CCLM)をやってみる

※この記事は「AOS 6.8」および「Prism Central pc.2024.1」時点の情報をもとに作成しています。その後の機能アップデートについてはメーカーの公開情報をご確認ください。

Prism Centralバージョン「pc.2023.3」にて、Cross Cluster Live Migration(以降CCLM)がサポートされました。この機能を使用すると、異なるAHVクラスター間で仮想マシンを無停止で移行できます。今回はこの機能を使用してみます。

目次

1. 今回の環境

クラスターA: HPE DX360 Gen10 Plus(3ノード)
クラスターB: NX-1465-G5(4ノード)
AOS: 6.8.0.5(共通)
AHV: 20230302.100187
Prism Central: pc.2024.1.0.1
移行用VM: Windows Server 2019

今回は1つのPrism Central配下に登録している2つのAHVクラスター間でのライブマイグレーションとなります(同一AZ内)。

ちなみに、異なるPrism Centralにて管理されているAHVクラスター間でも、ライブマイグレーションは可能です。

2. CCLMの主な要件

CCLMではライブで仮想マシンを移行する関係上、いろいろと要件がありますので、主なものを紹介します。

  • クラスター間の往復遅延を40ミリ秒以下にすることが推奨
  • AOS 6.7以降 かつ pc.2023.3以降で使用可能
  • 送信元と宛先サブネットで同じIPネットワークプレフィックスが必要
  • クラスター間で同じAHVバージョンを実行していること
  • クラスター間で同じ名前のストレージコンテナがあること

また、CPU世代が新しいクラスターから、古い世代のクラスターへライブマイグレーションする場合は、仮想マシン単位でのCPU互換性機能を使用して、古いクラスターがサポートしているCPU世代を仮想マシンに割り当てるといった調整が必要となります。

Advanced Processor Compatibility in AHV
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide:ahv-advanced-processor-compatibility-c.html

その他、細かい要件についてはリンク先をご確認ください。

On-Demand Cross-Cluster Live Migration (OD-CCLM) Requirements
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2024_2:mul-cluster-cclm-requirements-r.html

3. CCLMの実行

今回は古いCPU世代のクラスターから新しいCPU世代のクラスターへのライブマイグレーションを試してみます。今回の環境では、クラスターBクラスターAへのライブマイグレーションとなります。

▽はじめに移行元となるクラスターB仮想マシンを作成し、NICの情報を確認しておきます。

▽Prism Centralにログインし、対象の仮想マシンを選択して「Migrate Across Clusters」をクリックします。

▽同じPrism Central配下のクラスターAに移行しますので、はじめにDestinationで「Local AZ」および、クラスターAとなる「ntnx01」を選択します。

▽続いてネットワークのマッピングを実施します。今回は、同一VLAN間での移行となります。

▽事前の互換性チェックなどが実行され、問題がなければ以下のように表示されます。移行対象の仮想マシンを選択して「Migrate」をクリックします。

Performing On-Demand CCLM
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2024_2:mul-cluster-cclm-migrate-pc-t.html

▽ライブマイグレーションであることを確認するために、移行中のVMping疎通確認を実施し、またVMにログインしてブラウザでYouTube動画の再生を試してみましたが、特に停止することなく応答および動作している様子でした。

▽移行完了後に、Prism Centralの仮想マシン一覧を表示すると、対象の仮想マシンが移行先となる「ntnx01(クラスターA)」上で起動していることが確認できます。

▽移行先クラスターAのPrism Elementでも、移行された仮想マシンが表示されます。また、仮想マシンのvNICの情報から、MACアドレスIPアドレスも引き継がれていることが確認できます。

4. CCLMにおけるクラスタレプリケーションについて

▽CCLMのライブマイグレーションを実行すると、内部的にはNutanix Disaster Recoveryの機能で対象仮想マシンリカバリーポイント(スナップショット)が作成されていることが確認できます。

▽このリカバリーポイントが複数作成およびレプリケーションされ、クラスター間で保持されていることが確認できます。

5. まとめ

今回は、Prism Centralを用いたAHVクラスター間のVMライブマイグレーションを試してみました。この記事の情報が役に立てば幸いです。

Nutanix Disaster Recoveryのセキュアスナップショットを使ってみる(Secure Snapshot)

※この記事は「AOS 6.8」および「Prism Central pc.2024.1」時点の情報をもとに作成しています。その後の機能アップデートについてはメーカーの公開情報をご確認ください。

Prism Centralバージョン「pc.2024.1」にて、「Disaster Recovery」にセキュアスナップショット機能が追加されました。今回はこの機能を使用してみます。

セキュアスナップショットでは、Disaster Recoveryで取得したスナップショット(リカバリポイント)の削除を実行した際に、事前に設定した承認者全員が承認しなければスナップショットを削除することができません。

悪意のあるユーザーによるスナップショットの削除を防止するセキュリティ対策機能として活用することができます。

目次

1. 今回の環境

プライマリクラスター: HPE DX360 Gen10 Plus(3ノード)
リカバリクラスター: NX-1465-G5(4ノード)
AOS: 6.8.0.5(共通)
AHV: 20230302.100187
Prism Central: pc.2024.1.0.1

▽環境のイメージは以下の通りです。今回は1つのAZ内でDisaster Recoveryを構成するため、Prism Centralはプライマリクラスター側に作成し、リカバリクラスターも管理下に置きます。

▽Disaster Recoveryのプロテクションポリシーは、以下のように設定します。1時間ごとのスナップショットで、プライマリ・リカバリ両方のサイトに5世代保管します。検証用の仮想マシン1台もこのポリシーに追加しました。

2. セキュアスナップショットの設定

セキュアスナップショットを使用するためには、承認ポリシーや承認者の設定、またメール送信のためにSMTP設定などが必要となります。今回の作業内容は以下の通りです。順番に紹介します。

2-1. ポリシーエンジンの有効化

セキュアスナップショットの承認ポリシーを作成するためには、ポリシーエンジンを有効化する必要があります。ポリシーエンジンはPrism Centralが稼働しているクラスター上に仮想マシンとして作成されます。

▽Prism Central 「Admin Center」のSettingsから、Policy Engineを有効化します。

▽有効化すると、クラスター上に自動でポリシーエンジンVMが作成されます。

Enabling Policy Engine
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Admin-Center-Guide:adm-policy-engine-enable-t.html

2-2. SMTPの指定

セキュアスナップショットでは、承認者への自動メール送信を使用する場合、SMTPサーバの指定が必須となります。今回は、検証用に作成済みのSMTPを指定してみます。

▽Prism Central 「Admin Center」のSettingsから、SMTPサーバを設定します。

Configuring an SMTP Server for Prism Central
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Admin-Center-Guide:mul-smtp-server-configure-pc-t.html

2-3. 承認ユーザーの作成

スナップショット削除を承認するためのユーザーは、ADなどのディレクトリユーザー、またはPrism Centralのローカルユーザーを使用します。今回はローカルユーザーを作成します。

▽Prism Cental「Admin Center」のIAMにて、以下の通り3名のユーザーを作成しました。メールアドレスも個別に設定しておきます。

Managing Local User Accounts
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Security-Guide-v6_8:mul-user-manage-pc-t.html

また、作成したユーザーに承認操作の権限を与える必要があります。承認に必要な権限は以下の通りです。

このように細かい役割管理(RBAC)をしてもいいのですが、今回は検証なのでシステム定義済みの「Prism Admin」ロールを3ユーザーに割り当てました。この中に承認権限も含まれています。

Authorization Policies
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Security-Guide-v6_8:mul-authorization-policy-iam-pc-c.html

2-4. 承認ポリシーの作成

続いて承認ポリシー(Approval Policy)を作成します。承認ポリシーの設定により、セキュアスナップショットが機能します。

▽Prism Central「Infrastructure」→「Approval Policy」→「Create Aprroval Policy」の順に遷移します。

▽承認ポリシーの名前を入力し「Next」をクリックします。

続いて承認セットを作成します。承認セットとは、承認の段階のようなもので、1次承認→2次承認を定義するイメージです。例えば、承認者の順番をちゃんと決めておきたい場合などは、複数のセットを順番に作成します。

今回は、セット①のみ作成し3名の承認者を追加します。この場合は1次承認のみで終わりますので、3名全員の承認をもってスナップショットは削除されますが、1人でも拒否した場合は、その時点でリクエストは却下されます。

また、承認リクエストの有効期限も決めておきます。有効期限を過ぎても承認者から反応がない場合、リクエストは却下されます。今回は有効期限を1時間で設定しました。

▽以下、今回の設定内容です。

▽最後に、この承認ポリシーのトリガー設定として、Disaster Recoveryのプロテクションポリシーを追加します。ここで追加したプロテクションポリシーのスナップショットに対して、承認ポリシーが適用されます。

▽作成した承認ポリシーは以下の通りです。

以上で、セキュアスナップショットの設定は完了です。

Configuring Approval Policy for DR Snapshots
https://portal.nutanix.com/page/documents/details?targetId=Disaster-Recovery-DRaaS-Guide-vpc_2024_1:ecd-approval-policy-dr-configure-pc-t.html

3. スナップショット削除後の動き

ここからは、実際にスナップショットを削除して動きを確認してみます。以下イメージ図です。

3-1. スナップショットの削除

▽管理者ユーザーでPrism Centralへログインし「VM Recovery Points」で対象の仮想マシンを選択します。

リカバリポイント(スナップショット)が時系列で表示されます。この中で、承認ポリシー適用以降に作成されたスナップショットには「Secure」の表示が確認できます。これがセキュアスナップショットです。

▽対象のセキュアスナップショットを選択してActionsから「Delete」をクリックします。

▽確認画面が表示され、このリカバリーポイントは承認ポリシーでセキュアになっているとの表示が出ます。「Delete」をクリックして削除を実行します。

▽リクエスト画面に今回の削除リスエストが表示されますのでクリックします。

▽リクエスト情報が表示され、セット情報で承認ステータスが確認できます。承認者が承認操作をしていない状態では、以下のように「Pending」と表示されます。

3-2. 承認操作

▽スナップショットの削除操作が実行されると、ポリシーエンジンが発動して承認者全員へ以下のようなメールが即時発行されます。

▽承認者ユーザーでPrism Centralにログインし、承認ポリシー画面を表示すると、承認待ちのリクエストが確認できますので、こちらをクリックします。

▽ここで「Approve(承認)」または「Reject(拒否)」が選択できます。

▽承認者が承認すると、以下のようなステータスになります。画像の例では「user01」と「user02」が承認しています。

Approving or Rejecting an Approval Request
https://portal.nutanix.com/page/documents/details?targetId=Disaster-Recovery-DRaaS-Guide-vpc_2024_1:ecd-approval-policies-dr-pc-c.html

3-2-1. リクエストを拒否した場合

▽試しに3人目のユーザーでリクエストをReject(拒否)してみたところ...

▽ステータスが「Rejected」となり、リカバリポイント削除のタスクは「失敗」しました。セキュアスナップショットとして、これが想定通りの動きとなります。

3-2-2. 全員が承認した場合

▽承認者が全員承認した場合は以下のようなステータスとなり

▽リクエスト承認となりますので、スナップショットの削除が実行されました。

4. リカバリーポイントを全消しした場合

ここまでは、リカバリーポイントのセキュアスナップショットを個別に選択して削除しましたが、せっかくなのでリカバリーポイント全消しを試してみました。

VM Recovery Points画面で、対象の仮想マシンを選択して「Delete」をクリックしてみます。

▽すると、セキュアスナップショットの数だけ承認リクエストが作成されました。リカバリーポイント全消しにもちゃんとポリシーは発動してくれるようですね。

5. まとめ

いかがでしたでしょうか。セキュアスナップショットを使用すると、承認者が承認するまでスナップショットが削除できないことが分かったかと思います。セキュリティ強化機能として、ぜひ覚えておくとよさそうですね。

ちなみに、承認ポリシーは一度作成したら削除できないのでご注意ください。編集はできますが、編集にも承認者の承認が必要となります。

【図解】NutanixにおけるPrism Centralの役割

※この記事の情報は「AOS 6.7」および「Prism Central pc.2023.4」時点での情報をもとに、筆者がまとめたものになります。その後の情報アップデートはメーカーの公開情報をご確認いただくか、メーカーに直接お問い合わせください。

Prism Centralでよくこのようなご質問をいただくことがあります。

そこで今回はNutanixの製品ポートフォリオにおけるPrism Centralのポジションや役割について載せておきます。

▽Nutanixの製品ポートフォリオはこんな感じで紹介されており、各要素がライセンス名にそのまま紐づいています。

△ みなさんはこの中で、Prism Centralがどこに関わっているかをどのくらい説明できるでしょうか?

▽上の図だけだとイメージしづらい人もいるかと思いますので、実際の機能名や絵を追加して作成したのが以下のポートフォリオ図になります。ついでにPrism Centralが関係する部分も分かるようにしました。

ここで言いたいのは、Prism Centralが提供する機能はNCI・NCM・NUSライセンスを横断しているということ。これがPrism Centralの理解が難しいといわれる理由でもありますが、上記のポートフォリオ図でイメージがついたでしょうか?

▽以下のスライドでPrism Centralの役割や費用についてもまとめています。こちらも内容理解にご活用ください。

以上、今回はこの辺で。

Nutanixのスナップショットをできる限りスナップショットロック状態にする方法を考えてみる

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

この記事は Nutanixアドベントカレンダー2023 の「12/18」の記事です。

adventar.org

ランサムウェア対策の一環として、バックアップ/スナップショット データを一定期間、変更や削除不可(ロック状態)にする機能が搭載されている製品があるかと思います。

Nutanixでは、ネイティブ機能でローカルやリモートサイトにVMのスナップショットを取得し、読み取り専用(変更不可)で保存することができますが、ロック(削除不可に)する機能は提供されていません。(AOS 6.5時点)

そこで今回は、Nutanixの機能を使用して、できるだけ削除不可に近い状態を再現してみました。ただ今回は、セキュリティを定義する範囲や設定内容などを細かく考える時間がなかったので、クリスマス会で使えるNutanixの雑なネタ枠としてご活用ください。

1. 今回の環境

プラットフォーム: NX-1465-G5
AOS: 6.7
AHV: 20230302.207
スナップショット対象VM: Windows Server 2022

※今回はハイパーバイザーをAHVとし、PDベースでスナップショットを取得した場合を想定します。また今回は、Prism Central側の機能であるリカバリーポイントなどは対象としません。スナップショットが削除されてしまうケースを防止する、という観点で雑に解説します。

スナップショットが削除されてしまうケース

Nutanixでは、CVMが物理ドライブに直接接続されており、HCIの分散ストレージプールを作成して、仮想マシンのデータやスナップショットを保管しています。そのため、CVMにアクセスできればスナップショットの削除操作は可能となります。

① CVM に SSH で不正ログインされ CLI で消されてしまう

例えば悪意のある攻撃者が何らかの方法でCVMのアカウント情報を入手した場合、SSHアクセスでCVMにログインし、CLIコマンドでスナップショットを削除してしまうというケースが考えられます。

② AHVにSSHで不正ログインされ CVM 経由で消されてしまう

実は、AHVとCVMはローカルのパスを持っているため、AHVへSSHアクセスでrootログインできれば、そのままCVMにSSHでログインされてしまうケースも考えられます。

③ Prism Element に不正ログインされ、コンソールから消されてしまう

最後に、CVMの「admin」といった権限の強いアカウント情報が盗まれて、Prism Webコンソールにログインされてしまうパターンです。Prism Elementにadmin権限でログインされた場合は、スナップショットも簡単に削除されてしまいます。

この様に、Nutanixでは、ストレージを制御しているCVMからスナップショット削除が可能であるため、これらのケースを踏まえてCVMへの侵入を可能な限りブロックする方法を考えてみます。

CVMへの侵入を防止し、スナップショットロック状態に近づける方法

方法①CVM/AHVのパスワードを強化する

CVMやAHVパスワードのデフォルト最低文字数は8文字ですが、これをクラスターの設定で最低15文字にしたり、複雑性の要件を強化したりできます。最低15文字といった設定内容は、RHEL STIGのガイドラインでも定義されているものです。これまで、パスワードの強化項目は、CVMからのコマンド操作で設定可能でしたが、AOS 6.6/pc.2022.9以降のPrism Centralでは、セキュリティダッシュボードからワンクリックで有効化することができるようになりました。

パスワードの強化というと単純な内容に聞こえるかもしれませんが、より推測されにくいパスワードをきちんと設定して管理すれば、セキュリティの強化につながります。これはケース①②に対する対策として特に有効ですが、とにかくrootやadminといった強権を持つローカルアカウントのパスワードを強化して、絶対に他人に公開しない。また緊急時のアカウントという扱いにして、普段の運用では可能な限り使用しない。というのが大切です。

方法②クラスタロックダウンを使用する

クラスタロックダウンを使用すると、AHVやCVMへのパスワード認証によるSSHアクセスを禁止したり、SSH鍵認証方式のみでのログインを許可したりできます。これは、同様にケース①②への対策となります。

SSHアクセス自体を完全にブロックしてしまうこともできますし、管理者側で作成したSSH公開鍵を登録して、秘密鍵を持っている端末からのみアクセス可能にすることもできます。

クラスタロックダウンを使用して、普段はSSHアクセスを制限しておくといった方法は、CVMやAHVへの不正アクセスを防止するうえで重要ですが、注意点としてはSSHで別途クラスターにアクセスする必要があるバックアップソフトやUPSなどがある場合に、むやみにロックダウンを設定できない場合があるといった事でしょうか。

方法③強い権限のユーザーをPrismなどの運用で利用しない

最後に、普段の運用で「admin」などの強権ユーザーの利用や露出を避けるといった事を紹介しておきます。ローカルユーザーやディレクトリ連携したユーザーなどで、ユーザーロールや RBACを使用して操作できる機能を制限していくという方法です。

例えば、とあるデータセンターの運用監視オペレーターチームでは、クラスターのサマリやパフォーマンス、リソースの使用状況やアラートといった情報を、Prism Elementから確認している、といった作業があるかもしれません。そういった情報の参照のみのオペレーションでクラスターを操作する必要がないのであれば、権限の弱いユーザーロールである「Viewer」でログインするなど、必要最低限のユーザロールに限定することができます。

また、Nutanixではプロジェクトといった仮想マシンやアプリケーションのデプロイ機能なども提供されているため、開発チームなどにおいてもPrism CentralのRBAC機能で必要な仮想マシンやアプリケーションのみに細かく機能制限をかけたりすることで、スナップショットなどに関わるストレージ側を触らせないといった事が可能になります。

ユーザーと RBACでは、設計次第で様々な構成ができるかと思います。ちなみに、インフラの管理者においても、admin権限を持つアカウントの普段使いは避けることをおすすめします。

まとめ

ここまでかなり雑な説明をしてきたわけですが、全部まとめるとこんな感じになります▽

これで、運用でカバー」という名のスナップショットロック状態の完成です。もっとこんなこともできますとかあればぜひ教えて下さい。

今回はこのへんで。

Nutanix AHVの仮想マシンテンプレートを使ってみる④ ~ガイドスクリプト編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

前回の記事では、Nutanix AHV環境で、Sysprepによる応答ファイルを使用して、VMテンプレートを作成→デプロイしてみました。今回はPrism Centralに搭載されているガイドスクリプト機能とSysprepを使用して、VMテンプレート機能を触ってみます。

1. 今回の環境

Hardware Platform: NX-1175S-G8
AOS: 6.5.3.7 LTS
Hypervisor: AHV 20220304.423
Prism Central: pc.2023.3
テンプレート対象VM: Windows Server 2022

※作業イメージは以下の通りです

2. テンプレート化するVMの準備

▽テンプレート化するVMですが、今回はWindows Server 2022をインストールした仮想マシンを準備しました。こちらをSysprepの監査モードに入れてから「一般化」および「シャットダウン」を実行します。実行すると、VMが自動で停止します。

※今回は応答ファイルは作成不要です

3. VMテンプレートとガイドスクリプトの作成

▽Prism CentralのVM一覧から対象の仮想マシンを選択して「Create VM Template」をクリックします。

▽テンプレート作成画面にて「Sysprep(Windows)」および「Guided Script」を選択して、各項目を入力します。今回は、ユーザーの作成とホスト名の設定、を入力しました。一点だけ、これは...というポイントとしては、地域/言語で「English(US)」と「French」しか選択肢がないことです。デフォルトはEnglishです。(pc.2023.3時点)

日本語を選択できないため...現状国内での利用シーンは限られそうですね。

▽設定が確認できたら「Save」をクリックしてテンプレートの作成を完了します。

4. テンプレートからのVMデプロイ

▽Prism Centralのテンプレート画面にて、作成したテンプレートからVMをデプロイします。

▽デプロイしたVMを起動すると、自動セットアップが進み、今回設定しなかったライセンスキーの入力だけ求められました。ガイドスクリプトでライセンスキーを入力していればこの項目も自動化されていたと思います。今回は、「後で」を選択して進めます。

▽セットアップが完了するとログイン画面が表示されますが、一部だけ英語になっていますね...。

▽ガイドスクリプトで入力したユーザー「test」が作成されていますので、このユーザーでログインします。

▽ログインしてみると、めっちゃ日本語ですね。おそらく英語の言語パックが含まれていないためだと思われます。

▽地域をみてみると、こちらは米国になっています。

▽言語の設定画面も結構バラバラになっていますね。

▽ホスト名は指定した通りで、設定されていることが確認できました。

おわりに

今回はAHV VMテンプレートにおける、Prism Centralに搭載のSysprepガイドスクリプト機能について紹介しました。現状は選べる言語が限られており、デフォルトで英語になってしまうので国内での利用シーンは限定されそうですが、今後日本語にも対応することに期待したいですね。

参考リンク
VM Template Management(AHV Administration Guide)
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_7:mul-vm-template-create-manage-pc-c.html
VM Template Management(Prism Central Infrastructure Guide)
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2023_3:mul-vm-template-create-manage-pc-c.html

Nutanix AHVの仮想マシンテンプレートを使ってみる③ ~Sysprep応答ファイル編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

前回の記事では、Nutanix AHV環境で、カスタマイズなしでVMテンプレートを作成→デプロイしてみました。今回はVMテンプレート機能にて、Sysprepの応答ファイルを使用してみます。

1. 今回の環境

Hardware Platform: NX-1175S-G8
AOS: 6.5.3.7 LTS
Hypervisor: AHV 20220304.423
Prism Central: pc.2023.3
テンプレート対象VM: Windows 10

※作業イメージは以下の通りです

※一般的なSysprepと応答ファイルの併用では、作成した応答ファイルを特定のフォルダに配置してからSysprepを実行するやり方もあるかと思いますが、今回はPrism Centralに応答ファイルのアップロード機能があるため、そちらを使用します。

2. テンプレート化するVMとSysprep応答ファイルの準備

▽テンプレート化するVMですが、今回はWindows 10をインストールした仮想マシンを準備しました。こちらをSysprepの監査モードに入れてから「一般化」および「シャットダウン」を実行します。実行すると、VMが自動で停止します。

Sysprepの細かい手順などはメーカードキュメントをご確認ください。
Windows インストールに対する Sysprep (一般化) の実行
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-10

▽また、今回使用するSysprepの応答ファイルですが、Windows ADKやPEを使用して「unattend.xml」ファイルを作成しました。内容としては、初期設定の自動化ADへの自動参加などを設定しています。

応答ファイルの作成方法についてはメーカードキュメントをご確認ください。

応答ファイル (unattend.xml)
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/update-windows-settings-and-scripts-create-your-own-answer-file-sxs?view=windows-10

Windows ADK のダウンロードとインストール
https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install

3. VMテンプレートの作成

▽Prism CentralのVM一覧から対象の仮想マシンを選択して「Create VM Template」をクリックします。

▽テンプレート名入力後「Guest Customization」にて「Sysprep(Windows)」および「Costom Script」を選択して作成済みの応答ファイルをアップロードします。

▽アップロードされたことが確認できたら「Save」まで進めてテンプレート作成を完了します。

これで、Sysprepの応答ファイルを仕込んだVMテンプレートの作成が完了です。

4. テンプレートからのVMデプロイ

▽Prism Centralにて、作成したテンプレートから2台のVMをデプロイしてみます。

▽デプロイしたVMをパワーオンしてコンソールを起動すると、Sysprepの応答ファイルが読み込まれてセットアップが自動で実行されている様子が確認できます。

▽セットアップが完了すると、ドメインにも自動参加されていましたので、ドメインユーザーでログインしてみます。

▽無事ログインできたことが確認できました。※デスクトップの壁紙にはBGInfoを使用しています。

5. テンプレートのホスト名やSIDについて

前回の記事では、カスタマイズなしのテンプレートからのデプロイではホスト名やSIDが重複するといった事を書きましたが、今回はどうなっているかもお見せします。

▽Sysprepを実行しているので当然ですが、同時デプロイした2台のVMを比較すると、重複せずに別々の識別子が割り当てられていることが確認できます。

6. テンプレートからのデプロイ時に応答ファイルを指定したい場合

▽テンプレート作成時にはSysprepの応答ファイルをアップロードせずに、「Allow users to override at VM Deployment?」を「はい」にしてテンプレートを作成します。

▽これを設定してテンプレートを作成すると、VMデプロイ時に任意の応答ファイルをアップロードすることができます。デプロイ時に応答ファイルを使い分けたい場合などで利用できそうですね。

おわりに

いかがでしたでしょうか?Nutanix AHV VMテンプレートにおけるSysprepでは、Microsoft社から公開されている方法で作成した応答ファイル(unattend.xml)が使用できることが分かったかと思います。

実はAHVのVMテンプレートでは、Prism Centralに搭載されているガイドスクリプトという方法で、応答ファイルなしでSysprepによる設定の自動化を実行する方法もあります。※内容はあまり充実していないのですが...。

こちらは、次回の記事で紹介します。

参考リンク
VM Template Management(AHV Administration Guide)
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_7:mul-vm-template-create-manage-pc-c.html
VM Template Management(Prism Central Infrastructure Guide)
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2023_3:mul-vm-template-create-manage-pc-c.html

次回
Nutanix AHVの仮想マシンテンプレートを使ってみる④ ~ガイドスクリプト編~