概要
仮想マシン (VM) とは、分離されたコンピューティング環境です。プールされたハードウェアリソースを使用して作成され、固有の CPU、メモリー、ネットワーク・インタフェース、ストレージを持ちます。
VM の基盤となる仮想化の概念により、単一のコンピュータを同時に複数の異なるコンピュータのように機能させることが可能になります。VM は、同一の物理ハードウェア上でオペレーティングシステム (OS) をエミュレートして無数に配置できるため、企業はコストを削減し、運用を効率化し、既存のインフラストラクチャからより多くの価値を得ることができます。
仮想化とは
従来の仮想化で扱うリソースは、通常はハードウェアと強く結びついています。仮想化により、マシンの能力を多くのユーザーや環境に分散させることができます。
仮想化は、1960 年代にメインフレーム・コンピュータでのタイムシェアリング技術として始まりました。現在私たちが知る仮想化は、組織がコンピューティング・リソースを最大限に活用し、高価なハードウェアの利用を最適化する方法を模索する中で、2000 年代に普及しました。
仮想化の種類には次のようなものがあります。
- データ仮想化:データソースを統合し、動的な単一のデータ供給元として使用できるようにします
- デスクトップ仮想化:複数のシミュレートされたデスクトップ環境を管理者が一元的にデプロイおよび制御できるようにします
- サーバー仮想化:管理者がサーバーを複数の構成に分割し、それぞれの構成に個別の機能を割り当てることができるようにします
- OS 仮想化:1 台のコンピュータ上で複数の OS を実行できるようにします
- ネットワーク機能仮想化 (NFV):ネットワークの機能 (ディレクトリサービス、ファイル共有、IP 設定など) を分割して、複数の環境に分散させることができます
Red Hat のリソース
VM の機能
VM を実行する物理的なマシンは、「ホストマシン」、「ホストコンピュータ」、「ホスト OS」、または単に「ホスト」と呼ばれます。リソースを使用する VM は、「ゲストマシン」、「ゲストコンピュータ」、「ゲスト OS」、または単に「ゲスト」と呼ばれます。
ハイパーバイザーと呼ばれるソフトウェアが、必要なコンピューティング・リソースを分離し、VM の作成と管理を可能にします。ハイパーバイザーは、CPU、メモリー、ストレージなどのコンピューティング・リソースを、既存のゲスト間で、または新しい VM に容易に再配置できるリソースのプールとして扱います。
各 OS は、OS やアプリケーションがホストハードウェア上で通常動作するのと同じように動作します。これにより、VM 内でエミュレートされるエンドユーザーのエクスペリエンスは、物理マシン上で動作するリアルタイム OS のエクスペリエンスとほぼ同じになります。
VM は 1 つのデータファイルで定義でき、異なるコンピュータ間で同じように動作します。ハイパーバイザーは、必要に応じて物理環境のリソースを分割して VM に割り当てます。実際に処理を行うのは物理ハードウェアなので、ハイパーバイザーがスケジュールを管理しているときは、CPU は VM から要求された CPU 命令を処理します。
稼働中の VM で、ユーザーまたはプログラムが発行する命令で物理環境のリソースが余分に必要になった場合、ハイパーバイザーはその要求を物理システムのリソースにスケジューリングします。この物理リソースの共有プールは、VM の OS とアプリケーションで利用できます。
Linux® 環境では、組み込みのハイパーバイザーはカーネルベースの仮想マシン (KVM) と呼ばれます。その他にも、オープンソースの Xen や、Microsoft Hyper-V があります。
仮想化のハイパーバイザーは 2 種類あります。
Type 1:Type 1 ハイパーバイザーはベアメタルです。VM リソースはハイパーバイザーによって直接ハードウェアにスケジューリングされます。KVM は Type 1 ハイパーバイザーの例です。
Type 2: Type 2 ハイパーバイザーはホスト型です。VM リソースはホスト OS に対してスケジューリングされ、ハードウェアに対して実行されます。VMware Workstation と Oracle VirtualBox は Type 2 ハイパーバイザーの例です。
VM のメリット
複数の OS を同時に実行し、同じハードウェアリソースを共有できるようにすることで、VM は柔軟性を提供し、多くのメリットをもたらします。
リソースの効率的な利用
ベアメタル環境にデプロイした場合、ほとんどの OS とアプリケーションは少量の物理リソースしか使用しません。VM を使用すると、多数の仮想サーバーを物理サーバーに配置して、ハードウェアの使用率を改善できます。
VM を使用してサーバーを統合することで、IT 組織は費用を削減できます。ハードウェアの購入量を減らし、電力消費を削減し、データセンターのスペースを節約できます。
セキュリティと障害復旧
VM にはセキュリティ上の利点もあります。VM 環境は、残りのシステムから分離されるので、VM 内部で何が実行されていても、ホストハードウェア上で実行されるものには影響しません。
VM によって障害復旧の手段が追加され、これまではハードウェアを増設しなければ達成できなかった、フェイルオーバーと冗長性が可能になります。
テスト環境と分離されたプロセス
VM は分離されているので、新しいアプリケーションのテストやプロダクション環境の設定を行うのに適しています。特定のプロセスをサポートする、専用の VM を実行することもできます。
需要に応じたスケーラビリティ
VM を使用すると、新しいサーバーインスタンスを迅速に起動できます。これにより、需要の変化に合わせたスケールアップやスケールダウンが単純化されます。また、開発者は必要に応じて新しい環境を構築できます。
柔軟性
単一の物理ハードウェア上で複数の OS を実行することが可能なので、より多様な環境をサポートできるようになり、既存の環境も最大限に活用できます。
VM とコンテナの違い
コンテナも VM と同様、コンピューティング環境のさまざまなコンポーネントをパッケージ化し、システムの他の部分から分離する手段です。主な違いは、分離されるコンポーネントの種類です。
VM は OS を持つため、リソースを集中的に使用する複数の機能を一度に実行できます。サーバー、OS、デスクトップ、データベース、およびネットワーク全体をエミュレートできます。
一般に、コンテナは VM よりも小さく、完全な OS を持ちません。先進的なアプリケーションは、それぞれが特定の機能を実行する多くのコンテナに依存している場合があります。
VM とクラウドの関係
仮想化は、クラウドコンピューティングを支えているテクノロジーの 1 つです。パブリッククラウドとプライベートクラウドは、リソースを仮想化して共有プールとし、管理制御レイヤーを追加して、自動化されたセルフサービス機能でこれらのリソースを提供します。
クラウドコンピューティングに必要な仮想化、管理、自動化を処理するソフトウェアはすべて、OS 上に配置されています。このソフトウェアレイヤーは、物理リソース、仮想データプール、管理ソフトウェア、自動化スクリプト、および顧客の間の接続を維持します。
Red Hat を選ぶ理由
YouTube 動画:OpenShift Virtualization はお客様の VM に適しているのでしょうか?(動画の再生時間:1:57)
VM を移行して勢いを保つ
Red Hat の信頼できる製品とパートナーエコシステムは、包括的な仮想化ソリューションを提供します。Red Hat® OpenShift® Virtualization は KVM と KubeVirt をベースとした先進的なアプリケーション・プラットフォームで、仮想化ワークロードとコンテナ化されたワークロードを統合します。VM を今すぐこれに移行することで、複雑さを増すことなく柔軟な運用ができます。あるいは、専用の仮想化ソリューションとして Red Hat OpenShift Virtualization Engine があります。これは VM のデプロイ、管理、スケーリング用に最適化された、コスト効率の高いソリューションです。この製品に含まれる仮想化移行ツールキットを使えば、簡単な数ステップで移行を開始できます。
移行の自動化
大規模な移行から Day 2 オペレーションや修復に至るまで、Red Hat Ansible® Automation Platform によって自動化を活用し、移行を迅速に完了できます。この柔軟なアプローチにより、タスクを自動化して IT 運用のスピードと効率を向上させることができます。
Red Hat OpenShift VM を管理
Red Hat Advanced Cluster Management for Kubernetes を使用すれば、単一のコンソールから VM のセキュリティとパフォーマンスを監視できます。さらに、VM のみを管理したい組織向けには、Red Hat Advanced Cluster Management のバージョンの 1 つである Red Hat Advanced Cluster Management for Virtualization というソリューションがあります。
仮想化移行評価
Red Hat 仮想化移行評価は、VM インフラストラクチャの移行を実行するための道筋を作成するのに役立つ、経験に基づくフレームワークです。