oVirt導入の経験:企業向けVMware vSphereに代わるKVM管理ソリューション

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

VMwareからoVirtへの「移住」物語:なぜ今なのか?

BroadcomがVMwareを買収し、ライセンスポリシーを厳格化して以来、ベトナムのシステム管理者の間でも代替案を模索する動きが活発になっています。多くのエンジニアがProxmox VEを選んでおり、私自身も検証用に12台のVMを動かしていますが、数百ノード規模の商用環境で、高い可用性(HA)と中央集権的なストレージ管理が厳格に求められる場合、vSphereの真の代替となり得るのはoVirtです。

本質的に、oVirtはRed Hat Virtualization (RHV) のアップストリーム(開発元)プロジェクトです。RHEL、CentOS、AlmaLinuxなどのエコシステムに慣れている方なら、oVirtは非常に親しみやすいでしょう。古いVMwareサーバー群を置き換えるために6ヶ月以上oVirtを実運用してきましたが、KVM’の集中管理において非常にスムーズに動作し、何より年間数千ドルのライセンス費用を節約できています。

インフラの準備:ハードウェアを惜しまない

oVirtを安定して動作させるには、相応のリソース投資が必要です。単一のKVMとは異なり、管理の要となるoVirt Engineはかなりのリソースを消費します。以下は、EngineとVMを同時に動かすノード(Hosted Engine)向けに私が推奨する実践的な構成です:

  • CPU: 最小8コア(ハードウェア仮想化支援 VT-x または AMD-V をサポートしていること)。
  • RAM: 16GB以上。実際、ダッシュボードのラグを防ぐためにEngineだけで4GBを専有します。
  • Disk: OS用に100GB。多数のVMを同時に起動する際のI/Oボトルネックを避けるため、SSDまたはNVMeが必須です。
  • Network: 最低2ポートの1Gbps。ネットワーク経由のストレージ(NFS/iSCSI)を使用する場合は、10Gbpsカードを優先してください。
  • OS: 現在のoVirt 4.5において、AlmaLinux 8またはCentOS Stream 8が最も安定したプラットフォームです。

非常に重要な注意点:FQDN(完全修飾ドメイン名)を正確に設定してください。oVirtは名前解決に極めて敏感です。/etc/hosts ファイルで1文字打ち間違えるだけで、インストールスクリプトが80%付近で停止してしまうことがあります。

oVirt Engineを「Hosted Engine」形式でデプロイする

物理マシンにEngineを個別にインストールするのではなく、「Hosted Engine」形式を利用することをお勧めします。これにより、Engineは仮想化ノード上の特殊なVMとして動作し、サーバー台数を節約できるだけでなく、メインノードに障害が発生した際の自己修復機能(Self-Hosted HA)も備わります。

まず、リポジトリを追加してセットアップパッケージをインストールします:

# oVirt 4.5 リポジトリを追加
sudo dnf install -y https://resources.ovirt.org/pub/yum-repo/ovirt-release45.rpm

# システムを最新版に更新
sudo dnf update -y

# デプロイツールをインストール
sudo dnf install -y ovirt-hosted-engine-setup

その後、デプロイコマンドを実行します。設定に関する質問に回答するため、この段階では集中が必要です:

sudo hosted-engine --deploy

このプロセスにより、イメージのダウンロード、VMの作成、システム全体の構成が自動的に行われます。Engine用の固定IPアドレスを事前に準備しておいてください。本番環境では、将来的にライブマイグレーション(Live Migration)機能を有効にするため、ストレージとしてNFSまたはiSCSIを優先的に使用しましょう。

ストレージ and ネットワークの設定:注意点

1. ストレージ管理 (Storage)

oVirtでは、Storage Domainに仮想ディスクやISOファイルを保存します。実践的な経験として、データ用(VMディスク)とISO用のストレージは分けて管理することをお勧めします。NFSを使用する場合は、ストレージサーバー側で vdsm ユーザー(UID 36)に書き込み権限を付与することを忘れないでください。この手順を怠ると、oVirtは即座にディスクマウントエラーを報告します。

2. ネットワーク管理 (Networking)

oVirtはトラフィックの制御にLinux Bridgeを使用します。Management(管理)、Migration(VM移行)、VM Network(アプリトラフィック)などの論理ネットワーク(Logical Network)を分離できます。VLANを使用している場合は、ダッシュボードでVLAN IDをタグ付けし、物理ネットワークカードにドラッグ&ドロップするだけです。この直感的な操作は、各マシンで手動で ip link コマンドを叩くよりも遥かに高速です。

6ヶ月間の「実戦」後の評価

社内ERPシステムをoVirt上で半年間運用してみて、以下の3つの大きな価値を実感しました:

  • 監視能力: Grafanaが統合されたダッシュボードにより、クラスターのパフォーマンスを俯瞰できます。履歴チャートのおかげで、ピーク時にリソースを過剰消費しているVMを容易に特定できます。
  • スムーズなライブマイグレーション: ノード1のハードウェアメンテナンスが必要な際、メンテナンスモードに切り替えるだけで済みます。oVirtが自動的にすべてのVMをノード2へ移動させます。10Gbpsネットワーク環境では遅延はほぼゼロで、ユーザーは中断に気づきません。
  • 信頼できるHAメカニズム: 一度、メモリ故障でノード1が突然ダウンしたことがありました。Engineは数秒以内にそれを検知し、ノード2上で重要な5台のVMを自動的に再起動しました。スプリットブレイン(2台のマシンが同時にデータを制御しようとする状態)を防ぐため、必ず電源管理(フェンシング)を設定しておきましょう。

より詳細にチェックするには、ポート9090でCockpitツールを使用できます:

# ホスト管理ダッシュボードにアクセス
https://your-host-ip:9090

総評として、oVirtはVirtualBoxのような手軽さを求める人向けではありません。データセンター規模を想定して設計されているため、学習曲線(ラーニングカーブ)は急です。しかし、一度マスターしてしまえば、企業の最も重いタスクを支えることができる、強力で安定した、そして完全に無料の仮想化インフラを手に入れることができます。

Share: