仮想マシンとは何か(使用する理由とタイミング)

  • これを共有
Cathy Daniels

ソフトウェア業界やその周辺にお勤めの方であれば、仮想マシンという言葉を聞いたことがあるかもしれません。

ソフトウェアエンジニアとして、私は毎日仮想マシンを使っています。 仮想マシンはソフトウェア開発における強力なツールですが、それ以外の用途にも使われています。 仮想マシンは、柔軟性、信頼性、コスト効率、そしてソフトウェアテストの暴走による災害の防止を理由に、多くの企業で使われています。

ここでは、仮想マシンとは何か、なぜ使われるのかを見ていきましょう。

仮想マシンとは何ですか?

仮想マシンとは、コンピューターのメインOS内で動作するWindows、Mac OS、Linuxなどのオペレーティングシステム(OS)のインスタンスのことです。

仮想マシンは、完全な機能を持ち、別のコンピュータまたはマシンのように動作します。 要するに、仮想マシンは、ホストマシンとして知られる別のコンピュータの内部で動作する仮想コンピュータです。

画像1:ノートパソコン上で動作する仮想マシン。

仮想マシンはハードウェア(メモリー、ハードディスク、キーボード、モニター)を持たず、ホストマシンのハードウェアを模擬的に使用します。 このため、「ゲスト」とも呼ばれる複数の仮想マシンを1台のホストマシンで動作させることができます。

画像2:複数のVMが稼働しているホストマシン。

また、ホストはLinux、Mac OS、Windowsなど、異なるOSを搭載した複数のVMを実行できます。 この機能は、ハイパーバイザーと呼ばれるソフトウェア(上の画像1を参照)に依存しています。 ハイパーバイザーはホストマシン上で動作し、仮想マシンの作成、構成、実行、管理を可能にします。

Oracle VirtualBox、VMware、Parallels、Xen、Microsoft Hyper-V、その他多くのアプリケーションは、ハイパーバイザーとなります。

ハイパーバイザーは、ノートパソコンやPC、サーバー上で動作し、ローカルコンピューターやネットワーク上に分散したユーザーが仮想マシンを利用できるようにします。

仮想マシンの種類や環境によって、必要となるハイパーバイザーは異なります。 そのいくつかを紹介しましょう。

仮想マシンの種類

システム仮想マシン

システムVMは、完全仮想化とも呼ばれ、ハイパーバイザーによって実行され、実際のコンピュータシステムの機能を提供します。 ホストのネイティブオペレーティングシステムを使用して、システムリソースを管理および共有します。

システム仮想マシンは、高速なCPUや複数のCPU、大容量のメモリ、大容量のディスクを搭載した強力なホストを必要とする場合が多く、個人やノートパソコンで動作するものは、大企業の仮想サーバーが必要とする計算能力を必要としないかもしれませんが、ホストシステムが適切でなければ動作が遅くなります。

仮想マシンを処理する

プロセス仮想マシンは、SVMとは全く異なるもので、気づかないうちにマシン上で動作しているかもしれません。 アプリケーション仮想マシンやマネージドランタイム環境(MRE)とも呼ばれます。 これらの仮想マシンは、ホストOS内で動作し、アプリケーションやシステムプロセスをサポートします。

PVMを使う理由 PVMは、特定のOSやハードウェアに依存せずにサービスを実行します。 MREは独立した環境にあり、Windows、Mac OS、Linux、その他のホストマシン上で動作することは関係ありません。

最も一般的なプロセス仮想マシンは、Javaアプリケーションを実行するために使用されるもので、Java Virtual MachineまたはJVMと呼ばれるものである。

ハイパーバイザーの種類

仮想マシンの多くは、コンピュータ・システム全体をエミュレートするため、ハイパーバイザーを使用します。 ハイパーバイザーには、ベアメタル・ハイパーバイザーとホスト・ハイパーバイザーの2種類があります。 両方を簡単に見てみましょう。

ベアメタルハイパーバイザー

BMHはネイティブハイパーバイザーとも呼ばれ、ホストのOS内で動作するのではなく、ホストのハードウェア上で直接動作します。 実際、ホストのOSの代わりとなって、各仮想マシンのハードウェア使用をスケジューリングおよび管理し、その過程で「中間者」(ホストのOS)を切り離すことができます。

ネイティブハイパーバイザーは、通常、企業が従業員にサーバーリソースを提供するために使用する大規模なエンタープライズVMに使用されます。 Microsoft AzureやAmazon Web Servicesはこのタイプのアーキテクチャ上でホストされるVMです。 他の例としては、KVM、Microsoft Hyper-V、VMware vSphereがあります。

ホスト型ハイパーバイザー

ホスト型ハイパーバイザーは、私たちがマシン上で実行する他のアプリケーションと同様に、標準的なオペレーティング・システム上で動作します。 ホストのOSを使用してリソースを管理および配布します。 このタイプのハイパーバイザーは、マシン上で複数のオペレーティング・システムを実行する必要がある個人ユーザーに適しています。

Oracle VirtualBox、VMware Workstations、VMware Fusion、Parallels Desktopなどのアプリケーションが含まれます。 ホスト型ハイパーバイザーに関する詳しい情報は、ベスト仮想マシン・ソフトウェアの記事でご覧いただけます。

なぜ仮想マシンを使うのか?

仮想マシンがどのようなものかを理解した上で、いくつかの優れたアプリケーションを思い浮かべることができると思います。 ここでは、人々が仮想マシンを使用する理由のトップをいくつか紹介します。

1.費用対効果

仮想マシンは、様々な場面で費用対効果を発揮します。 その代表的なものが企業での利用です。 従業員にリソースを提供するために物理サーバを使用すると、ハードウェアは決して安くはなく、その維持にはさらにコストがかかります。

MS Azureのようなプロバイダーの仮想マシンを利用すれば、ハードウェアの初期購入や保守費用は不要で、セットアップ、設定、利用が1時間当たりわずか数十円で済みます。 また、利用しないときはシャットダウンすれば、コストは全くかかりません。

また、自分のマシン上でVMを使用することは、大きなコスト削減につながります。 複数のOSや異なるハードウェア構成で仕事をする必要がある場合、以下のようなことが可能です。

1つのホストで複数の仮想マシンを使用することができます。

2.スケーラブルでフレキシブル

仮想マシンは、エンタープライズ・サーバであろうと、ノートパソコン上の仮想マシンであろうと、スケーラブルに利用できます。 メモリやハードディスクの容量を増やしたい場合は、ハイパーバイザで仮想マシンを再設定するだけです。 新しいハードウェアを購入する必要がなく、短期間で完了します。

3.クイックセットアップ

新しいVMのセットアップが必要な場合、VMを管理している同僚に電話すると、1時間もかからずに使えるようになったことがあります。

4.ディザスターリカバリー

データの損失を防ぎ、ディザスタリカバリに備えるには、仮想マシンは非常に有効なツールです。 仮想マシンはバックアップが容易で、必要に応じて異なる場所に分散させることができます。 MicrosoftやAmazonなどの第三者が仮想マシンをホストしていれば、オフサイトとなり、オフィスが全焼してもデータは安全ということになります。

5.再現が容易であること

ほとんどのハイパーバイザーでは、VMのコピーまたはイメージを作成することができます。 イメージを作成すると、あらゆる状況において、同じベースVMの正確な複製を簡単にスピンアップすることができます。

私が働いている環境では、すべての開発者に開発とテストに使用するVMを提供しています。 このプロセスにより、必要なすべてのツールとソフトウェアで構成されたイメージを持つことができます。 新しい開発者が入社したとき、そのイメージのコピーを作成するだけで、彼らは仕事を始めるために必要なものを手に入れることができるのです。

6.Dev/Testに最適

仮想マシンの最大の利点は、ソフトウェア開発やテストに最適なツールであることです。 仮想マシンによって、開発者は1台のマシンで複数のプラットフォームや環境上で開発を行うことができます。 その仮想マシンが破損したり破壊されたりしても、すぐに新しいものを作成することが可能です。

私は、新しいVMを作成し、最新バージョンのソフトウェアをインストールし、必要なテストを実行し、テストが完了したらVMを削除する自動テストスクリプトをセットアップするプロジェクトに携わったことがあります。

VMは、SoftwareHow.comで行っているような製品のテストやレビューに最適です。 自分のマシン上で動作するVMにアプリケーションをインストールし、プライマリ環境を混乱させずにテストすることができるのです。

また、このプロセスにより、Windowsマシンしか持っていなくても、複数のプラットフォームでテストすることができます。

最後の言葉

このように、仮想マシンは費用対効果が高く、さまざまな用途に使えるツールです。 テスターや開発者などがサーバーにアクセスするために、高価なハードウェアを購入、設定、維持する必要はもうありません。 仮想マシンによって、いつでも簡単に、必要なOS、ハードウェア、環境をすばやく構築できる柔軟性を手に入れることができます。

Adobe Illustrator のエキスパート、Cathy Daniels です。私はこのソフトウェアをバージョン 2.0 から使用しており、2003 年からチュートリアルを作成しています。私のブログは、Illustrator を学びたい人にとって Web 上で最も人気のある場所の 1 つです。ブロガーとしての仕事に加えて、私は作家およびグラフィック デザイナーでもあります。