web-dev-qa-db-ja.com

LXCコンテナーとブリッジ接続

UbuntuでLXCコンテナーを作成するには、ステップバイステップ構成が必要です

  1. lxcコンテナの正しい設定方法
  2. cgroupを設定する正しい方法
  3. ホストおよびコンテナ内のネットワークを設定する正しい方法

  4. 私はコンテナを30〜35回以上設定しましたが、crub(fstabにマウントする)に問題があります

  5. コンテナ内のネットワークが機能していません。できる限りのことをしました。
7
One Zero

次の回答は、以下のリンクの情報の多くを繰り返します

LXC

コンテナは軽量の仮想化テクノロジーです。ハードウェアをエミュレートせず、コンテナがホストと同じオペレーティングシステムを共有するため、QemuやVMwareのような完全仮想化よりも拡張されたchrootに似ています。したがって、コンテナはSolarisゾーンまたはBSD刑務所に比べて優れています。 Linux-vserverとOpenVZは、Linux用のコンテナーのような機能の2つの既存の独立して開発された実装です。実際、コンテナは、vserverおよびOpenVZ機能の上流への作業の結果として生まれました。一部のvserverおよびOpenVZ機能はまだコンテナーにありませんが、コンテナーは多くのLinuxディストリビューションを起動でき、変更されていないアップストリームカーネルで使用できるという利点があります。

LXCを簡単にする

12.04 LTSの主な焦点の1つは、LXCを使いやすくすることでした。これを実現するために、既知のバグの修正とLXCのデフォルト構成の改善に取り組んでいます。

基本的なコンテナを作成し、Ubuntu 12.04 LTSで起動するようになりました:

Sudo apt-get install lxc
Sudo lxc-create -t ubuntu -n my-container
Sudo lxc-start -n my-container

デフォルトでは、マシンと同じバージョンとアーキテクチャが使用されますが、追加のオプションが明らかに利用可能です(–helpにリストされます)。ログイン/パスワードはubuntu/ubuntuです。

LXCを使いやすくするために取り組んだもう1つのことは、通常のシステムをコンテナーに変えるために必要なハッキングの数をゼロに減らすことです。 12.04以降、コンテナで実行するために標準のUbuntuシステムを変更することはありません。 raw VMイメージを取得して、コンテナで起動することもできます!

Ubuntu-cloudテンプレートを使用すると、EC2/cloudイメージの1つを取得し、クラウドインスタンスではなくコンテナーとして開始することもできます。

Sudo apt-get install lxc cloud-utils
Sudo lxc-create -t ubuntu-cloud -n my-cloud-container
Sudo lxc-start -n my-cloud-container

最後に、新しいクールなものをテストする場合は、LXCで[juju][3]を使用することもできます

[ -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa
Sudo apt-get install juju apt-cacher-ng zookeeper lxc libvirt-bin --no-install-recommends
Sudo adduser $USER libvirtd
juju bootstrap
sed -i "s/ec2/local/" ~/.juju/environments.yaml
echo " data-dir: /tmp/juju" >> ~/ .juju/environments.yaml
juju bootstrap
juju deploy mysql
juju deploy wordpress
juju add-relation wordpress mysql
juju expose wordpress

# To tail the logs
juju debug-log

# To get the IPs and status
juju status

LXCをより安全にする

Ubuntu 12.04のLXCのもう1つの主な焦点は、それを安全にすることでした。 John Johansenは、アーマーを拡張して、コンテナごとのアーマープロファイルを実装し、既知の危険な動作がコンテナー内で発生するのを防ぐために、すばらしい作業を行いました。

注:カーネルにユーザー名前空間が実装され、LXCで使用されるまで、LXCがルートセーフであるとは言いませんが、Ubuntu 12.04 LTSに同梱されているデフォルトのapparmorプロファイルは、認識しているすべてのアームフルアクションをブロックしています。

これは主に、/ procおよび/ sysへの書き込みアクセスが厳しく制限され、ファイルシステムのマウントも制限され、デフォルトで既知の安全なファイルシステムのみがマウントされることを意味します。コンテナがカーネルモジュールをロードしたり、防具を制御したりするのを防ぐため、デフォルトのLXCプロファイルでは機能も制限されています。

これについての詳細はこちらで入手できます:

http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/

https://help.ubuntu.com/12.04/serverguide/lxc.html

http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/

6
One Zero

cgroupはすでにUbuntu 11.10サーバーで構成されているので、構成する必要はありません。以下は一般的に非常に良いガイドです。

http://www.activestate.com/blog/2011/10/virtualization-ec2-cloud-using-lxc

1
bmullan

LXC Webパネルを見たことがない場合は、試してみてください。

http://lxc-webpanel.github.io/

インストールが簡単で、LXC Webパネルへの素敵なブラウザインターフェイスを提供します。

アプリケーションはPythonで記述されており、GUIからLXC管理の大部分を実行できます。

作成/開始/停止/破棄、フリーズ/フリーズ解除、ネットワークの編集/変更、多くのcgroupパラメーターの編集など。

非常に素晴らしいツール

1
bmullan