仮想マシン(VM)とは

わかりやすいように、仮想マシン(VM)は、物理コンピューターで実行する任意のソフトウェアを実行するために使用できる「ソフトウェアで作成されたコンピューター」と考えてください。物理マシンと同様、仮想マシンも独自のオペレーティング・システム(Windows、Linuxなど)、ストレージ、ネットワーク、構成設定、ソフトウェアを備えており、同じホスト上で実行されている他の仮想マシンから完全に分離されています。

仮想マシンを使用する理由

仮想化により、多数の小さいワークロードを1台の物理コンピューターに統合できるため、リソースの使用効率が上がり、ITコストが削減されます。オペレーティング・システムとアプリケーションを備えた新しい仮想マシンを導入すると、IT管理者は本番環境を変更する前に、概念実証環境とDevTest環境を簡単に導入できます。

仮想マシンを物理サーバーに統合して物理サーバーの数を減らすことで、資産管理をよりシンプルにすることができます。仮想マシンを管理する場合、メンテナンスするハードウェアの数が減り、リソースのプロビジョニングが速くなり、ダウンタイムが短くなるため、組織での時間の節約にもなります。また、サーバーの導入に必要なスペースを削減することもできます。その結果、エネルギー消費量も削減され、より環境に優しいソリューションになります。

仮想マシンは、完全に新しいオペレーティング・システムに移行することなくレガシーアプリケーションを実行するための、費用効果の高い方法でもあります。ハードウェアが老朽化しても、仮想化することで、ハードウェアをアップグレードしつつ、古いOSにもアクセスできるという、両方のメリットを享受することができます。

優れた仮想マシンは移植性が高いため、ネットワーク内の物理コンピューター間、さらにはオンプレミス環境とクラウド環境との間でも移動できます。同じホスト上で複数の仮想マシンを実行すると、システムリソースの使用を最適化できます。

私たちのクラウド・プラットフォームは、仮想化技術の最新のメリットを取り入れたものです。Oracle Cloud Infrastructure (OCI)ベースの仮想マシンでは、クラウドでセキュアで弾力性のあるコンピューティング容量が提供されて、小規模な開発プロジェクトから大規模なアプリケーションまで、さまざまなワークロードに対応できます。VMのデプロイ、管理、廃止を簡単に行うことができます。また、Microsoft Windows ServerやLinuxなどのOSに幅広く対応しており、標準化されたイメージとセキュアな設定により、人的エラーを減らし、コスト削減とセキュリティの向上を実現します。

仮想化とハイパーバイザー: 仮想マシンの仕組み

仮想化を使用すると、1台のコンピューター(ホスト)で複数の仮想コンピューター(VM)を実行でき、各VMにそれぞれ独自のオペレーティング・システム、プロセッサーコア、メモリ、ストレージ、ネットワークを導入できます。仮想化により、多数の小さいワークロードを1台の物理コンピューターに統合できるため、リソースの使用効率が上がり、ITコストが削減されます。

仮想化を、1台のホスト・コンピューター上で複数のOSを動作させることと定義すると、仮想化スタックの中で重要なコンポーネントは、VMとホストコンピュータを同時に保持するハイパーバイザーです。ハイパーバイザーは、仮想マシンをホストコンピューター上で実行し、プロセッサー、メモリ、ストレージを各仮想マシンにわたって分散できるようにするソフトウェアのレイヤーです。

このハイパーバイザーは、仮想マシンモニター(VMM)とも呼ばれ、複数のVMを実行・監視するための仮想プラットフォームを構築します。これにより、複数の同一または異なるOSが、ハードウェアのリソースを共有することができます。

この仮想環境を構築するための仮想化製品として有名な例は、VirtualBoxです。この無料のオープンソース・ソフトウェアにより、開発者とIT管理者はオペレーティング・システムを迅速に導入できるようになります。VirtualBoxは、macOS、Linux、Windowsにインストールできます。その他のハイパーバイザーは、VMware vSphere、Microsoft Hyper-Vなどです。

仮想化のタイプ

今日の企業は、確実な成長と拡張を実現するために、データセンターにおける複雑さとプロビジョニングの増加への対応を迫られています。これらの制約には、電力需要の増加、データセンターのコスト、物理的スペースの制約、相互接続の複雑さなどがあります。

そのため、ソフトウェアおよびハードウェア・メーカーは、仮想化によって従来のデータセンターのアーキテクチャを変更することで、これらの懸念に対処し始めています。仮想化にはさまざまな種類があります。

ハードウェアの仮想化:

コンピュータやオペレーティング・システムのバージョン(VM)を含むハードウェアを仮想化することで、1台の仮想的な統合されたプライマリ・サーバーを作成します。

ソフトウェアの仮想化:

物理的なホストマシン上で1つまたは複数のゲストOSを動作させることができる、ハードウェアを含むコンピュータ・システムを構築すること。

ストレージの仮想化:

複数の物理ストレージ・デバイスを統合することでストレージを仮想化し、1つのストレージ・ユニットとして表示することで、パフォーマンスの向上と高速化を実現します。

ネットワークの仮想化:

物理的なネットワーク・インフラストラクチャから切り離された、完全に分散されたシステム上で、アプリケーション主導のクラウド仮想ネットワークを実現します。ネットワーク仮想化は、複数のチャネルに帯域を割り当て、サーバーやデバイスにリアルタイムでリソースを提供します。

デスクトップ仮想化:

デスクトップ環境を物理的なデバイスから切り離し、リモートサーバーにデスクトップを保存することで、任意のデバイスから、どこからでもアクセスできるようになります。

クラウド・コンピューティングと仮想マシン

仮想化とクラウドは混同されがちですが、どちらもネットワーク上のリソースを利用して機能的な環境を構築するという点では同じです。しかし、仮想化とは、1つのハードウェア上で複数の仮想マシンを動作させる技術です。ハードウェアがソフトウェアを実行することで、パフォーマンスの低下を最小限に抑えながら、セキュアな環境で同時に独立して動作する複数のOSをインストールすることができます。

一方、クラウドは、ネットワーク上にある拡張可能なリソースを抽象化し、プールし、共有するIT環境です。

仮想化は技術であり、クラウド・コンピューティングは環境と言えます。仮想化はクラウド・コンピューティングを可能にするコア_ソフトウェアであり、仮想化を使用しない企業は競争上の不利益を被るほど不可欠なツールになっています。

コンテナと仮想マシン

コンテナと仮想マシンはどちらも、開発者とITプロフェッショナルが使用して、ソフトウェアのテストおよび開発用の分離された仮想環境を作成します。仮想マシンは包括的なオペレーティング・システムを実行するためにホストに依存しますが、コンテナはホスト上でアプリケーションを実行する分離されたサイロです。コンテナは、オペレーティング・システムに依存しないアプリケーションを実行します。むしろ、アプリケーションを仮想化することで分離していると言えます。

コンテナにはオペレーティング・システムが含まれていないため、コンテナは仮想マシンよりも軽量で移植性に優れています。また、コンテナは移植可能ですが、オペレーティング・システムによる制約を受けます。そのため、Windows用のコンテナはLinux上で実行できません。結局、コンテナと仮想マシンのどちらを使用するかは、仮想環境をどのように使用するかによって決まります。

Mac OSX用のVirtualBoxでLinuxの仮想マシンを動かす

Kubernetesは、コンテナ環境でアプリケーションを管理するためのオープンソースシステムです。Kubernetesは、コンテナアプリケーションをデプロイおよびスケーリングするプロセスを自動化します。アプリに複数のコンテナを使用し、それらのコンテナを複数のサーバーに分散することは、一般的な方法になっています。私たちのContainer Engine for Kubernetesは、コンテナのデプロイメントを可能にするマネージドサービスなので、ワークロードに合わせて拡張することができます。

仮想マシンとKubernetesとでアプリケーションの構築および導入の違いについて詳しく説明します。

仮想化とオラクル

デスクトップからデータセンター、パブリッククラウドまで、統合的な仮想化製品を提供しています。これにより、ユーザーはシンプルな統合に留まらず、包括的なハードウェアおよびソフトウェアスタックを仮想化して管理できます。

Oracle Linux KVMの管理方法の詳細:


Oracle VMのユーザーは、サポートされている仮想化環境内にオペレーティング・システムとアプリケーション・ソフトウェアを導入できるようになります。オラクルの製品は次のとおりです。