Skip to content

仮想化の概要

Vaporは、業界標準のエンタープライズ向けLinux仮想化技術を活用し、単一の物理ホスト上で分離された仮想マシン(VM)を実行および管理します。


仮想化アーキテクチャ:KVM、QEMU、libvirt

Vaporは、3つの主要なオープンソース技術を統合し、ハードウェア支援型仮想化を提供します:

  1. KVM (Kernel-based Virtual Machine): KVMは、LinuxオペレーティングシステムをType-1ハイパーバイザーに変換するカーネルモジュールです。ハードウェア支援仮想化拡張機能(Intel VT-xおよびAMD-V)を使用して、仮想マシンが物理ホストCPU上で命令を直接実行し、ネイティブに近いパフォーマンスで物理メモリにアクセスできるようにします。
  2. QEMU (Quick Emulator): KVMはCPUとメモリの管理を行いますが、周辺ハードウェアのエミュレーション機能は備えていません。QEMUはユーザースペースで動作し、PCIコントローラー、仮想ディスク、ネットワークインターフェースカード(NIC)、USBデバイス、シリアルコンソールなどの主要なハードウェアコンポーネントをシミュレートして仮想マシンに公開します。
  3. libvirt: libvirtは、KVMおよびQEMUと相互作用するための安定した抽象化レイヤーを提供するAPI、デーモン(libvirtd)、および管理ツールセットです。XMLスキーマ定義を使用して仮想マシンの構成を表現し、ライフサイクル制御、ネットワークの割り当て、およびストレージボリュームのマッピングのための標準インターフェースを提供します。

Vaporは、これらの仮想化機能を直感的なWebコンソールと安全なREST APIを介して提供し、管理者が低レベルのハイパーバイザー構成ファイルを手動で編集する負担を排除します。


主要な仮想化コンポーネント

Vaporの仮想化サブシステムは、以下の管理領域をカバーしています:

  1. 仮想マシン (Computes): ライフサイクル操作、リソース割り当て(vCPU、RAM)、およびゲストオペレーティングシステムの構成。
  2. CPU & メモリ ホットプラグ: 実行中のVMのvCPUとRAMを再起動なしでスケーリング。
  3. ハードウェアとPCIパススルー: 高パフォーマンスなワークロード向けに、物理デバイス(GPUやSR-IOVインターフェースなど)を仮想マシンに直接マッピングする機能。
  4. ストレージプール: VMディスクファイル(.qcow2)やインストールメディア(.iso)を格納する論理ストレージターゲット(ディレクトリ、ZFSプール、LVMボリュームグループ、またはネットワーク接続ストレージ)の定義と割り当て。
  5. 仮想ネットワーク: 仮想マシンを外部ネットワークに接続する、ホスト専用、NAT、およびブリッジ接続などの仮想ネットワークスイッチ。
  6. スナップショットとテンプレート: VMの特定時点の状態のキャプチャ、およびVMの迅速なプロビジョニングのための再利用可能なマスターテンプレートの作成。
  7. バックアップ: フル、差分、またはChanged Block Tracking (CBT) を使用した増分バックアップによる仮想マシンデータの保護。
  8. レプリケーションと災害復旧 (DR): 業務の継続性を確保するために、仮想マシンデータをセカンダリホストへ非同期的にレプリケーションする構成。