October 24, 2018
by Michael Bose
現代の高度仮想化IT世界において、自分のタスクに最適なハイパーバイザーを選択することが重要ポイントになる。 さまざまなベンダーから複数の仮想化プラットフォームが提供されており、それぞれが魅力的な機能を提示しています。 このブログ記事では、Oracle VirtualBoxとMicrosoft Hyper-Vの違いについて説明します。 この 2 つのプラットフォームには、便利な機能が含まれているほか、共通点や相違点がありますので、今日の記事を読んでよく理解してください。
VirtualBox と VMware の完全比較については、このブログ記事を参照してください。
- Hyper-V vs. VirtualBox Hypervisor Types
- Support of Guest Operating Systems for Hyper-V and VirtualBox
- Hyper-V チェックポイントと VirtualBox スナップショット
- Hyper-V VMConnect vs. VirtualBox Remote Display
- Hyper-V Live Migration vs. VirtualBox Teleporting
- ハードウェア仮想化とソフトウェア仮想化
- コンソールインターフェースによるリモート管理
- VM Network Traffic Analyzing
- Hyper-V および VirtualBox での共有フォルダー、ドラッグ & ドロップ
- まとめ
Hyper-V vs. VirtualBox Hypervisor Types
Hypervisor は、ホスト マシンと呼ばれる物理コンピューター上で独自の OS (guest operating systems) で 1 つまたは複数の仮想マシンを実行できる特別なソフトウェアです。 ハイパーバイザーには、タイプ1とタイプ2の2種類があります。
Hyper-V はタイプ1のハイパーバイザーで、ベアメタルハイパーバイザーとも呼ばれ、コンピューターのハードウェア上で直接実行されます。 物理コンピュータ(ホスト)が起動すると、BIOSやUEFIからHyper-Vハイパーバイザーが制御を行う。 その後、Hyper-Vは、Hyper-V Server、Windows、またはWindows Serverである管理オペレーティングシステムを起動する。 仮想マシンは、その設定に応じて、ユーザーによって手動で起動するか、自動的に起動することができます。 タイプ2のハイパーバイザーとは、オペレーティングシステム(OS)上で動作するアプリケーションで、すでにホストにインストールされているものです。 物理コンピュータが起動すると、ホストにインストールされたオペレーティングシステムがロードされ、制御される。 ユーザーはハイパーバイザーのアプリケーション(この場合はVirtualBox)を起動し、必要な仮想マシンを起動します。 VM ホスト プロセスが作成されます。
ホストが電源オンであれば Hyper-V は常にオンですが、VirtualBox はユーザーが必要に応じて起動および終了することができます。 Hyper-V 機能は Windows 8 以降に組み込まれており、Windows Server 2008 以降のバージョンではサーバー ロールとしても利用できます。
Virtual Box は Linux、Windows、Solaris、および Mac OS などより多くのオペレーティング システム上で実行できます。 Windows が環境の物理マシンで使用されている場合は、Hyper-V を優先することができます。 環境がマルチプラットフォームである場合、VirtualBox を利用して、異なるオペレーティング システムの異なるコンピューターで仮想マシンを実行できます。
NAKIVO Backup & Replicationは、VMware Backup, Hyper-V Backup, Office 365 Backupなどの複数のバックアップ、レプリケーション、リカバリ機能で中小企業と企業向けにハイエンドのデータ保護を提供します。
Support of Guest Operating Systems for Hyper-V and VirtualBox
ゲスト OS とは、VM 上にインストールされ実行される OS のことです。 ゲストOSとホストOSは異なる場合があります。 Hyper-V は、Windows、Linux、および FreeBSD ゲスト OS で VM をホストできます。
VirtualBox は Hyper-V よりも多くのゲスト OS をサポートします。 Windows、Linux、FreeBSD、Solaris、Mac OS、およびその他です。 サポートされているオペレーティング システムの全バージョンのリストは、各ベンダーの公式ページで見ることができます。 Integration Services は、VM 上で実行されるゲスト OS にインストールされます。 Windows OSの場合、Integration Servicesは、インストーラーを含む仮想ディスクイメージ(ISOファイル)をVMに添付するか、Windows Update経由でインストールすることができます。 Linux の場合、主な統合サービスは、最新の Linux OS のカーネルに組み込まれています。 Linux では、カーネルが更新されると、統合サービスも更新されます。 別の方法として、Download Center から Hyper-V Integration Services for Linux の完全なインストール パッケージを手動でダウンロードすることもできます。
VirtualBox Guest Additions にはシステム アプリケーションとドライバーが含まれており、Hyper-V Integration Services と同様にゲスト OS を最適化し、そのパフォーマンスと使いやすさを向上させます。 Guest Additions をインストールすると、ドラッグ & ドロップ、双方向クリップボード、自動サイズ変更、およびシームレス モードが利用可能になります。 インストーラーを含む ISO ディスクイメージを VM に添付し、GUI (グラフィカル ユーザー インターフェイス) またはコマンドラインを使用して Guest Additions をインストールする、というように、インストール方法は似ています。 VHDは、Hyper-Vの古い仮想ディスク形式です。 VHDX形式は、Windows Server 2012のHyper-Vから利用可能になりました。 仮想ディスクの事前割り当てには、2つのタイプがあります。 固定仮想ディスクは、ディスクが作成されると、ストレージ上のすべてのプロビジョニングされたスペースを消費します。 このプロビジョニングタイプは、シックプロビジョニングに似ています。 仮想ディスクの事前割り当ての詳細については、シンおよびシック プロビジョニングに関するブログ記事をお読みください。
動的仮想ディスクは、作成後にストレージ領域をほとんど消費せず、データが仮想ディスクに書き込まれると時間と共に成長する。 このプロビジョニング タイプは、シンプロビジョニングに似ています。
VirtualBox は、次の形式の仮想ディスクをサポートします。 vdi、vmdk、vhd、hdd。
- VDI は VirtualBox のネイティブフォーマット
- VMDK は VMware 仮想ディスクフォーマット
- VHD は Hyper-V フォーマット(VHDX は VirtualBox ではサポートされていません)
- HDD は Parallels Desktop フォーマット
VirtualBox では固定サイズのディスクと動的割り当てディスクの使用が可能で、これらは Hyper-V でできるのと同じように使用可能です。
Hyper-V と VirtualBox の両方で、固定ディスクを動的ディスクに変換することができます。 固定仮想ディスクは作成に時間がかかり、作成直後はより多くのストレージ容量を消費しますが、その後より高いパフォーマンスを提供します。 動的仮想ディスクはほぼ瞬時に作成され、ストレージ領域を節約できますが、そのパフォーマンスは固定仮想ディスクのパフォーマンスより低くなります。
Hyper-V チェックポイントと VirtualBox スナップショット
Hyper-V チェックポイントは、仮想マシン状態を保存できるようにする機能です。 チェックポイントを使用すると、不要な変更が行われる前に、仮想マシンを以前の状態に戻すことができます。 Hyper-Vの最新バージョンでは、2種類のチェックポイントが利用可能です。 スタンダードチェックポイントとプロダクションチェックポイントです。 スタンダード・チェックポイントとは異なり、プロダクション・チェックポイントでは、WindowsベースのVMではVSS(ボリューム・シャドウ・コピー・サービス)、LinuxベースのVMではファイルシステム・フリーズを使用し、仮想ディスクへの書き込み操作を阻止するためにVMをフリーズさせることができます。 この方法により、データの不整合など、標準チェックポイントを使用した場合に発生する可能性のある問題を回避することができます。 チェックポイントを行う際には、ディスク上のデータが変更されてはなりません。 チェックポイントの作成中にデータが変更されない場合、スナップショットはデータ整合性とアプリケーション整合性があります。
チェックポイントを作成すると、仮想マシンの各VHD(またはVHDX)仮想ディスクに対して差分仮想ディスク(AVHDまたはAVHDX)が作成されます。 チェックポイントの作成後、すべての変更が差分ディスクに書き込まれます。 差分ディスクは親仮想ディスクと一緒に同じディレクトリに保存されます。
VirtualBox のスナップショットは Hyper-V のチェックポイントに相当します。 スナップショットで現在のVMの状態を保存し、必要に応じて以前の状態に戻すことができます。 VDIは、VirtualBoxで使用される仮想ディスクのネイティブファイル形式です。 スナップショットを作成すると、差分の仮想ディスクが新たなVDIファイルとして作成されます。 現在のVMの状態と比較して以前のVMの状態を表すスナップショットを削除すると、差分仮想ディスクは親仮想ディスクにマージされるか、複数の差分仮想ディスクがマージされます。 スナップショットは主にテスト目的で使用され、実稼働目的ではないことに注意してください。
Note: チェックポイントとスナップショットはテストに有用で、VM を以前の状態に戻すのに役に立ちます。 VM のバックアップとしてそれらを使用しないでください。 スナップショットとバックアップの違いについて詳しくは、当社のブログ投稿をお読みください。
Hyper-V VMConnect vs. VirtualBox Remote Display
Hyper-V Virtual Machine Connection (VMConnect) は、仮想マシンの GUI またはコンソール インターフェイスへのアクセスを提供するツールで、これにより VM を管理することが可能です。 VMConnectは、この目的のためにWMI(Windows Management Instrumentation)を使用します。 物理的なマシンと対話するのと同様に、キーボードとマウスを使用してVMのゲストOSと対話することができます。 VMへの接続は、Hyper-VがインストールされVMが稼働しているローカルマシンから、またはネットワーク経由でリモートマシンから確立することができます。 VMConnectは通常、Hyper-Vのロールがインストールされるとデフォルトで有効になります。 それ以外の場合は、機能の追加ウィザードでHyper-V Tools機能を追加することができます。 Microsoft Remote Desktop Protocol (RDP) は、VMConnect による接続の確立に使用されます。
拡張セッション モードでは、ローカル デバイスとリソースを VM にリダイレクトすることができます。 クリップボード、ディスク ドライブ、USB フラッシュ ドライブ、オーディオ、プリンター、およびディスプレイの設定をリダイレクトすることができます。 したがって、物理マシンの USB ポートに挿入された USB フラッシュ ドライブを仮想マシンで使用できます。
VirtualBox には、仮想マシンを便利に管理するためのツールも含まれています。 ローカル・マシン上で実行される VM は、ローカル・コンピューターから VirtualBox GUI を使用して管理できます。 VirtualBox Remote Desktop Extension (VRDE) は、サードパーティが開発できる拡張パッケージで最大限の柔軟性を提供する一般的な拡張インターフェースである。 VRDEは、Microsoft RDPと互換性があります。 VirtualBox Remote Display Protocol (VRDP) は、このような拡張パッケージで提供されます。 これは、RDP の下位互換性のある拡張で、リモート VM の制御に標準の RDP クライアントを使用できます。
リモートゲスト VM に接続するには、VM 表示設定にホストマシンの IP アドレスと VM へのリモート接続用に設定したポートを入力する必要があります。 3389はデフォルトで使用されるポート番号です。 VirtualBox VM ごとに異なる RDP ポート番号を設定できます。
Hyper-V Live Migration vs. VirtualBox Teleporting
Live Migration は Hyper-V 機能で、実行中の VM をある Hyper-V ホストから別のホストへ透過的に、大きなダウンタイムなしに移動することを可能にします。 この機能は、VMに高可用性を提供するのに役立つため、Failover Clusterを使用する場合に特に有用です。 Hyper-V Failover Clusterでは、専用の移行ネットワークを使用することが推奨されます。 仮想ディスクなどのVMファイルは、共有ストレージに配置する必要があります。 VMファイルをあるストレージから別のストレージに移動する必要がある場合は、ストレージ移行を使用する必要があります。
VirtualBox Teleportingは、VMが実行中であっても、TCP/IPネットワーク上でVirtualBoxホストから別のVMに移動することができる、VM移行機能です。 移動元と移動先のVMは、同じ共有ストレージを使用する必要があります。 VMは、ホストOSから独立して、最小限のダウンタイムで移行元ホストから移行先ホストに転送できます。 たとえば、実行中のWindowsベースのVMをLinuxホストからSolarisホストに、またはその逆に転送することができます。 テレポート機能は、VirtualBox バージョン 3.1 以降で利用可能です。 実行中の VM の移行は、仮想環境の柔軟性を向上させます。
ハードウェア仮想化とソフトウェア仮想化
Hyper-V はハードウェア仮想化をサポートします。 ハードウェア仮想化とは、ハイパーバイザーを使用して、ソフトウェアと物理ハードウェアの間に抽象化レイヤーを作成し、コンピューターをエミュレートする技術です。 コンピュータが正常に機能するために必要なすべてのデバイスは、特別なソフトウェアでエミュレートされます。 ハードウェア仮想化は、物理マシンの UEFI/BIOS で有効にする必要があります。
VirtualBox は、ハードウェアおよびソフトウェア仮想化をサポートします。 ソフトウェア仮想化は、x86 アーキテクチャーを使用する 32 ビットゲスト OS を持つ VM に対してのみ使用可能です。 64 ビットのゲスト システムの場合、ハードウェア仮想化のみ使用できます。 他のほとんどの仮想化製品と異なり、ソフトウェア仮想化のサポートにより、VirtualBox は、古いプロセッサを持つコンピューター上で、それらのプロセッサがハードウェア仮想化のサポートを持っていない場合でも、多くのゲスト OS を実行できます。 Hyper-V ManagerでVMの作成、インポート、設定、起動、停止、削除ができるほか、仮想スイッチ、仮想ハードディスクの設定、チェックポイントの作成、VMConnectによるゲストOSインターフェースへの接続など、その他の操作も可能です。 また、リモートの Hyper-V サーバーに接続し、そのサーバー上に存在する VM を管理することもできます。
phpVirtualBox は PHP で書かれた Web インターフェースを持つオープンソースツールで、リモート VirtualBox インスタンスを VM とともに管理することができます。phpVirtualBox は VirtualBox の GUI インターフェースと同じインターフェースを提供し、結果として、ローカルインスタンスの管理方法と同様にブラウザを使ってリモートで仮想ボックスインスタンスを管理することが可能です。 このツールは、VirtualBox をヘッドレスサーバー (GUI のない OS を搭載したサーバー) で実行する場合、VirtualBox の GUI の良い代替となります。
コンソールインターフェースによるリモート管理
Hyper-V サーバーは、Microsoft が開発した Windows コマンドラインインターフェースである PowerShell で管理することができます。 PowerShellはWindowsのネイティブツールですが、PowerShell CoreはLinuxやmacOSにも対応しています。 このため、PowerShell Remotingを有効にする必要があります。 PowerShellを使用することは、特に大規模な環境において、Hyper-VおよびVMの管理を自動化する方法です。
VBoxManage は、VirtualBox用のコマンドラインインターフェース(CLI)です。 VirtualBox の GUI で利用可能なすべての機能にアクセスできます。 さらに、VBoxManage を使用して VirtualBox 仮想化エンジンが提供するすべての機能にアクセスできます (すべての機能が GUI で利用できるわけではありません)。 また、CLIはGUIを持たない(コンソールインターフェースしか持たない)OS上のVirtualBoxインスタンスの管理にも使用できます。 もう一つの利点は、スクリプトと自動化の機能です。 VBoxManage は、Linux、Windows、Solaris、および Mac OS と互換性があります。
VM Network Traffic Analyzing
Port Mirroring は Hyper-V のネットワーク トラフィック分析用ツールです。 この機能により、あるポートから別のポートにすべての受信および送信パケットのコピーを送信し、さらにパケットを分析することができます。 ポートミラーリングを使用する主な目的は、トラブルシューティングです。 適切な仮想スイッチポートに接続された仮想ネットワークアダプタを持つ VM を作成し、その宛先 VM にパケット分析ソフトウェアをインストールし、分析のために複数の VM から宛先 VM にネットワークパケットを送信することができます。 その結果、VirtualBox は内蔵機能を利用し、VM ネットワーク・インターフェイスのすべてのキャプチャされたトラフィックを PCAP ファイルに書き込みます。 後で、Wiresharkのようなトラフィック解析ツールでこれらのファイルを開くことができます。 この機能はコマンドライン・インターフェイスで有効にすることができます。 229>
Hyper-V および VirtualBox での共有フォルダー、ドラッグ & ドロップ
共有フォルダーは、異なるマシン間でのファイル交換に便利です。 したがって、この方法は、ホスト OS からゲスト OS へのファイルのコピー、またはその逆に使用できます。
Hyper-V にはこのような組み込み機能はありません。 Windows GUI または PowerShell を使用してホスト OS 内のフォルダーを手動で共有し、ゲスト OS で使用する指定したユーザーまたはグループに対してそのフォルダーへのアクセスを提供することができます。 また、物理マシンと仮想マシン間でファイルをコピーする代替方法として、Hyper-V 仮想環境で Copy-VMFile PowerShell ツールを使用することもできます。
VirtualBox には共有フォルダー機能が組み込まれており、VirtualBox ユーザーインターフェースから簡単に有効化することができます。 共有フォルダーを使用して VirtualBox ホスト マシンとゲスト マシンの間でファイルを転送するのは便利です。 VM Settingsを開き、Shared Foldersを選択する必要があります。 Add Share: フォルダパスを設定し(フォルダはホストマシン上にあり、例えば C:\temp など)、ゲスト OS に表示されるフォルダ名を入力します。 必要に応じて、次のオプションを有効または無効にします。 Read-only, Auto Mount, Make Permanent の各ボックスをチェックし、有効または無効にします。 VirtualBox Guest Additions はゲスト OS にインストールする必要があります。
Drag & drop とは、ファイルやフォルダなどのオブジェクトを画面のある部分から別の部分に移動できる GUI の機能の一つです。 仮想化環境の文脈では、ドラッグ&ドロップにより、ホストマシンからゲストマシンへ、またはその逆へファイルやフォルダーを移動することができます。 Hyper-V と VirtualBox の両製品は、ドラッグ & ドロップ機能をサポートしています。
Hyper-V Integration Services (Guest Services を含む) または VirtualBox Guest Additions は、ゲスト OS に適宜インストールされている必要があります。 Hyper-V VM にログオンするときは、拡張セッションモードを使用する必要があります。 VirtualBox で [Devices] > Drag & Drop と進み、方向を選択して (「bidirectional」を選択可能)、この機能を有効にします。
まとめ
Hyper-V と VirtualBox はどちらも仮想化のための魅力的なソリューションで、両者の選択は困難かもしれません。 Hyper-V はタイプ 1 のハイパーバイザーであり、VirtualBox はタイプ 2 のハイパーバイザーです。 Hyper-VはWindowsベースのシステムにしかインストールできないが、VirtualBoxはマルチプラットフォーム製品である。 Hyper-Vは、フェイルオーバークラスタリングやロードバランシングなどのクラスタリング機能をサポートしています。 Microsoft の仮想化ソリューションは、すでに Windows ベースの環境を使用している企業にとって良い選択でしょう。 Oracle VirtualBoxは無料で、多数のゲストおよびホストオペレーティングシステムをサポートしているため、マルチプラットフォーム環境に適しています。 本日のブログでは、この2つの仮想化ソリューションの違いを説明し、正しい決断ができるようお手伝いします。 Hyper-V と VirtualBox – あなたのインフラにはどちらを選ぶべき?
4.9 (97.88%) 66 票