目次
LXC
第三回勉強会アジェンダ案
1.0 新機能メモ (10月以降くらい)
アジェンダ案
LXC 勉強会に向けたメモ
LXC 変遷
参考
LXC
第三回勉強会アジェンダ案
コンテナの基礎
コンテナ概要
メリット・デメリット
Linux のコンテナ実装
libvirt
lxc
lmctfy
systemd
lxc とりあえず使ってみる
コンテナに使われる技術,要素
cgroup
namespace
namespace デモ
uts namespace
network namespace + veth
Linux カーネルとコンテナ
LXC 1.0
1.0 新機能メモ (10月以降くらい)
大きな変更,新機能
cgmanager サポート
pre-build の rootfs をダウンロードして使用可能に
毎日,linuxcontainers.org のホスト上でビルドされる
userns サポートに向けての変更
userns の場合の設定ファイルの場所の定義とか
デフォルトの LXCPATH: ~/.local/share/lxc
デフォルトの config path: ~/.config/lxc/lxc.conf
lxc-stop の動作の変更
shutdown を指定した場合もタイムアウト値が有効になった.以前は永遠に待っていた.
lxc-autostart 起動スクリプトで使用可能なプログラム
config で自動起動を指定しておけば lxc-autostart を実行した時にコンテナ起動したり停止したりできる.
API
doc 追加
テンプレート追加
lxc-centos
lxc-openmandriva
lxc-plamo
lxc-create で LVM の thinpool サポート
lxc-checkpoint/restart の削除
小さな変更
lxc-unshare で名前空間を指定した場合にそれぞれの名前空間に関係するパラメータ (ホスト名,I/F名等) を指定可能に.デーモン化が可能に.
MAC Address のテンプレート化が可能に.毎回変えたい部分を “x” で 指定すれば置き換えてくれる.
lxc.network.type のデフォルトは none → empty
lxc-start で共有する既存の名前空間を指定できるようになった
net, ipc, uts のみ
lxc-info の出力の充実
config にログファイル,レベルを指定可能に
アジェンダ案
lxc 基礎 (濃い人多いので軽く)
イマドキの環境での lxc
centos
ubuntu
debian
fedora
plamo
kernel 周辺最新情報
namespace の進化
cgroup の進化
未実装の機能
lxc 最新情報
機能の変遷
1.0 に向けて
その他
翻訳
lxc-plamo
lxc と systemd
libvirt lxc
LXC 勉強会に向けたメモ
LXC 1.0 に向けて
0.9 final release, plans for 1.0 and Linux Plumbers 2013
(lxc-devel ML)
[PATCH] [RFC] Complete rewrite of lxc-attach functionality
追加されてるっぽい機能メモ
zfs サポート (lxc-create)
LXC 0.9.0
LXC 0.8.0 でまだ困ること
User Namespace 機能がないのでセキュリティ的にちょっと…
Ubuntu は AppArmor でとりあえず対処
Syslog, dmesg (printk)
ベアメタルと同様に起動時に udev 系処理 (udevd 実行→ udevadm trigger→ udevadm settle みたいな) をやるとホスト側にデバイス再作成されたり初期化されたりやばい (のかな? 要調査)
ここに書いてあるわ
https://wiki.ubuntu.com/LxcSecurity
Kernel
Namespace
3.9 で NFS サーバが Network Namespace 対応に.コンテナ毎に NFS サーバ起動するとか →
http://lwn.net/Articles/540994/
mount namespace の quota サポート
http://comments.gmane.org/gmane.linux.kernel.containers/23242
cgroup
マウントオプションがあるっぽいけど
http://lwn.net/Articles/547332/
cgroup namespace (CGROUP_NS) は 3.0 辺りで削除された.
http://lwn.net/Articles/552204/
http://lwn.net/Articles/552242/
要調査
lxc と systemd
なんかおもしろそう
LXC Web Panel
lxc のバージョンによって lxc-checkconfig の出力が少しずつ違うから面白い
LXC 変遷
0.6.0 - 0.7.5 辺り
大体の基本的な機能が使える (単なる印象 ^^;)
0.8.0
apparmor サポート
lxc-create, lxc-clone で LVM サポート
lxc-create, lxc-clone で btrfs サポート
ネスト構造のコンテナ
Arch Linux テンプレート
ALT Linux テンプレート
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0226
(Ubuntu 12.04 の話)
0.9.0
seccomp 対応
ネットワークインターフェース down 時のスクリプト指定
liblxc
API
公開
lxc-attach 改良
attach する名前空間の検出、指定など
実行時の環境変数をクリアしたり維持したり指定可能に
Python
API
追加
コンテナ起動時に各段階をフックして処理を行うことが可能に
lxc-start-ephemeral コマンド追加
oracle Linux テンプレート
コンテナ起動直後に /dev を作成して最小限のデバイスを作成可能に (lxc.autodev)
一部コマンドを python で書き直し
/var/lib/lxc などのハードコードされたパスの排除
lua
API
追加
lxc-setcap, lxc-setuid 削除 (User namespace がもうすぐなので)
1.0 に向けて
overlayfs 対応?
lxc-monitor 改良.現在,同時に複数の lxc-monitor 起動すると問題が起きる?
lxc-monitord 追加? (
http://sourceforge.net/mailarchive/forum.php?thread_name=20130424202947.GC21043%40sergelap&forum_name=lxc-devel
等)
参考
http://lxc.sourceforge.net/
http://www.slideshare.net/enakai/lxc-8300191
http://www.slideshare.net/masahide_yamamoto/osc2011-nagoya
https://www.nic.ad.jp/ja/materials/iw/2012/proceedings/d1/d1-Ebisawa.pdf
http://lc.linux.or.jp/lc2008/slide/bof-04-slide.pdf
http://www.landley.net/kdocs/ols/2007/ols2007v2-pages-45-58.pdf
http://www.slideshare.net/christophm/linuxcon-barcelon-2012-lxc-best-practices
http://htaira.fedorapeople.org/hbstudy19/hbstudy19-cgroups.pdf
http://www.slideshare.net/mkouhei/lxc-cf201207presen