Skip to main content
NetApp virtualization solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

OpenNebulaについて学ぶ

共同作成者 sureshthoppay

OpenNebulaは、異機種分散データセンター インフラストラクチャを管理するためのオープンソースのクラウド管理プラットフォームです。クラウドおよびエッジ コンピューティング プラットフォームを構築するための、シンプルでありながらモジュール化された機能豊富なソリューションを提供します。OpenNebulaは、KVMを使用した仮想マシン、LXCを使用したLinuxコンテナ、およびSUSE Rancherに基づくCNCF認定Kubernetesクラスターをサポートします。

概要

OpenNebulaは、展開、監視、スケーリング、廃止など、仮想マシンとコンテナのライフサイクル全体を管理するための包括的な機能セットを提供します。幅広いストレージおよびネットワーク オプションをサポートしているため、さまざまなユース ケースに柔軟に対応できます。

OpenNebula概要

OpenNebulaは、管理者とユーザーがプラットフォームと対話するための、ユーザーフレンドリーなWebインターフェイスと強力なコマンドラインインターフェイス(CLI)を提供します。また、自動化や他のツールとの統合のためのRESTful APIも提供します。このプラットフォームはマルチテナンシーをサポートしており、複数のユーザーとグループが同じインフラストラクチャを安全に共有できるようになります。

OpenNebulaモジュラーアーキテクチャ

OpenNebulaはモジュール式アーキテクチャを備えているため、サードパーティのツールやサービスとの統合が容易です。プラグインやドライバーを使用して拡張し、特定の要件に簡単に適応できます。

フロントエンド ユーザー インターフェイス

OpenNebulaは、Sunstoneと呼ばれるWebベースのユーザー インターフェイスを提供しており、ユーザーは仮想マシンとコンテナを簡単に管理できます。インターフェイスは直感的でユーザーフレンドリーなので、管理者とエンドユーザーの両方が簡単に操作してタスクを実行できます。デフォルトでは、ポート2616で実行されます。永続データはバックエンド データベースに保存されます。バックエンド データベースは、SQLite(小規模なワークロードのデフォルト)またはMySQL/MariaDB(実稼働環境用)のいずれかになります。フロントエンドサーバーの複数のインスタンスを展開することで、高可用性とロード バランシングを確保できます。

OpenNebula Sunstone インターフェイス

OpenNebula Sunstone はカスタマイズ可能なビューとダッシュボードを提供し、ユーザーが特定のニーズに合わせてインターフェースをカスタマイズできるようにします。また、ロールベースのアクセス制御(RBAC)をサポートしており、管理者はユーザーとグループに対して異なるレベルのアクセスを定義できます。

コンソール アクセス機能により、ユーザーは Web インターフェースから仮想マシンに直接接続できるため、インスタンスの管理と操作をシームレスに行うことができます。また、ユーザーが事前構成された仮想マシン テンプレートとアプリケーションを参照して展開できるマーケットプレイスも含まれています。ユーザーは、Web インターフェイスから SSH またはその他のリモート アクセス方法を使用して仮想マシンにアクセスすることもできます。

フェデレーション機能により、複数のOpenNebulaインスタンス(ゾーン)を接続することで、異なるデータ センターや地理的な場所間でのリソースの共有とワークロードの分散が可能になります。アクセス ポリシーはフェデレーション全体で定義され、ユーザーを特定のゾーンまたはゾーン内の特定のクラスターに制限できます。

コンピューティング

OpenNebulaは、仮想マシン用のKVMとLinuxコンテナ用のLXCをサポートします。サポートされているOSには、Ubuntu、Debian、RHEL、AlmaLinuxが含まれます。仮想マシンは、事前構成されたテンプレートまたはカスタムイメージから展開できます。仮想マシンのセット(サービス)は、サービステンプレートを使用して展開することもできます。OneFlowを使用すると、複数の相互接続された仮想マシンで構成される多層アプリケーションを定義および管理できます。OneGateを使用すると、仮想マシン内からOpenNebulaバックエンドと通信できるため、高度な監視および管理機能が可能になります。

仮想マシンのカスタマイズ機能を使用すると、ネットワーク構成、ホスト名、パスワード、SSHキーなど、展開時に仮想マシンの設定をカスタマイズできます。コンテキスト化機能により、起動時に仮想マシンに構成データを挿入することができ、展開環境に基づいた動的な構成が可能になります。VMコンテキスト化の詳細については、 "OpenNebula操作リファレンス"を参照してください。

ハイパーバイザーのセットは、リソース管理とスケジューリングのためにクラスタにグループ化されます。OneDRS(Distributed Resource Scheduler)は、リソース使用率と事前定義されたポリシーに基づいて、利用可能なハイパーバイザー全体で仮想マシンの自動配置とロード バランシングを実行します。ポリシーはpackまたはbalanceにすることができます。

OpenNebulaコンピューティング管理

OpenNebulaは、仮想マシンのライブマイグレーションもサポートしており、ダウンタイムなしでシームレスなワークロード バランシングとメンテナンスが可能になります。

物理ホストは一度に1つのクラスタのメンバーになることができます。ただし、ストレージとネットワーク リソースをクラスタ間で共有できます。クラスタ リソースのサブセットを特定の仮想データセンター(VDC)に割り当てて、異なるユーザー グループのリソース分離を実現できます。

OpenNebulaクラスタとVDC

ストレッチ クラスターを使用すると、複数の物理サイトにわたって高可用性を備えた仮想マシンを展開できます。サイト障害が発生した場合、仮想マシンは中断されることなく他のサイトから動作を継続できます。

メモ ストレッチ クラスタには、すべてのサイトからアクセスできる共有ストレージが必要です。通常、同期レプリケーションを使用して、サイト間でデータの整合性を確保します。

VM間のアフィニティ/アンチアフィニティ ルールを定義して、物理ホスト上の仮想マシンの配置を制御できます。これにより、アプリケーションの要件に基づいて、特定の仮想マシンが常に一緒に導入されるか、互いに分離されるかを保証できます。同様に、ホスト アフィニティ/アンチアフィニティ ルールを定義して、特定の物理ホスト上の仮想マシンの配置を制御できます。ロールは、類似したアフィニティ/アンチアフィニティ ルールを持つ仮想マシンをグループ化するために定義されます。

Kubernetesクラスタは、OneKEサービスを使用してデプロイできます。OneKEを使用すると、SUSE Rancherに基づいてCNCF認定Kubernetesクラスタを作成および管理できます。Kubernetesクラスタは、OpenNebula仮想マシン上にデプロイでき、クラウド インフラストラクチャとコンテナ オーケストレーション間のシームレスな統合を実現します。

OpenNebulaは、仮想マシン用のNVIDIA vGPUおよびMIG(Multi Instance GPU)をサポートしており、ハイパフォーマンス コンピューティング、機械学習、その他のGPU集約型ワークロードにGPUのパワーを活用できます。

ストレージ

OpenNebulaは、ストレージ リソースを管理するために、システム、イメージ、ファイル、バックアップ データストアの4種類のデータストアを提供します。システム データストアは、仮想マシンのディスクと構成ファイルを保存するために使用されます。イメージ データストアは、仮想マシン イメージ、ISO、およびデータ ディスクを保存するために使用されます。ファイル データストアは、仮想マシンがアクセスできるファイルを保存するために使用されます。バックアップ データストアは、仮想マシンとそのデータのバックアップを保存するために使用されます。

メモ イメージ データストアはクラスターとフロントエンド サーバー間で共有できますが、システム、ファイル、およびバックアップ データストアは特定のクラスターに割り当てられます。

各Systemデータストアは、Front-endサーバからハイパーバイザへの転送管理を処理するモジュールを指定します。サポートされている転送マネージャには、SSH、共有ファイルシステム(NFS、GlusterFSなど)などがあります。データストアは通常、/var/lib/one/datastoresフォルダにマウントされるか、/etc/one/oned.confファイルのDATASTORE_LOCATION属性で定義された場所にマウントされます。各systemデータストアは、対応するimageデータストアを定義します。仮想マシンが導入されると、通常、定義された転送マネージャを使用して、そのディスクはimageデータストアからsystemデータストアにクローニングされます。

OpenNebula Storageサンプルディレクトリ構造

ONTAP FlexCacheは、同じOpenNebulaゾーン内の遠隔地にあるイメージデータストアに利用できます。これにより、頻繁にアクセスされるイメージをローカルにキャッシュできるため、レイテンシが短縮され、仮想マシンの展開のパフォーマンスが向上します。

OpenNebulaのエンタープライズ版には、ONTAP APIを使用してNetAppストレージシステム上で仮想マシンディスクを作成および管理するためのNetAppドライバーが含まれています。これにより、仮想マシン ディスクのシン プロビジョニング、重複排除、スナップショットなどの高度なストレージ機能を活用できるようになります。

イメージは、OpenNebula Marketplace、Linux Container、またはhttpもしくはS3ストレージでホストされるPrivate Marketplaceなどのパブリックまたはプライベートなイメージリポジトリからダウンロードできます。プライベートマーケットプレイスを使用すると、組織はフェデレーション全体のユーザー向けに厳選されたイメージセットを維持できます。

クラウドイメージを使用するにはOpenNebulaでコンテキスト化レイヤーを使用する必要があります。イメージは永続的または非永続的にすることができます。永続イメージは仮想マシンの実行中に行われた変更を保持しますが、非永続イメージは仮想マシンの終了後に行われた変更を保持しません。ただし、電源をオフにしてもシステムデータストアの変更は保持されます。

永続イメージは通常、カスタマイズされた仮想マシン イメージを作成するために使用されます。永続イメージから一度にデプロイできる VM は 1 つだけです。

VMディスク スナップショットは、実行中の仮想マシン データからイメージを作成するために利用できます。VMディスク サイズは、デプロイメント中または実行時にサイズ変更できます(オンライン サイズ変更)。

Trident CSIドライバは、OneKEでデプロイされたKubernetesクラスタ上に永続ボリュームを作成するために使用されます。これにより、KubernetesワークロードでONTAPストレージ機能を活用できます。Trident Protectを使用すると、Kubernetesワークロードのアプリケーションレベルのディザスタリカバリポリシーを定義できます。

ネットワーク

OpenNebulaは既存のネットワーク インフラに接続して、仮想マシンとコンテナにネットワーク機能を提供します。Linuxブリッジ、802.1Q VLAN、VXLAN、Open vSwitchネットワークなど、さまざまなネットワークモデルをサポートしています。VPCのようなネットワークの場合、EVPNを使用したVXLANを使用してテナント ネットワークを分離できます。

OpenNebulaネットワークモデル

すべての仮想ネットワークには、アドレス範囲を定義する必要があります。IPv4、IPv6、その両方、またはMACアドレス範囲(外部DHCPサーバーを使用している場合)を使用できます。IPAM(IPアドレス管理)機能を使用すると、定義されたアドレス範囲からIPアドレスを管理および割り当てることができます。自動および手動のIPアドレス割り当て、および仮想マシンの特定のIPアドレスの予約をサポートします。

OpenNebula IPAM を使用した仮想ネットワーク

仮想マシンの展開中に、定義された仮想ネットワークとIPアドレスの割り当てに基づいて、ネットワークインターフェイスが自動的に構成されます。仮想マシンのコンテキスト化機能を使用して、ネットワーク構成をカスタマイズできます。

コンテキスト情報は、Sunstone インターフェイスの Update VM Configuration ボタンを使用して更新することもできます。追加のネットワーク インターフェイスは、実行中の仮想マシンにホットプラグできます。

仮想ルータを導入して、仮想ネットワークにルーティングおよび NAT サービスを提供できます。仮想ネットワークは複数のクラスターにまたがって配置できるため、柔軟なネットワーク トポロジを実現できます。

監視と運用

OpenNebulaには包括的な監視システムが含まれており、クラウド インフラストラクチャのパフォーマンスと健全性に関するリアルタイムの洞察を提供します。ハイパーバイザー、仮想マシン、ストレージ、ネットワーク コンポーネントからメトリックを収集し、管理者がリソース使用率を監視して潜在的な問題を特定できるようにします。

OpenNebulaには、Prometheusベースの監視システムのメトリックを収集するためのPrometheusエクスポーターが含まれています。また、Grafanaと統合して、収集されたメトリックを視覚化するためのカスタマイズ可能なダッシュボードを提供します。

OpenNebula Grafana による監視

NetApp Data Infrastructure Insightsは、OpenNebulaで使用されるONTAPストレージシステムの監視に使用できます。ストレージのパフォーマンス、容量、健全性に関する詳細な情報を提供し、管理者が仮想マシンのストレージ リソースを最適化できるようにします。

OpenNebula CLI は、仮想マシン管理、ストレージ管理、ネットワーク管理など、クラウド インフラストラクチャ上でさまざまな操作を実行するために使用されます。タスクを自動化し、他のツールと統合するための強力かつ柔軟な方法を提供します。OpenNebula CLI の詳細については、 "OpenNebula CLI リファレンス"を参照してください。カスタマイズされた CLI 出力については、 "CLI 設定リファレンス"を参照してください。

カスタム スクリプトも VM ライフサイクルの一部として実行できます。フックを使用すると、VM の展開、終了、移行など、OpenNebula プラットフォームの特定のイベントに基づいてカスタムアクションをトリガーできます。これにより、管理者はワークフローを自動化し、外部システムと統合できるようになります。

OpenNebulaフックとVMライフサイクル

OpenNebulaフックの詳細については、 "OpenNebula フックの使用"を参照してください。

"OneSwapツール"を使用すると、仮想マシンをvSphereからOpenNebula KVM環境に移行できます。vSphere VMDKファイルからイメージを作成し、対応するOpenNebula VMテンプレートを生成します。NetApp Shiftツールキットは、vSphere VMDKファイルをOpenNebulaで使用するためにQCOW2形式に変換できます。NetApp ShiftツールキットAPIをOneSwapと併用することで、ONTAPファイル共有上の移行プロセスを迅速かつ効率的に自動化できます。NetApp Shiftツールキットの詳細については、"Shift Toolkitの変換"を参照してください。

データ保護

OpenNebulaは、rsync、restic、Veeamを使用したバックアップのサポートを提供します。Veeam統合はEnterpriseエディションでのみ利用可能です。バックアップデータストアは、仮想マシンとそのデータのバックアップを保存するために使用されます。バックアップジョブを特定の間隔で実行するようにスケジュール設定できるため、仮想マシンが定期的にバックアップされるようになります。

バックアップは、バックアップ戦略に応じて、増分スナップショットまたは完全バックアップになります。増分スナップショットは、最後のバックアップ以降の変更のみをキャプチャするため、ストレージ要件とバックアップ時間が削減されます。完全バックアップは、仮想マシンとそのデータの完全なコピーを作成します。qcow2 形式では、増分バックアップに変更ブロック追跡を使用できます。

OpenNebulaは、Veeam Backup & Replicationソフトウェアと統合するためのoVirt互換REST APIサーバーを提供します。詳細については、 "OpenNebula Veeam統合"を参照してください。