コンテナとハイパーバイザーは、マルチブート GUI ベースのディストリビューションの代替手段となるでしょうか?

コンテナとハイパーバイザーは、マルチブート GUI ベースのディストリビューションの代替手段となるでしょうか?

もうすぐ、複数のディストリビューションで GUI アプリケーションをテストする必要があります。以前は VirtualBox の仮想マシンでこれを行いましたが、それらを使用するとイライラするほど遅くなることがあります。マルチブートを検討しましたが、a) 環境の交換や b) 環境の維持 (追加/削除/更新) の際にコストが高くなります。

最近、コンテナベースのソリューションに出会った。翻訳タイプ1ハイパーバイザーベースのソリューション仮想化そしてQubes OS テンプレート VM(Xen ベース)。

コンテナやハイパーバイザーは、GUI ベースのディストリビューションのマルチブートの代替として有効でしょうか?

具体的な解決策が理想的な答えですが、根拠がしっかりした理論的な答えでも構いません。

答え1

はい、仮想化環境の使用は、複数の OS を並行して実行できるため、ある OS から別の OS に切り替えるためにメイン システムを再起動する必要がないという意味で、マルチブートの非常に実行可能で優れた代替手段です。

いずれかのテクノロジー (ベアメタルまたはホスト型ハイパーバイザー)、LXD、またはハイパーバイザーなし (LXC) のいずれがニーズに合うかは、テストする OS (ゲスト) とメインの OS (ホスト) によって異なります。

ホスト上で実行されているカーネルが仮想化したい OS と互換性がある場合は、コンテナ ベースのソリューションを使用することをお勧めします。これは、オーバーヘッドが少ないソリューションだからです。たとえば、さまざまなグラフィカル環境 (Gnome、KDE ​​など) で Red Hat、Debian、Ubuntu を実行できます。

それ以外の場合、VirtualBox などのホストベースのハイパーバイザーと比較して、ベアメタル ハイパーバイザーがパフォーマンス面で有利になる明白な理由はありません。エクスペリエンスが異なる場合は、構成またはリソースの問題がある可能性があります。

答え2

あらゆる種類のハイパーバイザーは、システム リソースを共有してより有効に活用できるため、マルチブート状況よりも優れています。マルチブートでは、一度に 1 つの OS のみがシステムを使用できます。

仮想化により、ゲストにシステムリソースを過剰に割り当てできますが、すべてのゲスト(およびホスト)が割り当てられたリソースに同時にアクセスしようとすると、あまり効果がありません。タイプ1ハイパーバイザー(別名ベアメタル)通常(常にではありませんが) それ自体のシステム リソース要件は低くなります。もちろん、完全な GDE と定期的に使用される追加サービスを備えたユーザー システムで KVM などを実行している場合は、この要件は無効になります。

VM のパフォーマンスが遅いのは、すでにシステム負荷がかかっているシステムで VM を実行していることに関係しているようです。可能であれば、容量の大きい別のホストで VM を実行することを検討してください。

関連情報