0Pricing
Cloud & IT Cert Prep · レッスン

仮想マシンとハイパーバイザー

1台のサーバーで複数の分離された仮想コンピューターを動かす仕組みを理解します。

「仮想マシンとハイパーバイザー」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

仮想化とは

仮想化により、1台の物理サーバーを複数の独立したコンピューターとして動作させられます。それぞれのコンピューターは仮想マシン(VM)であり、独自のオペレーティングシステム、アプリケーション、仮想CPU、メモリ、ディスクを持ちます。VMは基盤となる実際のハードウェアを共有しますが、互いに分離されています。

これは、現代のデータセンターとクラウドの基盤です。物理マシン1台につきアプリケーション1つを動かす代わりに、1台の高性能サーバーで数十台のVMをホストできるため、コスト、電力消費、設置スペースを大幅に削減できます。

ハイパーバイザーを知る

ハイパーバイザー(Virtual Machine Monitorとも呼ばれます)は、VMを作成して実行するソフトウェア層です。物理CPU、RAM、ストレージを分割して各VMに割り当て、VM同士を分離します。そのため、1台のVMがクラッシュしても、隣接するVMが停止することはありません。

ハイパーバイザーは、オペレーティングシステムがアプリケーションへのアクセスをスケジュールするのと同じように、実際のハードウェアへのアクセスをスケジュールします。各ゲストOSからは、VMが物理マシン全体を所有しているように見えます。

タイプ1: ベアメタルハイパーバイザー

タイプ1ハイパーバイザーは、その下にホストOSを置かず、ハードウェア上で直接実行されます。ベアメタル上で動作するため、高速で効率的かつ安全であり、本番サーバーやクラウドで選ばれています。

  • VMware ESXi
  • Microsoft Hyper-V
  • KVM (Kernel-based Virtual Machine)
  • Xen

データセンターではタイプ1ハイパーバイザーを実行し、1台のホストで多数のテナントに同時にサービスを提供します。

タイプ2: ホスト型ハイパーバイザー

タイプ2ハイパーバイザーは、WindowsやmacOSなどの通常のオペレーティングシステム上でアプリケーションとして動作します。インストールが簡単で、テスト、学習、デスクトップ環境に適していますが、リクエストがまずホストOSを経由するため、速度は低下します。

  • VMware Workstation and Fusion
  • Oracle VirtualBox
  • Parallels Desktop

ノートパソコンでLinuxを実行する場合はタイプ2を使用し、サーバーファームを運用する場合はタイプ1を使用します。

ゲストOSとホスト

ホストは、すべてを実行する物理マシンとハイパーバイザーです。ゲストOSは、VM内にインストールされたオペレーティングシステムです。ゲストは自由に組み合わせられます。1台のホスト上で、Windows Server、Ubuntu Linux、旧バージョンのWindowsを並行して実行することも可能です。

各ゲストは専用のハードウェアを持っていると認識しますが、実際にはハイパーバイザーのスケジュールに従い、ホストのCPUとメモリのプールを共有しています。

リソース割り当て

管理者は各VMにvCPU(仮想プロセッサコア)、RAM、ディスクの一部を割り当てます。オーバーコミットとは、すべてのVMが同時にピーク性能で動作するわけではないと見込んで、ホストに物理的に存在する量を超える仮想リソースを合計で割り当てることです。

慎重に行えば効率が向上しますが、無計画に行うとリソース競合が発生します。これはVM同士がCPUやメモリを奪い合い、動作が遅くなる状態です。各VMに適切なサイズのリソースを割り当てることで、パフォーマンスを予測しやすくなります。

スナップショットとクローン

スナップショットは、ある時点におけるVMの正確な状態を記録します。パッチや変更によって問題が発生した場合は、数秒でスナップショットの状態にロールバックできます。クローンはVM全体をコピーし、同一の新しいVMをすばやく作成します。

これらの機能により、VMは物理サーバーよりはるかに柔軟になります。物理サーバーでは、壊れたマシンの再構築に数時間かかることがあります。ただし、スナップショットは同じホストのストレージ上に存在するため、バックアップではありません。

コンテナとVMの違い

コンテナ(Dockerなど)は、より軽量な仮想化方式です。コンテナごとに完全なゲストOSを用意するのではなく、ホストのカーネルを共有し、アプリケーションと依存関係だけをパッケージ化します。数ミリ秒で起動し、使用するメモリも大幅に少なくて済みます。

VMはそれぞれ完全なOSを備え、ハードウェアレベルで分離します。一方、コンテナはOSレベルで分離します。どちらも一般的に使われており、実際の多くの環境では、階層化された分離を実現するためにVM内でコンテナを実行します。

ライブマイグレーション

ライブマイグレーションは、実行中のVMを、ほとんど、またはまったくダウンタイムなしで、ある物理ホストから別の物理ホストへ移動します。ハイパーバイザーがVMのメモリをネットワーク経由で新しいホストにコピーし、その後シームレスに切り替えるため、ユーザーが気付くことはほとんどありません。

これにより、サービスを停止せずにハードウェアのメンテナンス、負荷分散、フェイルオーバーを実施できます。VMwareではこれをvMotionと呼び、仮想化環境が高い可用性を維持できる重要な理由の1つとなっています。

VMがクラウドを支える理由

クラウドプロバイダーは、大規模なハイパーバイザー群を運用しています。クラウドサーバーを借りるとき、実際に利用しているのは共有ハードウェア上のVMです。仮想化により、プロバイダーは数分でVMを起動し、規模を拡大し、使用した分だけ料金を請求できます。

ネットワーク技術者にとって重要なのは、ネットワークがホスト内部にも広がることです。ホスト内部では、仮想スイッチを通じて仮想マシン同士が接続されます。仮想スイッチについては次のレッスンで学びます。

メリットとトレードオフ

メリット: ハードウェアの統合、迅速なプロビジョニング、スナップショットによる容易なバックアップ、分離、そして稼働時間を維持するためのライブマイグレーションです。

トレードオフ: ハイパーバイザーによるわずかなオーバーヘッドが発生し、オーバーコミットには競合のリスクがあります。また、1台のホストに多数のVMを集約すると、そのホストが停止した場合に単一障害点となります。このリスクに対処するため、優れた設計では重要なVMを複数のホストに分散します。

クイックチェック

ハイパーバイザーの種類について理解度を確認しましょう。

まとめ

仮想化は、1台の物理サーバーを、ハイパーバイザーで管理される複数の分離された仮想マシンに分割します。タイプ1ハイパーバイザーは本番環境向けにベアメタル上で動作し、タイプ2はデスクトップやテスト向けにホストOS上で動作します。各VMにはvCPU、RAM、ディスクが割り当てられ、スナップショット、クローン、ライブマイグレーションを利用できます。VMはクラウドコンピューティングの構成要素です。

よくある質問

「仮想マシンとハイパーバイザー」レッスンは無料ですか?

はい。「仮想マシンとハイパーバイザー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「仮想マシンとハイパーバイザー」で何を学びますか?

1台のサーバーで複数の分離された仮想コンピューターを動かす仕組みを理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「仮想マシンとハイパーバイザー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 仮想マシンとハイパーバイザー
  2. 仮想スイッチと仮想ネットワーク
  3. パブリック、プライベート、ハイブリッドクラウド
  4. クラウド接続とVPC
← Cloud & IT Cert Prepに戻る