More Related Content
Similar to Linux container update (10)
Linux container update
- 2. Who am I
• Linux メモリ管理コア開発者
• MM Summit(上位20人のコア開発者会議)5
年連続招待
• Ruby core committer
• コミット率TOP10コミッタのうちの一人
• ボストン在住、Red Hat常駐
• Herokuは使ったことがありません
- 4. What is Container
• むつかしい言い方をすると Operating system–
level virtualization
• FreeBSD jail が嚆矢
• Containerという用語を最初に使い始めたの
はSolaris
• リソース(CPU, memory, IO, etc)の分離 + 名前
空間(pid, IP adress, chroot)の分離 + (SELinux)
• ここ二年ぐらいで急速に注目度アップ
- 5. Linux v2.6.32
• 2009年12月リリース
• Ubuntu 10.04やRHEL6で採用。広く使われている
• Linuxは年4回リリース
• 20バージョン近く古く、さすがにつらい
• 2014年はUbuntu 14.04やRHEL7といった次世代
ロングサポート製品が出る年
• 最近(ここ5年ぐらい)のLinuxでのコンテナアップ
デートを語るチャンス
- 6. Containers new features
• 2.6.35: oom notifier
• 3.0 remove the ns_cgroup
• 3.3 per cgroup tcp buffer limit
• 3.6 hugetlb cgroup
• 3.10 memory pressure notification
• 3.14 proper userns
• 3.16? memory cgroup low-limit
• 3.16? memory cgroup Kernel memory limit
- 7. OOM Notifier
• OOM(out of memory) が起きた時に、いきなり
即死させるのではなく通知してくれる。
• ユーザー空間でOOM Managerを作るための
仕組み
• OOMが起きた時に予測不可能な事態になる
のを防ぐ
- 9. per cgroup tcp buffer limit
• TCPバッファサイズはWebアプリチューニング
の最重要パラメタの1つ
• 大きくするとスループット上がる
• 小さくするとレイテンシ上がる
• ちゃんと設定しないとbufferbloat問題
• いままではPaaSではチューニング不可能だっ
た
- 14. memory cgroup: Kernel memory limit
• 現状のmemory cgroupはプロセスメモリーの
みを管理
• 垢BAN覚悟なら、pipeなど使ってlimitを大きく
超えたメモリ量を確保して、サーバーをクラッ
シュさせることも可能
• 重要サービスにPaaSは使えないというFUD
• Coming soon
- 16. Checkpoint & restore
• プロセスをディスクに保存し、あとで再開する
• 再開先は別のマシンでもOK
• KernelのNamespaceを使って再開先でpidや
ネットワーク設定が変わらないよう差し替える
• ライブマイグレーションの基盤技術
• linux-cr is dead. Long live CRIU!
• 2013年soft-dirty実装
• ここ最近で一番の進化?