マイクロンのテクノロジー用語集

Virtual machines(仮想マシン)

回転するウェーハ

仮想マシンは、物理的なシステムを複製することなく、既存のハードウェア上でコンピュータープログラムやアプリケーションを実行できる革新的なテクノロジーです。これによってリモートおよびクラウドコンピューティングが可能となり、企業はオンプレミスかクラウドかを問わず、ハードウェアの利用率を最大限に高め、運用を効率化し、コンピューティング環境を効率的に拡張できます。

仮想マシンは、ワークロードの統合から、テストおよび開発用として安全に隔離された環境の構築まで、コンピューティングにおける幅広いシナリオに対応します。単一の物理マシン上で複数のオペレーティングシステムを支え、リソース配分を最適化し、インフラの複雑さを解消します。それでは、仮想マシンの仕組みと主な活用事例を、見ていきましょう。今日の要求の厳しい環境向けに、マイクロンのメモリおよびストレージテクノロジーが、どのようにパフォーマンスを向上させるかについて、より詳細はマイクロンのセールスサポートチームまでお問い合わせください。

仮想マシンとは?

仮想マシンの定義:仮想マシン(VM)は、物理コンピューターをソフトウェアでエミュレートしたものであり、ホストシステム内の仮想化されたハードウェアリソース上で、独自のオペレーティングシステムとアプリケーションを実行します。

仮想マシンは、それぞれ独自のオペレーティングシステム、アプリケーション、仮想化されたハードウェアリソースを備え、そのすべてを共有の物理システム上で実行する、独立したデバイスのように動作します。

仮想マシンは、物理的なインフラストラクチャを複製するのではなく、ホストシステムの基盤となっているハードウェアを共有します。それぞれの仮想マシンは、独自の中央処理装置(CPU)、メモリ、ストレージを割り当てられた、独立した「ゲスト」として動作します。そのように分離することで、セキュリティと安定性が向上し、複数のオペレーティングシステムが同じ物理マシン上で互いに干渉することなく動作できます。

仮想マシンの代表的な例として、仮想サーバーが挙げられます。仮想サーバーは物理サーバーをシミュレートするソフトウェアであり、複数のユーザーが物理サーバーに直接接続することなく、アプリケーション、ドキュメント、システムにリモートでアクセスできます。

仮想マシンは、企業に多大なメリットをもたらします。既存のハードウェアでより多くのワークロードを実行可能にすることで、ハードウェアの利用率を最大限に高め、運用を効率化し、コストを削減します。また、仮想マシンでは柔軟性も得られます。ユーザーやチームは、環境を柔軟に調整し、本番システムにリスクを与えることなく新しいソフトウェアをテストし、1台のマシン上で複数のオペレーティングシステムを実行することが可能です。企業は物理的なコンピューターシステムを交換・更新する代わりに、VMソフトウェアを導入することでインフラストラクチャを更新できます。仮想マシンは、既存のハードウェアを活用する、よりシンプルで費用対効果の高い選択肢と言えます。

さらに、単一のコンピューター環境内でアクセスやアプリケーションをそれぞれ異なるエリアに分割することで、サイバーセキュリティを強化し、アクセスの透明性を高めることができます。仮想マシン内では、分割された各エリアの使用状況を監視することができ、必要に応じてアクセス権限を付与または制限するなど、さまざまなアクセスレベルを設定することで、機密性の高いシステムへのアクセスを権限のあるユーザーに限定することが可能です。このような多層的なリソース管理アプローチにより、セキュリティを強化できるだけでなく、仮想環境の使用状況を明確に可視化し、コンプライアンス対応や運用監視を支援できます。

仮想マシンは、どのような仕組みで動作するのでしょうか?

仮想マシンは、仮想化と呼ばれるプロセスに基づいて動作します。仮想化とは、物理的なコンピューターハードウェアに導入可能な仮想テクノロジーを作成することを指します。

仮想マシンは、実際の物理的なコンピューターの内部で動作する、ソフトウェアベースのコンピュータと考えることができます。オペレーティングシステムごとに、またはアプリケーションごとに個別のハードウェアを用意する必要はなく、仮想マシンを利用することで、複数の「仮想コンピューター」が同じ物理リソース(メモリ、ストレージ、処理能力など)を共有しつつ、互いに分離された状態を保つことができます。

これは「仮想化」と呼ばれるテクノロジーによって実現します。このテクノロジーは、物理的なハードウェアと、その上で動作するソフトウェア環境との間に層を作成します。仮想化の中核となるのはハイパーバイザーと呼ばれるもので、各仮想マシンへのハードウェアリソースの割り当てを管理する、専用のソフトウェアまたはファームウェアです。ハイパーバイザーによって、単一のサーバー上で複数の仮想マシンを互いに干渉することなく共存させることが可能になります。

ハイパーバイザーには、以下の2つの主要なタイプがあります。

  • タイプ1ハイパーバイザー(ベアメタル):物理ハードウェア上で直接動作します。エンタープライズおよびデータセンター環境で一般的に使用されています。
  • タイプ2ハイパーバイザー(ホスト型):既存のオペレーティングシステム上で動作し、主にデスクトップ仮想化や開発環境で使用されています。

各仮想マシンは「ゲスト」と呼ばれ、それを実行する物理コンピューターは「ホスト」と呼ばれます。ゲスト同士は相互に分離され、ホストのオペレーティングシステムからも分離されているため、セキュリティと安定性が向上します。開発者やITチームは、各仮想マシンが使用するCPU、メモリ、ストレージリソースの量を設定することで、ホストに過度な負荷をかけることなく、最適なパフォーマンスを確保できます。

マイクロンの高速DRAM(ダイナミックランダムアクセスメモリ)およびSSD(ソリッドステートドライブ)は、このプロセスに不可欠な役割を果たします。これらは仮想マシンが効率的に動作するために必要な、メモリとストレージへの高速かつ信頼性の高いアクセスを提供します。特に、複数の仮想マシンが同時に稼働する環境でその能力を発揮します。

仮想マシンには、どのような歴史があるでしょうか?

仮想マシンの歴史は20世紀中盤まで遡り、過去数十年の間にその用途が拡大しました。

  • 1960年代、タイムシェアリングシステムと仮想マシンの登場:複数のユーザーがコンピューティングリソースを共有できる、IBMのCP-40やCP/CMSといったタイムシェアリングシステムから、仮想マシンの概念の原型が生まれました。
  • 1970年代、Pascalのpコードと人気の高まり:1973年、Pascalのpコードの発表により、専用ハードウェアなしで命令を仮想的に実行することが可能になり、言語ベースの仮想マシンの基礎が築かれました。IBMのVM/370も、商用VMテクノロジーをメインフレームにもたらしました。
  • 1990年代、商用化と進展:1990年代には仮想化テクノロジーが大きく進歩し、Java仮想マシン(JVM)のようなマネージドランタイムの導入によって、プラットフォームに依存しないソフトウェア実行が可能になりました。仮想マシンはいちだんと効率的になり、ゲストシステムとホストシステム間の調整が改善されました。1999年、初めて広く普及したx86システム用の商用仮想化製品がVMwareから発売され、デスクトップおよびサーバーの仮想化に革命をもたらしました。
  • 2000年代以降、クラウドとスケーリング:仮想マシンは、現代のコンピューティングにおいてスケーラブルなリモートインフラを支える基礎的なテクノロジーとなったことで、クラウドコンピューティングは世界中の企業に普及しました。

仮想マシンには、主にどのようなタイプがあるでしょうか?

一般に仮想マシンは、プロセス仮想マシンとシステム仮想マシンのどちらかに分類されます。

  • プロセス仮想マシン(アプリケーション仮想マシン)は、単一のアプリケーションを実行するように設計されており、アプリケーションが終了すると仮想マシンも終了します。
  • システム仮想マシン(ハードウェア仮想マシン)は、オペレーティングシステム全体をシミュレートし、ユーザーの操作とは別に、独立して動作します。これが最も一般的なタイプの仮想マシンです。

どちらのタイプの仮想マシンも、その動作やリソース割り当ての管理は、ハイパーバイザーに依存しています。たとえば、システム仮想マシンは、ハイパーバイザーを使用してオペレーティングシステム環境全体をエミュレートします。一方、プロセス仮想マシンは、ハイパーバイザーを使用して単一のアプリケーションを分離・管理する場合があります。ハイパーバイザーのタイプ1またはタイプ2のどちらを選ぶかは、実装先の環境や、必要とされるコントロールまたは分離のレベルによります。

これら2つの主要な仮想マシンのカテゴリーには、以下のように、より小さいサブセットがあります。

  • Java仮想マシン:Javaバイトコードを実行します。
  • Python仮想マシン:Pythonコードの実行に使用します。
  • iOS仮想マシン:Appleシステム用に特別に設計されています。
  • Android仮想マシン:Androidスマートフォンシステム用に設計されています。

仮想マシンは、どのように活用されているでしょうか?

仮想マシンは、ソフトウェア開発から企業のクラウドインフラストラクチャまで、幅広いアプリケーションを支える、あらゆる業界で基礎となるテクノロジーです。

ソフトウェア開発とテスト

仮想マシンを利用することで、開発者が新しいアプリケーションの構築やテストを行うための隔離された環境を作成できます。仮想マシンによってさまざまなハードウェアおよびソフトウェア構成をシミュレートできるため、チームは、本番システムに影響を与えたり、主要なオペレーティングシステムの安定性を損なったりするリスクを負わずに、ソフトウェアのテストを安全に行うことができます。この柔軟性により、開発サイクルが迅速化し、ソフトウェアの品質が向上します。

クラウドコンピューティング

仮想マシンは最新のクラウドコンピューティングに不可欠です。​​仮想マシンによってサービスとしてのインフラストラクチャ(IaaS)サービスとしてのソフトウェア(SaaS)などのスケーラブルなリモートインフラストラクチャサービスが強化されます。

仮想マシンにより、共有の物理ハードウェア上で複数の仮想環境を実行できるため、企業ではクラウド上でアプリケーションを効率的に実装、管理、拡張することが可能になります。

リモートワークとVPNアクセス

仮想マシンを利用すると、ユーザーは世界のどこからでも会社のシステムや機密データに安全にアクセスできます。仮想マシンにより、ユーザーが主に使用するデバイスとは適合性のないアプリケーションでも実行が可能になり、企業の仮想プライベートネットワーク(VPN)を介して安全に接続できることから、柔軟かつ生産性の高いリモートワークが実現します。

複数のオペレーティングシステムの実行

仮想マシンの使用により、1台の物理マシン上でLinuxやWindowsなど、複数のオペレーティングシステムを実行することができます。この機能は、多様なソフトウェア環境やレガシーアプリケーションをサポートしなければならない開発者、テスター、企業にとってきわめて有用です。

サイバーセキュリティとアクセス制御

仮想マシンは、セキュリティ、監視能力、アクセスの透明性を向上させる、セグメント化された隔離環境を提供します。各VMの使用状況を監視し、詳細なアクセス制御を実施することで、機密性の高いシステムには権限のあるユーザーしかアクセスできないようにして、企業のサイバーセキュリティ態勢を全面的に強化することができます。

よくある質問

仮想マシンに関するよくある質問

仮想マシンを使用することで、1台の物理サーバー上で複数のオペレーティングシステムやアプリケーションを実行できるようになります。結果的に、より少ないハードウェアでより多くの業務を処理できるので、コストやエネルギー消費量が削減され、コンピューティングリソースの管理や拡張も容易になります。また、仮想マシンによってタスク同士を互いに分離することで、新しいソフトウェアのテストや、障害からの復旧が容易になり、システムのセキュリティを確保できます。

タイプ1ハイパーバイザーは物理ハードウェア上で直接動作するため、より高いパフォーマンスとセキュリティが得られます。タイプ2ハイパーバイザーはホストオペレーティングシステム上で動作するため、セットアップは容易ですが、全般的に効率は劣ります。