Red Hat / CentOS EL6上のLinuxコンテナー(LXC)-lxc-create対libvirt?


13

Red Hatの優雅さを維持し、システムの寿命を延ばそうとするのは難しい...

私は1年以上、Linux Containers(LXC)の支持者です。私の最初のインストールは、のようなオンラインチュートリアルから収集された情報に基づいていた、この1、この1。これはlxc-createlxc-start|stopおよびlxc-destroyコマンドを中心に、既存のOpenVZテンプレートを変更します。

これはうまく機能し、本番環境で問題なく動作しています。しかし、私はいくつかの追加システムを立ち上げており、EL6のコンテナに関するRed Hatの現在のドキュメントを確認することにしました。これに対する彼らの公式の姿勢を見て驚いた。

ではないRHEL 6は、Linuxコンテナを使用するために必要なLXCツールを提供しますか?、Red HatはとしてLXCを説明し、技術プレビューコンテナの作成と管理を管理するためのlibvirtを使用することを提案しています

しかし、Oracle Unbreakable Linuxでまったく異なるコンテナー化手法を提唱しています。

libvirtメソッドにはいくつかの機能が欠けているように見えますが、lxc- *コマンドを使用した最初のアプローチは少し手動のプロセスでした... 。

  • 今日のLXCおよびRHELのようなシステムに関する従来の知恵は何ですか?
  • どのようにしているあなたは、あなたの組織でそれらを実装しますか?
  • あるアプローチと他のアプローチの利点はありますか?
  • これらは共存できますか?

1
libvirtにはLXCコンテナードライバーがあり、それを制御するだけです。仮想化/コンテナー化ソリューションそのものではありません。
クリスティアン・Ciupitu 14年

回答:


7

今日のLXCおよびRHELのようなシステムに関する従来の知恵は何ですか?

個人的には、現在のセットアップにはやや欠けていると思います。LXCは最前線にあるように見えます。

それらをどのように実装していますか?

仮想化オプションとして提供するという点では、私はそうではありません。現在の技術的なセットアップが不足していると思います。

  • ユーザー名の名前空間はありません。
  • 特定のマウントポイントは名前空間を認識しません(cgroups、selinux)
  • / procの値は、名前空間のリソースパーティションを考慮していない誤解を招くシステムグローバルです。
  • 監査を中断します。

ただし、アプリケーションレベルの封じ込めには非常に便利なツールです。ネームスペースとcgroupを直接使用して、特定のユーザーが実行するWebアプリケーションのネットワークおよびIPCリソースを含めます。それを制御する独自のインターフェイスを提供します。RHEL7では、ユーザーACLの概念をサポートするlibvirt-lxc新しいリビジョンとしてこの機能を移行することを検討していlibvirtます。

完全に初期化されたシステムの観点からの仮想化に関しては、RHEL7で提供されるものを失うのを待っていますが、正直なところ、RHEL7のその後のマイナーリリースになってからおそらく十分なソリューションが表示されると思います技術プレビュー状態でのみ。

systemd-nspawnsystemdの作者が現在安全でないことを明確にしたとしても、今後18か月以内に教えてくれるものに注目してください。最終的にlibvirtドロップlibvirt-lxcし、systemd-nspawnシステム化されたスライスが定義されたラッパーを提供しても、私は驚かないでしょう。

また、cgroupをファイルシステムインターフェイスではなくカーネルプログラマインターフェイスとして再実装することに関して、過去6か月にわたって多くの話があったことに注意してください(おそらくnetlinkなどを使用し、チェックしていません)。それを非常に迅速に正しくするために。

あるアプローチと他のアプローチの利点はありますか?

LXCオプション(libvirt-lxcではない)の方が保守が良いと思います。libvirt-lxcソースコードを読んで、急いでいるように感じます。従来のLXCには確かに新しい機能がありますが、十分にテストされています。両方とも、それらで実行されるinitシステムとのある程度の互換性を必要としますが、LXCは、libvirt-lxc特にディストリビューションを機能させるために、オプションよりも「ターンキー」が少し多いと思います。

これらは共存できますか?

確かに、すべての意図と目的のために、両方が同じことをしていることを忘れないでください。名前空間、cgroup、マウントポイントの整理。すべてのプリミティブは、カーネル自体によって処理されます。どちらのlxc実装も、利用可能なカーネルオプションとインターフェイスするメカニズムを提供するだけです。


9

Red Hatは、コンテナ化を大々的に推進しています。彼らは、新しい製品、Red Hat Enterprise Linux Atomic Hostを中心に構築しています。

より過激なアプローチについては、RHEL7ベータ版のリソース管理およびLinuxコンテナーガイドをご覧ください。libvirt-lxcをプッシュし、lxcツールについては何も言及していません。


1
これをありがとう。RHEL Atomic Hostは、Docker.ioに大きく依存しているようです。それはDockerと関連ツールが正しい道であることを示していますか?
ewwhite

Red Hatは、ドッカーに間違いなく多額の投資を行っていますが、libvirt-lxcの主要な開発者でもあります。それぞれが提供する機能を見て、どれがあなたのニーズに合っているかを確認します。
sciurus

1
はい@ewwhite次のRedhatのドキュメントでは、それについて正確に言及しています:access.redhat.com/articles/1365153
Susinthiran

1

lxc- *実行可能ファイルはEPELのlxcパッケージにパッケージ化されてます。ただし、これは古い「長期サポート」リリースです。lxc-lsには「-f」オプションさえありません。LXCホストにUbuntuをインストールするだけです。

LXCを管理するRHELの方法はlibvirt-lxcを介しているようですが、明らかに非推奨です

RedhatがKVMとdockerに注力している間、Ubuntuは新しいlxc / lxd開発の多くをサポートしていることに注意してください。


質問はRHEL 6関連で、廃止は、RHEL 7の略«次のlibvirt-LXCパッケージは廃止されたRed Hat Enterprise Linuxの7.1で始まる:»これを使用できるように
タハーカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.