Linuxで最速の仮想化ソリューションは何ですか?

Linuxで最速の仮想化ソリューションは何ですか?

まだXENですか?それともVirtualBox、KVM、VmWare、または他のものですか?

最も速いということは、ゲストVMが高速であることを意味します(仮想化による最小速度の低下)。

答え1

どんな条件で最速ですか?ハードウェア仮想化の場合、すべての仮想化プラットフォームで速度が同じでなければなりません。

したがって、見つける必要があるのはソフトウェアのハードウェア仮想化のサポートです。

私が知っている限り、VirtualboxはまだIOMMUハードウェア仮想化をサポートしていません。 KVM、VmWare、およびXenが必要です。 XenとVmWareはおそらくグラフィックカードでIOMMUをサポートする唯一の製品です(成功の程度はさまざまです)。

答え2

最も速いソリューションは、通常、仮想化されていない環境よりもオーバーヘッドが少ないソリューションです。 「OS以外の多様性」の制限を処理できる場合は、それは1つです。オペレーティングシステムレベルの仮想化実装する。 Linuxの場合、これは次のことを意味します。OpenVZ/VirtuozzoLinuxコンテナ(lxc)そして仮想サーバー

答え3

私はまだそれがXENだと思います。一度はRH事前販売担当者と話をした後、なぜKVMを好み、XENをもう使用しないのか尋ねました。彼はKVMが少なくともXENほど速いと言った。証拠を送ってもらいましたが、何も戻りませんでした...

私もOSレベルに同意しません。 IMHO、仮想化ベースのベアメタルハイパーバイザーはこれよりオーバーヘッドが少ないです。したがって、PV XEN DomUはほぼベアメタルほど優れています。

答え4

仮想化ソリューションを実行しているLinux上で他のオペレーティングシステムを仮想化する主な問題の非常に具体的な例を見てみましょう。

次のシナリオを想像してください。

  • (最も嫌い)Windowsゲストを実行する必要があります。
  • 始めなければなりません
  • 訪問者にいくつかのデータを注入する必要があります。
  • Windowsの外ではできないことをしなければなりません(Windowsを嫌う小さな理由)
  • 完了したタスクを抽出(Windowsの外部に保存)する必要があります。
  • このゲストの電源を切る必要があります

この状況を考慮して、私はどの仮想化ソリューションを使用してより短い時間ですべての作業を完了できるかを知りたいと思いました。

ゲストと一緒に何かをしなければならない時間は手動操作なので計算されないとしましょう。 3つ以上はありません。

  1. 仮想化されたオペレーティングシステムの起動
  2. ホスト/ゲストとのデータ転送
  3. 仮想化されたオペレーティングシステムを終了します。

さて、あなたも私のように妄想があり、ゲストは「不変」の状態なので、前の実行で行われたすべてのタスクが実行されるたびに失われるとします。常に同じように起動します。 Windows UpDatesと入力すると、何もしません(起動時にディスクの状態が「不変」の状態に戻ります)。残りは何ですか?二つだけ言うなら:

  • ゲストの開始時間
  • 熱い土地からゲストにまたはその逆に時間を移動する

その場合、再び重要な質問が浮かび上がります。どの仮想化ソリューションがこれを短時間で実行できますか?

私が知って使ってみた例(QEMUとVirtualBox)を例にすると、次のようになります。

  • QEMUは、すべてのハードウェア、プロセッサ、マザーボードなどを「エミュレーション」するように構成されています。すべてが「エミュレート」されているため、「仮想化」ソリューションではありませんが、この例では、非常に遅い方法のサンプル実行をゲストに提供しました。
  • VirtualBOXは、ハードウェアを仮想化し、QEMUがすべてのハードウェアをエミュレートするため、QEMUよりはるかに高速です(カメを使用する方程式1と比較)。

もしそうなら、2つの仮想化ソリューションが同じゲストを実行し、ゲストで同じタスクを実行できるようになったら...どちらが速いでしょうか?それとも、同じゲストを起動するのに少ない時間が必要な質問がありますか?

簡単に言えば、開発者の一般的な例は次のとおりです。

  • さまざまなバージョンのWindowsで新しいアプリケーション実行可能ファイルをテストする必要がある

Win95、98、ME、2000、XP、Vista、7、8、8.1、10のWindowsバージョンと10のすべてのサブバージョン(1507、1511、1604、1608、1709など)とすべてのWindowsアップデートレベルを想像してください見てください。など...そしてそれぞれのHome、Pro、Enterpriseなど)。

これにより、数十のWindows仮想ゲストバージョンで新しいEXEをテストするのが難しい作業になりました。

実際の作業(新しいEXEテスト)は1分もかかりませんが(EXEで新しい追加項目を実行してテストするだけです)、Windowsバージョン、更新などをほぼ百万の組み合わせで実行する必要があると想像してください。

各組み合わせに対して、特定のWindowsバージョン、パッチレベルなどのBOOTを実行する必要があります。これは、BOOTは時間が1分未満から10分以上かかることを意味します。比率を示す純粋な例に過ぎません。

仮想化ソリューションのためにGUESTが99.8%の時間の間起動した場合、別の仮想化ソリューションを使用すると(実際にはほぼ同時に)1.5日かかります。これはわずか0.2%です。 (想像しないでください)、月より34.27日増えます)。

もしそうなら、質問はどの仮想化ソリューションがゲストシステムのより速い実行を可能にするかです。いいえ、より短い時間で作業を完了するためにゲストがどの仮想化ソリューションを使用しているかを理解する必要があります。

私が知っている例は次のとおりです。

  • VirtualBox(デフォルト設定)を介して仮想マシンからWindows 10 Home 64ビットバージョン1809.17763.404を起動すると、起動してメモ帳に入力できるまで約8分の1分かかります。
  • QEMU(仮想化モード、エミュレートされていないモード、および調整されたcfg)を介してゲストから同じWindowsバージョンを起動するのにわずか3分しかかかりません。

増加率は37.5%と考える。 100万台のVMでEXEをテストする例に戻ると、これにより260日の作業時間が節約されます。

(そして私に)何を知っておくべきか尋ねる方が速いと思います。一部は「有料」バージョンで、一部は非常に高価なため(> 1000ユーロ)、世界中の誰もがすべてのバージョンを比較するために必要なテストを実行することは不可能です。

これで個人的な意見です... VirtualBOXはカメです...実際のハードウェア(USB-ISOからの新規インストール)の同じWindows 10では、VirtualBOXと比較してWindows 10は3〜4分ではなく数秒で起動します...しかしここでも、実際のハードウェアと仮想化されたハードウェアを比較するのではなく、仮想化と「A」、仮想化と「B」を比較することです。

私はインターネットで多くを検索しましたが、Windowsゲストの起動時間と仮想化ソリューションを比較したものが見つかりませんでした。

もう1つは、仮想化環境でデータベースなどを実行することです。私はこれについて経験がないので、これについて話すことはできません。

私が言うことができるのは(可能なすべてのWinodwsで新しいEXEをテストする必要があるため)VirtualBOXの起動時間に関するものです...非常に遅いですが...いくつかのUSB(ドングル)とPCIeカードを通過する必要があるため、ポート(ドングル)など、そして無料で... VirtualBOXに閉じ込められました。

これは、顧客がより短時間で作業を完了できるようにする仮想化ソリューションが何であるかについての質問の実際のテキストに焦点を当てたいと思います。

関連情報