Huney

Nutanix / 基礎とプラットフォーム

AHVとは?Nutanixのハイパーバイザーを理解しよう【NCA 7.5対策】

NCA 7.5対策として、NutanixのハイパーバイザーであるAHVの役割やVMとの関係、Nutanix環境における仮想化の仕組みを初心者向けに解説します。

読了時間:約12分

AHVとは?Nutanixのハイパーバイザーを理解しよう【NCA 7.5対策】

はじめに

前回はNutanixのアーキテクチャについて学びました。

Nutanixでは複数のNodeによってClusterを構成し、

  • AOS
  • CVM
  • DSF

などの仕組みによってHCI環境を実現しています。

しかし、Nutanixを利用する大きな目的の一つは、

仮想マシン(VM)を動かすこと

です。

では、物理サーバーの上でどのように複数のVMを動かしているのでしょうか?

そこで登場するのが、

AHV(Acropolis Hypervisor)

です。

今回はNutanixの仮想化を支えるAHVについて学んでいきましょう。


そもそも仮想化とは?

AHVを理解する前に、まずは仮想化について確認しましょう。

通常、1台の物理サーバーには、

  • CPU
  • メモリ
  • ストレージ
  • NIC

などのハードウェアが搭載されています。

従来は、

1台の物理サーバーに1つのOS

という構成が一般的でした。

┌─────────────────┐
│   Application   │
├─────────────────┤
│       OS        │
├─────────────────┤
│ Physical Server │
└─────────────────┘

しかし、この構成ではサーバーのCPUやメモリを十分に使い切れない場合があります。

そこで、1台の物理サーバー上で複数の仮想的なコンピューターを動かすサーバー仮想化が利用されます。

┌────────┐ ┌────────┐ ┌────────┐
│  VM 1  │ │  VM 2  │ │  VM 3  │
│Windows │ │ Linux  │ │ Linux  │
└────────┘ └────────┘ └────────┘
       ↓        ↓        ↓
┌────────────────────────────┐
│        Hypervisor          │
├────────────────────────────┤
│      Physical Server       │
└────────────────────────────┘

それぞれのVMは独立したコンピューターのように動作します。


ハイパーバイザーとは?

物理サーバー上でVMを動作させるために利用するソフトウェアが、

Hypervisor(ハイパーバイザー)

です。

ハイパーバイザーは物理サーバーが持つ、

  • CPU
  • メモリ
  • ストレージ
  • ネットワーク

などのリソースを仮想化し、VMへ割り当てます。

たとえば物理サーバーに64GBのメモリが搭載されている場合、

Physical Memory
64GB

├─ VM1 → 16GB
├─ VM2 → 8GB
├─ VM3 → 16GB
└─ その他

のように、複数のVMへリソースを割り当てられます。

つまりハイパーバイザーは、

物理ハードウェアとVMの間に入り、仮想化されたリソースを管理する存在

です。


AHVとは?

Nutanixが提供するハイパーバイザーが、

AHV(Acropolis Hypervisor)

です。

AHVはNutanix環境でVMを動作させるための仮想化基盤として利用できます。

構造を単純化すると、

┌─────────────────────┐
│ VM │ VM │ VM │ CVM │
├─────────────────────┤
│        AHV          │
├─────────────────────┤
│ Physical Hardware   │
└─────────────────────┘

となります。

AHVが物理ハードウェアを仮想化し、その上でUser VMやCVMが動作します。

前回登場したCVMも仮想マシンなので、AHV環境ではAHV上で動作しているという関係になります。


AHVはType 1ハイパーバイザー

ハイパーバイザーには、大きく分けて、

  • Type 1
  • Type 2

があります。

AHVはType 1(ベアメタル型)ハイパーバイザーです。

Type 1では、物理ハードウェア上で直接ハイパーバイザーが動作します。

VM
↓
Hypervisor
↓
Hardware

代表的なType 1ハイパーバイザーには、

  • Nutanix AHV
  • VMware ESXi
  • Microsoft Hyper-V

などがあります。

一方、Type 2ではホストOSの上で仮想化ソフトウェアが動作します。

VM
↓
Virtualization Software
↓
Host OS
↓
Hardware

個人PCなどで利用される仮想化ソフトウェアでは、このような構成が使われることがあります。

NCAでは、

AHV = Type 1 Hypervisor

と覚えておきましょう。


AHVとKVM

AHVについて調べていると、

KVM

という言葉も登場します。

KVMは、

Kernel-based Virtual Machine

の略です。

Linuxカーネルに組み込まれている仮想化技術です。

AHVはこのKVMをベースとして構築されています。

ただし、

AHVとKVMはまったく同じもの

という意味ではありません。

NutanixはKVMを基盤として、Nutanix環境で利用するための仮想化機能や管理機能を統合しています。

NCAでは、

AHVはKVMをベースとしたNutanixのハイパーバイザー

という関係を理解しておけばよいでしょう。


AHVとCVMの関係

ここまで学んだ内容を組み合わせてみましょう。

1台のNutanix Nodeを簡略化すると、

┌────────────────────────┐
│         Node           │
│                        │
│ ┌────┐ ┌────┐ ┌─────┐ │
│ │VM A│ │VM B│ │ CVM │ │
│ └────┘ └────┘ └─────┘ │
│                        │
├────────────────────────┤
│          AHV           │
├────────────────────────┤
│ CPU / Memory / Storage │
└────────────────────────┘

となります。

AHVはハードウェアを仮想化してVMを動かします。

一方、CVMはNutanixのストレージサービスなどを提供します。

つまり、

AHV = VMを動かす仮想化基盤

CVM = Nutanixのサービスを提供するController VM

です。

この違いはしっかり整理しておきましょう。


Nutanix Cluster全体で見ると?

Nutanixでは複数のNodeによってClusterを構成します。

それぞれのNodeでAHVが動作します。

              Nutanix Cluster

┌─────────────┐
│   Node 1    │
│ VM VM CVM   │
│     AHV     │
└─────────────┘

┌─────────────┐
│   Node 2    │
│ VM VM CVM   │
│     AHV     │
└─────────────┘

┌─────────────┐
│   Node 3    │
│ VM VM CVM   │
│     AHV     │
└─────────────┘

そのため、

Cluster → Node → AHV → VM

という関係をイメージすると分かりやすくなります。


AHV上のVM

AHV上ではさまざまなOSを持つVMを動作させることができます。

たとえば、

Nutanix Node

├─ Windows Server VM
├─ Linux VM
├─ Application Server VM
├─ Database Server VM
└─ CVM

といった構成です。

VMにはそれぞれ、

  • vCPU
  • Memory
  • Disk
  • NIC

などの仮想ハードウェアを割り当てます。


vCPUとは?

VMへ割り当てる仮想CPUを、

vCPU(Virtual CPU)

と呼びます。

たとえば、

Physical CPU
     ↓
    AHV
     ↓
┌──────────┐
│ VM A     │
│ 4 vCPU   │
└──────────┘

のように、物理CPUのリソースを仮想化してVMへ提供します。

VMから見ると、自分専用のCPUが存在しているように見えます。


vNICとは?

VMがネットワーク通信するために利用する仮想的なNICを、

vNIC(Virtual Network Interface Card)

と呼びます。

物理サーバーではLANケーブルを接続するNICがありますが、VMでは仮想的なNICを利用します。

VM
│
vNIC
│
Virtual Network
│
Physical NIC
│
Physical Network

AHV環境でもVMにvNICを設定してネットワークへ接続します。

Nutanixの仮想ネットワークについては別の記事で詳しく扱います。


AHV上で行うVMの基本操作

NCAではVMの基本的な管理についても理解しておく必要があります。

代表的な操作として、

  • VMの作成
  • VMの起動
  • VMの停止
  • VMの再起動
  • VMの削除
  • CPU・メモリなどの設定
  • Diskの設定
  • NICの設定

などがあります。

ただし、管理者がAHVそのものを直接操作してすべて管理するわけではありません。

Nutanixでは、主にPrismを利用してVMを管理します。

Administrator
      ↓
    Prism
      ↓
Nutanix Cluster
      ↓
     AHV
      ↓
      VM

管理者はPrismのGUIなどから操作し、AHV上のVMを管理できます。


AHVとPrismの違い

ここも最初は混乱しやすいポイントです。

AHVとPrismは役割が違います。

技術 役割
AHV VMを動かすハイパーバイザー
Prism Nutanix環境を管理するインターフェース

たとえば、

「VMを動かしているのは?」

と聞かれたら、

AHV

です。

一方、

「Nutanix環境を管理するために利用するのは?」

と聞かれたら、

Prism

となります。


AHVとVMware ESXi

仮想化を勉強したことがある人なら、

VMware ESXi

を聞いたことがあるかもしれません。

AHVとESXiは、どちらもType 1ハイパーバイザーとしてVMを動作させる役割を持ちます。

大まかに比較すると、

項目 AHV VMware ESXi
提供 Nutanix VMware
種類 Type 1 Type 1
主な役割 VMの実行 VMの実行
管理 Prismと統合 VMware管理製品と組み合わせて利用
基盤 KVMベース VMware独自

NCAでは細かな製品比較を暗記するより、

AHVはNutanix環境に統合されたハイパーバイザー

という特徴を理解することが重要です。


はちみつ屋さんで例えると?

今回もはちみつ屋さんで考えてみましょう。

大きな建物が1つあります。

これがNodeです。

建物の中には、

  • はちみつ販売店
  • カフェ
  • お菓子屋さん

など、複数のお店があります。

これらがVMです。

しかし、建物のスペースや電気などのリソースを好き勝手に使わせるわけにはいきません。

そこで、

「カフェにはこのスペース」

「販売店にはこのスペース」

「お菓子屋さんにはこのスペース」

というように、建物のリソースを分配する管理者が必要になります。

この役割がAHVです。

建物
(Node)

    ↓

スペースを管理
(AHV)

    ↓

┌──────┬──────┬──────┐
│店舗A │店舗B │店舗C │
│ VM   │ VM   │ VM   │
└──────┴──────┴──────┘

そして、その建物にはもう一人、

倉庫や在庫システムを管理する特別な店員さん

がいます。

これが前回登場したCVMです。

つまり、

AHV = 建物のリソースをVMへ割り当てる

CVM = Nutanixのストレージなどを管理する

という違いがあります。


NCA対策として覚えておきたいポイント

今回特に押さえておきたい内容をまとめます。

用語 ポイント
AHV Acropolis Hypervisor
AHV Nutanixが提供するハイパーバイザー
AHV Type 1ハイパーバイザー
KVM Kernel-based Virtual Machine
AHV KVMをベースとしている
VM 仮想マシン
vCPU VMへ提供される仮想CPU
vNIC VMが利用する仮想NIC
CVM Nutanixサービスを提供するController VM
Prism Nutanix環境を管理するインターフェース

特に、

Hardware
   ↓
  AHV
   ↓
VM / CVM

という位置関係を覚えておきましょう。


ここまでのNutanix構成を整理

第1回から今回までの内容をつなげると、かなりNutanixの全体像が見えてきます。

Nutanix Cluster
│
├─ Node 1
│   ├─ AHV
│   ├─ User VM
│   ├─ CVM
│   └─ Storage
│
├─ Node 2
│   ├─ AHV
│   ├─ User VM
│   ├─ CVM
│   └─ Storage
│
└─ Node 3
    ├─ AHV
    ├─ User VM
    ├─ CVM
    └─ Storage

各NodeのCVMが連携
        ↓
       DSF
        ↓
分散ストレージとして利用

最初の記事で登場したNodeやClusterと、前回のAOS・CVM・DSF、今回のAHVがここでつながります。


まとめ

今回はNutanixのハイパーバイザーであるAHVについて学びました。

AHVは、

Acropolis Hypervisor

の略で、Nutanixが提供するType 1ハイパーバイザーです。

物理サーバーのCPUやメモリなどを仮想化し、その上で複数のVMを動作させます。

そしてNutanix環境では、

AHVがVMを動かし、CVMがNutanixのストレージサービスなどを提供する

という役割分担があります。

まずは、

Node
 ↓
AHV
 ↓
VM / CVM

という関係をしっかり理解しておきましょう。

次回は、これまで登場してきたNutanix環境を実際に管理するためのPrismについて学んでいきます。