ラベル 仮想マシンテンプレート の投稿を表示しています。 すべての投稿を表示
ラベル 仮想マシンテンプレート の投稿を表示しています。 すべての投稿を表示

2022年9月20日火曜日

仮想マシンテンプレートを更新する ~AOS6.5の機能紹介(その4)~

前回は、仮想マシンテンプレートを利用した、テンプレートの登録と展開という基本的な動作を確認しました。

実際の運用では、テンプレートで作成した仮想マシンも時間が立てば古くなるため、インストールしたソフトウェアのアップデートやOSのセキュリティパッチ適用が必要になると思います。

今回は、テンプレートのアップデート機能をご紹介いたします。

テンプレート画面から、更新したいテンプレートを選択し、「Update Guest OS」をクリックします。

どのバージョンを更新するかを選択します。初回テンプレート登録時は初期しかありませんので、「Initial Version」を選択し、「Proceed」をクリックます。


次に流れが表示されます。仮想マシンがデプロイされるのでその仮想マシンで、アップデート処理を行って頂き、アップデート後そのイメージを反映させます。


更新用仮想マシンが展開されます。展開が完了すると、メンテナンス用の仮想マシン名称が表示されます。このリンクをクリックすると、PrismCentralの仮想マシン管理画面にジャンプしますのでそのまま仮想マシンのメンテナスが可能です。

該当の仮想マシンをパワーオンしアップデートの作業を行います。
作業が完了したら、仮想マシンを終了します。


アップデート完了後、Prism Centralの画面から「Complete Guest OS Update」をクリックします。


続いて、新しいバージョンの名称や更新した内容を入力します。テンプレートをそのまますぐに反映させる場合は、「Yes, set this new version as active」をチェックを入れます。(今回は、このタイミングでは未チェックで更新します)
最後に、Complete Updateをクリックします。


次に、実際に利用するテンプレートのバージョンを切り替えます。
テンプレートをクリックし名をクリックし、バージョンを表示させます。


デフォルト展開のテンプレートを指定することができます。Configmをクリックすることで指定したテンプレートバージョンがActive化されデフォルトのテンプレートとして利用されます。

なお、古いバージョンのテンプレートも先ほどのバージョン一覧画面からチェックを入れれば展開が可能です。また利用しなくなったバージョンは削除することも可能です。
(Activeに設定されたバージョンは削除できません)


テンプレート機能でバージョン管理ができる点は、非常に便利だと思います。
また、内部的にはNutanixのストレージスナップショット機能を利用した差分データーブロック管理を行っているため、ストレージ容量が削減できる点も評価のポイントであると思います。



2022年9月19日月曜日

仮想マシンをテンプレート化する ~AOS6.5の機能紹介(その3)~

従来から、仮想マシンをテンプレート化する機能はありますか?とAHV環境のNutanixにおいてよく聞かれることがあります。

ImageServiceはありましたが、この機能がvSphereのテンプレート機能の補完になるとは正直言い難いところもあり、かつテンプレート機能はなくても、マスターVMをクローンすれば使えるという側面もあり、機能実装もなかなか優先度が上がっていなかったように感じますが、ついにPrismCentralにおいて仮想マシンのテンプレート機能が実装されました。

こちらもAOS6.5での実装という扱いになっていますが、実際には少し前のPrism Centralから利用可能となっております。

本日はこのテンプレート機能についてご紹介いたします。

テンプレート機能の制限は以下の通りです。

  • AHVクラスターのみが対象となります。(vSphere/Hyper-V仮想マシンは、Prism Centralからテンプレート管理できません)
  • テンプレートは、ソース VM から、「ホスト アフィニティ属性」「HA 優先度属性」「Nutanix ゲスト ツール (NGT) 」の属性をコピーしません。
  • RF1 コンテナー上にあるディスクを持つ VM から VM テンプレートを作成することはできません。

一方で普通のテンプレート機能にはめずらしい、テンプレートのバージョン管理機能を持っています。

まずは、新規でテンプレートを追加してみましょう。

まずは、PrismCentralからテンプレートにしたい仮想マシンを選択し、右クリックから「Create VM Template」をクリックします。

テンプレート化するにあったての設定が行えます。そのまま展開もできますが、Sysprepやcloudiitを使ったカスタマイズが可能です。(今回はカスタマイズなしとしてみます)
なぜか、Localeが、英語とフランス語しかないのはよくわかりません...。日本の場合は、Englishを選択すればよいかと思います。


「Allow users to override at VM Deployment?」は、一部のパラメーターをユーザーがテンプレートから展開する際に変更可能を許可するかの有効/無効パラメーターとなります。(今回は有効にしてみます)

次に進むとサマリーが表示されますので、確認して保存をクリックします。


手順はこれだけです。これでテンプレートは完了です。何も難しいことはありません。

このテンプレートはどこで管理されるのでしょうか?テンプレートのソースVMのRecoverPointを確認すると、テンプレート用の仮想マシンとしてスナップショットを取得していることがわかります。すなわち、テンプレートのイメージはソースクラスターのストレージ内で保存されていることがわかります。テンプレートはクラスターをまたいで展開ができるため、ソースVMが存在しない別クラスターで展開する場合は、イメージの転送が行われるため、その時間は考慮しておく必要があります。また、PrismCentralから該当のクラスターを登録から外すと不具合が発生すると思われますので、この点も注意が必要です。(あとからNutaixクラスターをPrism Centralから登録解除することは、まずないと思いますが)



では、テンプレートからのDeployも確認してみましょう。

テンプレート画面から、展開したテンプレートをチェックし、「Deploy」ボタンをクリックします。


展開ウィザードが開始されます。今回はAdvancedをクリックして詳細画面を見ていきましょう。


ここで、仮想マシンの展開する情報を入力します。仮想マシン名称から展開する台数や、仮想マシンのスペックも指定が可能です。
なお、展開するクラスターは、マスターVMが存在していたクラスター以外に、Prism Centralで管理しているクラスター内で展開可能です。

必要な情報を入力後、「次へ」をクリックします。

続いて、NICのネットワーク割り当てなどを確認します。BIOS/UEFIは、モード変更は、この画面ではできません。(おそらくできても意味がないと思います)

設定内容を確認後、次へをクリックします。

続いて、サマリーページが表示されますので、サマリーページを確認後Deployをクリックします。なお、サマリーページから再度設定パラメーターを変更することもできます。


これで、仮想マシンは展開されます。カスタマイズを設定していた場合、パワーオン時にカスタマイズスクリプトが実行される形となります。

動きを見れば大した話ではないのですが、これでテンプレートの管理及び展開は完了です。


ここまでは基本編でしたが、次回は、テンプレートの更新管理についてご紹介します。





2016年12月13日火曜日

AHVで、既存の仮想マシンをテンプレートとして利用する方法

この記事は、古い記事となっております。2025年5月現在、Prism Centralを使ったテンプレート機能が利用できますので、そちらの機能の利用もご検討ください。なお、こちらで記載の手法は、現在でも利用可能です

vSphereには、作成した仮想マシンをテンプレートとして保存し、都度その点プレートを元に仮想マシンを簡単にコピー・カスタマイズして展開をする機能を持っています。
この機能は、都度仮想マシンが必要になった際に、OSのインストールやアップデート作業など事前作業をスキップすることができるため大変有効な機能だと思います。

では、AHVを利用した場合、これに相当する機能はあるかという疑問がわいてきます。

この記事を書いている環境は、「AOS4.7.2」ですので、今後新しいバージョンではわかりませんが、現段階では、vSphereの仮想マシンテンプレートに相当する機能は存在しないようです。

ただし、仮想マシンのクローンだけでよければ、仮想マシンのコピーはもちろん可能です。
(残念ながら、コピー時にsysprepをかけるとか、ホスト名を変更するなどはできません)

しかし、クローンの元となるゴールドイメージも通常運用する仮想マシンの一覧に上がってくると、謝ってゴールドイメージの仮想マシンの電源を入れて、不要なオペレーションをしてしまうことや、そもそもゴールドイメージの仮想マシンを誤って消してしまうこともあり得るかもしれません。

そういったオペレーションを防ぎ、ゴールドイメージから仮想マシンを展開する機能として、「Image Service」という機能が、AHV版のNutanixには搭載されています。

これは、以前に紹介したHyper-Vからの移行の際にも利用しました。
この機能は、元々ゴールドイメージを管理するためのツールです。
しかし、このImage Serviceは、GUIからですと、既存でAHV上に存在する仮想マシンを、Image Serviceに登録することができません。

ただ、コマンドを利用すればImage Serviceに作成した仮想マシンの仮想ディスクをゴールドイメージとして登録することができます。
今回はその方法をご紹介したいと思います。

まずは、CVMに接続して、テンプレートにしたい仮想マシンのUUIDを調べます。
仮想マシン名称に半角スペース等が入っている場合は、「"」を前後につけてコマンドを実行しましょう。
acli vm.get "仮想マシン名"

すると結果として以下のような結果が出てきます。


VM-Windows Server 2016 {
  config {
    annotation: ""
    disk_list {
      addr {
        bus: "ide"
        index: 0
      }
      cdrom: True
      container_id: 289271
      container_uuid: "dfda6b0f-5a5a-404b-a3dd-b4ff588fbdfd"
      source_nfs_path: "/Container/.ngt/89b1e252-2b06-4ad0-b59b-a4339cd62784/nutanix_guest_tools.iso"
      vmdisk_size: 91115520
      vmdisk_uuid: "5c199427-4978-4983-a889-ee5d8d028415"
    }
    disk_list {
      addr {
        bus: "scsi"
        index: 0
      }
      container_id: 289271
      container_uuid: "dfda6b0f-5a5a-404b-a3dd-b4ff588fbdfd"
      vmdisk_size: 64424509440
      vmdisk_uuid: "cb97b701-5c23-495e-9417-b39530dfe2c3"
    }
    max_hotplug_memory_mb: 262144
    memory_mb: 3072
    name: "Windows Server 2016"
    nic_list {
      mac_addr: "52:54:00:0f:07:19"
      network_name: "AHV Network"
      network_uuid: "409aa584-f180-4937-89e2-b56d68c89865"
    }
    num_cores_per_vcpu: 1
    num_vcpus: 2
  }
  logical_timestamp: 12
  state: "kOff"
  uuid: "89b1e252-2b06-4ad0-b59b-a4339cd62784"
}

この中の仮想ディスクにあたり箇所の「vmdisk_uuid」を選択します。
上位にある「vmdisk_uuid: "5c199427-4978-4983-a889-ee5d8d028415"」は、「cdrom:True」と記載がありますので、こちらではなく「vmdisk_uuid: "cb97b701-5c23-495e-9417-b39530dfe2c3"」になります。間違えないように注意が必要です。

あとは、この仮想ディスクのUUIDを元にイメージサービスに登録をするだけです。
acli image.create "イメージ名" clone_from_vmdisk=ゴールドイメージの仮想ディスクUUID  image_type=kDiskImage

今回は、イメージ名を「Windows Server 2016 Template」とし、上記の仮想マシン情報から取得した仮想ディスクを元に作成したいと思いますので、以下のコマンドとなります。
acli image.create "Windows Server 2016 Template" clone_from_vmdisk=cb97b701-5c23-495e-9417-b39530dfe2c3 image_type=kDiskImage

おそらく、登録はほぼ一瞬で終わると思います。
これで、Image Serviceを見てみると登録されていることがわかります。


では、テンプレートから仮想マシンを作成する際の手法も簡単に押さえておきましょう。
まずは、普通の仮想マシンを作成し、Diskを追加します。



仮想ディスクを追加する際に、Operationを「CLONE FORM IMAGE SERVICE」を選択すると、先ほど作成したテンプレートが出てきますので、これを選択し、必要な容量を設定した上でディスクをAddしてください。



これで、後は普通通りに仮想マシンを作成すれば終わりです。
ちょっと一手間ありますが、そんなに難しい手法ではありません。

今後新しいバージョンでおそらくGUIからの操作ができるようになる気がしますが、それまでの間は、この手法でゴールドイメージの管理が可能です。