クラウド屋さんになりたい

地方でインフラエンジニアやってます。 仮想環境を含めた広義のクラウド屋さんを目指して、勉強したことや思ったことをゆるく書いてみます。 時代や最新技術の流れに置いていかれないよう、のんびりでもコツコツ頑張りたいなあ。

CVMの役割をシンプルに整理してみる(なぜ1ノード1台なのか?)

はじめに

Nutanixを触っていて「なぜCVMは1ノード1台なのだろうか?」と気になりました。ということで今回はCVMの役割をシンプルに整理しつつ、1ノード1台の理由を探っていきたいと思います。

※個人的な勉強メモとなりますので、記載内容について一切の責任は持ちません。

今日のトピックス

・CVMの役割をシンプルに整理してみる。
・なぜ1ノード1台なのかを理解する。

CVMの役割を一言で言うと

  • Nutanixの制御プレーン
    • Nutanixの内部では、さまざまな分散サービスが動作している。代表的なものは以下。これらは全てCVM内で動作をしている。

なぜ1ノード1台?

Nutanixの設計思想は「1ノード = 1ストレージコントローラ(CVM)」という構成に基づいているため。

  1. ローカルディスクの I/O パスを一元管理するため
    • CVMはノード内の全ディスクを直接制御するコンポーネント
    • もし複数台のCVMが動作した場合、「どのCVMがどのディスクを扱うのか?」という競合が発生する。
      ⇒ RAIDコントローラが1ノードに複数不要なのと同じ理由。

  2. 分散ストレージを成立させるため
    • Nutanix の分散ストレージはノード単位でデータを保持・複製する。
    • I/O処理は各ノード上のCVMが行う。
    • 1ノードに複数のCVMがあるとデータ複製やメタデータが矛盾する原因になる。

CVMが停止するとどうなるか?

  • 該当ノードのI/Oを担当するStargateが停止 → そのノードのVMはI/Oパスが無くなる
  • データの複製(Curator)が遅延 → クラスタ健全性が低下
  • Prism/Zeusメタデータの冗長度が低下 → 障害時の対応幅が狭くなる

おわりに

今回はCVMについて調べてみました。Nutanixのコアコンポーネントなだけあって重要な機能を担っていますね。勉強を始めたころは、「ノード上に複数台あっても良いのでは?」と思ったこともありましたが、実際には、
・ローカルディスクの一元管理
・分散ストレージの構成
といった観点から「1ノード=1台」が最適な設計であることが分かりました。多ければ良いというものではないですね。

こういった仕組みを理解しておくことで、トラブルシュートやクラスタ構成・設計の理解にもつながります。今回の調査が今後の知識の土台になればうれしいなと思います。

無茶してみた:要件未満の環境でNutanix CEを動かした結果

この記事は Nutanix Advent Calendar 2025 の12月9日分として書きました。

はじめに

自宅検証環境のNutanix CEは要件通りに構築して触っていますが、ふと気になりました。「もし最低要件を満たさない環境で動かしたらどうなるのだろう?」と。

もちろん公式的には推奨されない環境なので、本番環境では絶対に避けるべきですが、これこそ検証環境だからこそできる“無茶”ですよね。

そこで今回は、CPU・メモリ・ディスクを要件未満に削ってみて、 Nutanix CEがインストールできるのか?Prism Elementは起動するのか?そして操作感はどう変わるのか?を実際に検証してみました。

今日のトピックス

  • あえてリソース要件を下回るNutanix CE環境を構築してみる。
    • CPU・メモリ・ディスクを削った9パターンで検証する。
    • インストール可否・Prism起動・操作感を確認する。

Nutanix CEのリソース要件

まずは前提となる、Nutanix CE(Community Edition)の最小要件をおさらいします。ある程度のリソースが必要となっています。

今回の検証環境

今回の検証は、以前の記事で紹介した自宅検証環境を利用しています。 ESXi上の仮想マシンとしてNutanix CEを構築します。この環境をベースに、CPU・メモリ・ディスクを要件未満に削った全9パターンで検証を行いました。インストール手順はこちらの記事に沿っています。

  • ハイパーバイザー:VMware ESXi 7.0 U2
  • Nutanix CE:2.1 (AOS 6.8.1ベース)
  • 仮想マシン構成(要件通りの場合)
    • vCPU:4
    • メモリ:32GB
    • ディスク:
      • [H]Hypervisor Boot:32GB
      • [C]CVM Boot:200GB ※Hot Tier
      • [D]Data:500GB ※Cold Tier

検証パターン

今回の検証パターンは以下の通りです。

検証結果

早速ですが各パターンの検証結果は以下の通りとなりました。以降各パターンの詳細を紹介していきます。

CPUを減らした場合(パターン①②③)

  • 結論:
    • いずれのパターンでもNutanix CEのインストールは完了しなかった。
    • Nutanix CEをインストールするためには、AHV用2vCPU+CVM用2vCPUの合計4vCPUがやっぱり必要。
  • 状況:
    • パターン①②はAHVのインストールは完了するが、CVMの作成に失敗。
      • 起動後のAHV上で「virsh list」コマンドを実行してがCVMが表示されない。
    • パターン③はAHVのインストールが序盤で失敗。
  • 原因(予想):
    • CPUを減らした場合の検証なので、CPUのリソース不足が原因のはず。
  • 調査内容:
    • パターン①②においてインストールログ(/var/log/installer.log)に、『'skip-create-cvm-xml': True』と『Computed CVM size to be vcpu 0, mem 16』のログ有。
    • パターン③においてコンソールに、『Not enough cores on node. Expected 2 cores, detected 1 cores.』のメッセージ有。
  • 考察:
    • パターン①②は、CVM用のCPUが割り当て不可のためCVM作成用のXMLファイルが作られていない?その結果、CVMの作成に失敗している?
    • パターン③は、AHVインストール用のリソース(vCPU)が足りない?
    • この結果から、Nutanix CE環境では、AHV用に2vCPU、CVM用に2vCPUがそれぞれ必要。

メモリを減らした場合(パターン④⑤⑥)

  • 結論:
    • パターン④はNutanix CEのインストールに成功。クラスター作成やPrismログインまでOK。仮想マシン作成も可能。操作感も問題は無さそう。
    • パターン⑤⑥はAHVのインストールが序盤で失敗。
    • Nutanix CEをインストールするためには、最低24GBあればOK(?)。
  • 状況:
    • パターン④は一通りの環境構築に成功した。
      • Prismログインも正常に完了。操作感も問題ないが、インストール直後のメモリ使用率が約84%だったため、CVM以外に構築できる仮想マシンは1台~2台程度が限界な気がする。もちろんPrism Centralの展開も不可能。
    • パターン⑤⑥ともにネットワーク設定やEURAまでは進むが、その後のAHVインストール時にエラーが発生。
  • 原因(予想):
    • メモリを減らした場合の検証なので、メモリのリソース不足が原因のはず。
  • 調査内容:
    • パターン⑤においてAHVインストール中にエラーになったが、VMwareのリモートコンソールを利用していたため具体的なエラーメッセージは特定できず…。早々に流れていきました…。
    • パターン⑥においてコンソールに、『Not enough physical memory on node. Expected 11.000000 GB, detected 7.78000 GB.』のメッセージ有。
  • 考察:
    • パターン⑤はもう少し詳細調査を行う必要がある。
    • パターン⑥はAHVインストール用のメモリ数が足りて無さそう。少なくともAHVのインストールには最低12GBのメモリが必要?

ディスク容量を減らした場合(パターン⑦⑧⑨)

  • 結論:
    • パターン⑦はNutanix CEのインストールに成功。クラスター作成やPrismログインまでOK。仮想マシン作成も可能。操作感も問題は無さそう。
    • パターン⑧はAHVのインストール開始すらできなかった。
    • パターン⑨はNutanix CEのインストールに成功。リソース要件通りに構築した時とあまり差は無かった。
    • Nutanix CEをインストールするためには、最低でも[H]16GB、[C]200GB、[D]200GBあればOK(?)。
  • 状況:
    • パターン⑦は一通りの環境構築に成功した。
    • パターン⑧はAHVのインストール開始すらできなかった。
      • インストールディスクやネットワーク設定の画面で『CVM boot disk(s) must be at least 200 GB in size.』のメッセージ有。
      • [C]と[D]を逆にしても『Data disk(s) must be at least 200 GB in size.』のメッセージ有。
    • パターン⑨は一通りの環境構築に成功した。
  • 原因(予想):
    • ディスクを減らした場合の検証なので、ディスクのリソース不足が原因のはず。
  • 調査内容:
    • 状況:に記載した通り、コンソール上に明確にディスク容量が足らないためといったメッセージ有。
  • 考察:
    • Nutanix CEのインストールにおいて、[H]のディスクは32GBを下回っても大丈夫そう?
    • [C]と[D]は最低200GBが必要。それ以下であればインストールに進むことすらできない。

検証を経ての結論

  • 全9パターンでNutanix CEインストール完了まで進めたのは3パターン。(パターン④、⑦、⑨)
  • Nutanix CEのインストールには最低でも以下のリソースが必要と思われる。
    • CPUは要件通り絶対必要!
    • メモリは24GBでもギリ動きそう。(Prism触ってみたいだけならありかも・・・)
    • ディスクはCVMとDataで200GBずつ必須。

おわりに

今回の検証で、Nutanix CEは最低要件を満たさなくても動作するパターンがあることが分かりました。ただし長く使うことを考えると安定性にはやや不安が残りそうだなあという感想です。また今回は各パターン1回ずつ実施しましたが、もしかしたら"たまたま"という結果になったものもあるかもしれません。再現性があるかも確認してみたいです。もしリソース不足で導入を迷っている方がいれば、本記事がチャレンジの参考になればうれしいです。
(ちなみに、、、私の環境はかなりぎりぎりの環境で動かしていたこともあり、途中で検証用のリソース不足に陥りました。泣く泣く検証用のNutanix CEを削除することで何とか記事化できました・・・。最終的には再構築してます!)

Nutanix CEで挑む!NCP-MCIブループリント実践ラボ#2:【目標1.2】VMをデプロイするをやってみた!

はじめに

今回からブループリントに沿った学習を進めていきます。本シリーズの紹介記事はこちら。 cloudshopper.hatenadiary.com

前回の記事はこちら。 cloudshopper.hatenadiary.com

※個人的な勉強メモとなりますので、記載内容について一切の責任は持ちません。

今日のトピックス

NCP-MCI 6.10 試験ブループリントガイド(日本語版)に沿って学習を進めてみる。
・本記事の対象は、目標1.2:VMをデプロイする。

目標の要点整理

この目標では、目標1.1でのNutanixプラットフォーム(主にAHV)上でのVM作成に加えて、各種追加操作(VMのカスタマイズやテンプレート化、イメージ操作など)の基本操作や仕様が問われるのかなと考えています。日常的に行うオペレーションの基本的な部分が問われそうな印象です。

実機での操作

ここからは「参考資料」として紹介されているNutanixサポートサイトの内容にそって、Nutanix CEを操作してみます。

  • VM を作成する
    1. こちらは以前の記事で操作したことがありますので、別記事をご参照ください。リンクになっています。
  • VMテンプレートを作成する
    1. Prism Centralにログイン後、画面上部で「Infrastructure」を選択。その後左ペインから、「仮想インフラ」-「VM」をクリック。


    2. Prism Centralに登録されているクラスターで稼働する仮想マシン一覧が表示される。テンプレート化したいVM名の左のチェックボックスをオンにして、「アクション」-「Create VM Template」をクリック。


    3. 「Create Template from VM」画面が表示される。必要個所に適切な設定を行う。最後に「次へ」をクリックする。
      • Name(名前):テンプレートの名前を入力。
      • Description(説明):テンプレートの説明を入力。オプションです。
      • Guest Customization(ゲストOSのカスタマイズ):VMテンプレートを使用して展開するVMのカスタマイズを設定します。OSによって設定値が異なります。
        • WindowsOSの場合 ⇒ Sysprep(Windows)を選択
        • LinuxOSの場合 ⇒ Cloud-init(Linux)を選択
      • 必要に応じて「Allow users to override at VM Deployment?」を有効にします。
        • こちらを有効にすることで、VMデプロイ時に任意の応答ファイルをアップロードすることができるようです。

    4. 最後に確認画面が表示されるので、内容に問題がなければ「Save」をクリックします。


    5. 「仮想インフラ」-「Templates」をクリック。先ほど作成したテンプレートが表示されていればOK。


  • VMテンプレートを管理する
    1. Prism Centralにログイン後、画面上部で「Infrastructure」を選択。その後左ペインから、「仮想インフラ」-「Templates」をクリック。


    2. Prism Centralに登録されているテンプレート一覧が表示される。管理したいテンプレート名の左のチェックボックスをオンにして、「アクション」をクリック。メニューバーが表示されるので行いたい操作をクリックする。
      • 検証環境でクリック可能だったのは以下の3つ。
        • Update Guest OS
        • Update Configuration
        • Delete Template

    3. テンプレートの更新を行う場合、「Update Guest OS」をクリック。「Select a version to Update」画面が表示されるので、更新する対象のVM テンプレートのバージョンを選択して「Proceed」をクリック。


    4. 「Update Guest OS」画面が表示されるので、内容を確認し「Proceed」をクリック。


    5. 更新用の一時仮想マシンが生成されるので、完了まで待つ。


    6. 正常に完了すると以下の画面が表示されるので、「Close」をクリック。


    7. 仮想マシン一覧に、テンプレートより作成された一時仮想マシンが表示される。対象の仮想マシンを起動し、必要な更新(設定変更)を行う。


    8. 必要な更新が完了したら、再度左ペインから、「仮想インフラ」-「Templates」をクリック。対象のテンプレート名の左のチェックボックスをオンにして、「アクション」をクリック。メニューバーが表示されるので「Complete Guest OS Update」をクリック。


    9. 「Complete Guest OS Update」画面が表示されるので、テンプレート名と説明文を記載して「Complete Update」をクリック。


    10. 正常に更新が完了すると、一時仮想マシンが削除されテンプレートが更新される。
      • 更新前のテンプレート状態

      • 更新後のテンプレート状態


    11. 更新前のテンプレートも保持されているため必要に応じて過去のテンプレートから仮想マシンを作成することも可能。過去のテンプレートは「Versions」をクリックすることで確認可能。


    12. テンプレートの更新をキャンセルしたい場合は、「Complete Guest OS Update」をクリックする前に「Cancel Guest OS Update」をクリックすればOK。また特定のテンプレートを削除したい場合は、対象のテンプレート名の左のチェックボックスをオンにして、「アクション」をクリックし、「Delete Template」をクリック。

  • VMテンプレート機能の制限
    ※実操作は割愛。

  • 仮想マシンのカスタマイズ
    1. 仮想マシン作成時に「Custom Script」にチェックを入れることで、仮想マシン起動時にカスタマイズが可能。Prism Elementでは以下の箇所が該当。カスタマイズ用のスクリプトファイルをアップロードすることも可能、コピー&ペーストで直接貼り付けることも可能。


  • イメージを設定する
    1. こちらは以前の記事で操作したことがありますので、別記事をご参照ください。リンクになっています。
  • VMOVAとしてエクスポートする
    1. Prism Centralにログイン後、画面上部で「Infrastructure」を選択。その後左ペインから、「仮想インフラ」-「VM」をクリック。


    2. Prism Centralに登録されているクラスターで稼働する仮想マシン一覧が表示される。エクスポート化したいVM名の左のチェックボックスをオンにして、「アクション」-「Other Actions」-「Export as OVA」をクリック。


    3. OVAへエクスポート」画面が表示される。「名前」と「エクスポート形式」を選択して、「Export」をクリック。

    4. 「仮想インフラ」-「OVAs」をクリック。先ほど作成したOVAが表示されていればOK。

気づき・補足

  • 仮想マシン作成後の追加操作はPrism Centralでしかできないものが多い。
    • 各操作は難しいものではないが、"どこで(PE?PC?)?どんな操作ができるのか?"は押さえておいた方が良さそう。
  • 一度作成したテンプレートのゲストOSの更新ができるのに驚いた。
    • テンプレートは「作ったら終わり」というイメージがあったが、あとから更新できるのは柔軟で便利。運用設計の幅が広がりそう。

おわりに

今回は、目標1.2「 VM をデプロイする」について、ブループリントの参考資料をもとにNutanix CEで操作してみました。 各操作はそれほど複雑ではないものの、慣れるまではPrism ElementとPrism Centralの使い分けに迷いそうです。私自身まだまだ『この操作はどっちだったっけ?』と迷うことがあります。少しづつでも覚えていきたいです。