2013-06-11 15 views
8

私は、LXCコンテナが完全なVMを使用するよりも良い選択肢になることを心がけようとしています。LXCとVMの典型的な使用例は何ですか?

何らかの議論が起こる可能性がある正確なユースケースはありますか?

ハードウェア制御なしでアプリケーションを実行するために、LXCは「PaaS」に対応していますか? インフラストラクチャ制御が必要な「IaaS」の視点で常にVMを使用する必要がありますか?

よろしく、私に

答えて

5

私はIaaSがVMを必要としないと思います。 LXCを使用すると、cpushareとメモリユーザー制限の数を定義できます。

VMは非常に重いので、たとえばPHP/MySQL/Apacheの場合は、1つのVMが必要です。 LXCは軽いので、3つのLXCを持つことができます。スケーリングの方がはるかに優れています(mysqlを分割する必要がある場合は、mysql LXCを複製してください)。

1

LXCの利点は、それはあなたが本当に小さな環境を持っているのに役立ちます。だからあなたは1つだけのアプリケーションをそれで実行する必要がありますので、フルを使用します。あなたの環境でいくつかのアプリが動くようにするには、VMが良いです。 VMがより良い別のケースは、ホストカーネル以外のカーネルを使用する場合です。

私にとって、lxcは本当に軽いVMシステムです。スピードとサイズが良い。しかし、制約はあなたが必要とするものではありません。

8

LXCはステロイドのchroot jailのようです。議論のために、それは軽量VMと考えることができます(VMではないにもかかわらず)。

一時的なインフラストラクチャで動作するように設計されたアプリケーションを作成する作業を既に済ませている場合は、LXCを使用するだけでオーバーヘッドを削減できます。

私にとって、LXCについて最もクールなことは、その周りに成長するコミュニティです。 dockerのようなものを考えてみましょう - ドッカーの画像は比較的移植性があります。物理ハードウェア上、またはデスクトップ上で実行されているVirtualBox VM内、またはAmazonまたはRackspaceによって提供されているVM内で、同一のコンテナを構成するツールを提供します。これにより、追記型のどこでも実行可能な夢が実現します。

+3

LXCは、軽量のVMよりもステロイドのchrootに似ています。 LXCはマシンを仮想化しないため、まったく仮想マシンではありません。 –

+0

ありがとう私はそれをより明確に更新しました –

2

LXCはVMよりもはるかに高速で、コンテナあたりのホストリソースはVMよりも少ないため、多くの独立したプロセスを1つのホストにパックしたり、頻繁に起動する組み合わせに最適です。

ユースケースは、再生可能な環境でユニットテストを実行するためのケースです(スナップショットファイルシステムと組み合わせると、Dockerが提供する)。コンテナ全体を回転させてテストを実行し、テストを実行するだけの速度でシャットダウンすることができます。 LXCの利点は、テストのカーネル以外の依存関係がコンテナ内にあることです。それはLinuxのさまざまな風にさえありえます(例えば、ホストはUbuntuで、コンテナはCentosを実行できますが、ホストのカーネルを共有する必要があります)。

関連する問題