LXC(Linux Containers)
コンテナ型の仮想化技術。
カーネルにも組み込み済み。
VMWare、KVMに比べて少ないリソースで動作。
http://lxc.sourceforge.net/
流行るといいな。 OpenVZ や、Linux V-Server とどう違うのかよくわからない システムコンテナとネームスペースコンテナの違い。 長い解説も書いてみたけど、「行が長すぎます!」とか2chが怒るので削除。 規制だの長文エラーだので、2chは書き込みするのが心底ウザイサイトNo1に なりつつある。 行が長すぎたら分けて投稿すればいいんじゃないか?! つうか、LXCって初めて知った。興味アリ。
流行りそう? あげてみる。
lxc-execute: no ns_cgroup option specified
と言って lxc-execute や lxc-start が spawn に失敗するんだが、ns_cgroup て何?
ググると ns_cgroup ってもうすぐなくなるから使わないでね!
みたいなのしか出ないんだけど、使わないでねって言われても
lxc 0.7.5 でも 0.8.0-rc1(最新) でも出る…。
トリは Debian squeeze、カーネルは野良 2.6.35.14 で、
lxc-checkconfig では macvlan 以外は supprted になってる。
比較はvmware serverのみ。
ネットワークはめちゃ速い、
パススルーはパーフェクトだぜ、
パーフェクトすぎてshutdown -hでコンテナゲストからhwclock修正かましちゃう位だぜ。
PV変換がとっても面倒。
lx-debian等のテンプレートすらちょこちょこ修正しながら使うとか。
ホストのifconfigでゲストへのvethが全部見えるんだね。まあKVMも同じなんだろうけど。
VMwareのvmmon1みたいにひとまとめにはしてくれないのでコンテナ一杯作るとifconfigが長い。
>>8
VMとかKVMとかXenと比べると劇速だよね。
挙動が怪しいところも多々あるけど…。
debianが動くということはUbuntuも動くのかね?
>>8
> ホストのifconfigでゲストへのvethが全部見えるんだね。
ホストで、ps -ef すると、ゲストのプロセスまで全部見えたりしないか? >10
丸見えですね。しかもゲストのrootがホストでもrootに見える。
FSはホストのを直接bind mountするからそうそうuidは変えられないだろうけど
nfs+idmapdな感じにuid差し替えてくれるオプションないかな。
>8
◯
起動・終了も爆速。
BIOSやハードの設定、カーネルのブートストラップ丸ごと省略だからw
×
コンテナはNFSサーバになれない。
/proc/fs/nfsd/がホストと共有だから。
nfs-user-serverなら動くらしいが未確認。
俺の認識ではchrootに毛が生えた程度の物ってイメージなんだがあってる? chrootとの差に興味がないならその評価は正しい。
vethを使おうと思ったらroot権限が要求されるんだが、あらかじめデバイスを作っておくなりして、
macvlanの場合と同じようにlxc-executeをroot以外で実行できるようにはできないもんかな? とりあえず使いたいブツの実行ファイル名入れたら依存関係のあるsoとかリストアップしてくれるスクリプトくれ。
BINDとか隔離したいときのために。 >17
find -perm +111 -exec ldd {} \; 2>/dev/null | sort | cut -f1 -d'=' | uniq
とか?
ダイナミックロードするファイルに実行属性って無くてもいいんだっけ? 無くてもいいとすると
for name in **/* ; do
if file $name | grep 'LSB exec' >& /dev/null ; then
echo ldd $name
fi | sort | uniq
な感じに地道に収集すんのか... めんどくせい。
いずれにしても、ldd で出てくる so だけならともかく、バイナリ中に埋めこまれたコマンドを収集すんの難しい。
strace -e open で拾うのも、稀にしか出てこない奴が拾えないし。
めんどくせえならぐだぐだ言ってないであきらめろよw
あとゴミみたいなコマンド例も紹介不要だから >>20のような状況を気にするんならパッケージの依存関係に素直に従えばいいだけだろ。
yum --installroot=$LXCROOT bind
Ubuntu Weekly Recipe:第226回 LXCで軽量仮想環境の活用|gihyo.jp … 技術評論社
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0226 公式テンプレート:
altlinux, archlinux, busybox, debian, fedora, lenny, opensuse, sshd, ubuntu-cloud, ubuntu
http://lxc.git.sourceforge.net/git/gitweb.cgi?p=lxc/lxc;a=tree;f=templates;
非公式テンプレート:
gentoo
http://globalcitizen.github.com/lxc-gentoo/ Android のテンプレが欲しい。
Android for Ubuntu なんてないかな?
> gentoo
誰得。 非公式テンプレート:
LXC CentOS template. Work with Ubuntu if the yum package is installed
https://gist.github.com/3514296 LXCのコンテナはchrootを使えないんですか? Centos/RHEL 6.3でLXC動いた?とりあえず、デフォのテンプレートつかって、Debianなら動いたけど、UbuntuはNGだった。CentOS/RHELは野良テンプレート使ったけど、NG.。 動いた。
よく調べてないけど、NWの設定を別のコンフィグで準備しないとダメなんだな。
使ったテンプレートはこれ。
https://github.com/koji--/lxc-centos
追加した、別のコンフィグってのはこれ。
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up ZFS on LinuxでCloneしてくれるTemplateがほしい