読者です 読者をやめる 読者になる 読者になる

TenForward

技術ブログ。はてなダイアリーから移転しました

Kernel

Linux 4.11 での cgroup 関連の話題

Linux 4.11 で cgroup に動きがありました。と言ってもしばらく新機能追えてないので、これまでも色々変更されているかも? 追加された事自体を忘れてしまいそうなのでメモしておくだけで、詳しく調べるわけではありません。 rdma controller rdma コントロー…

cgroup 初期化時の v1 の処理だけ抜き出して追ってみる

cgroup 初期化のメモ。間違っている可能性大なので信用しないでください。何度も同じところを繰り返し見てるので忘れないようにメモです。 サブシステム (cgroup_subsys) と各グループのサブシステムの状態 (cgroup_subsys_state) とそれらのセット (css_set…

cgroup の SUBSYS マクロ

Linux カーネルの cgroup 関連のコードのお話。 cgroup_subsys.h というヘッダがあって、cpuset の部分だけ抜き出すと #if IS_ENABLED(CONFIG_CPUSETS) SUBSYS(cpuset) #endif という風に SUBSYS マクロの中に cpuset のようなサブシステム名を与えているだ…

cgroup のデフォルトルート cgrp_dfl_root

このエントリはほぼ個人的なメモで、色々唐突です。cgroupのコアは kernel/cgroup.c に色々処理があります。その中に「デフォルトヒエラルキ(のルート)」という変数があります。4.1 kernel のコードです。 /* * The default hierarchy, reserved for the s…

cgroup なのか cgroups なのか

割とどーでもいい話(でも気になってた人多いはずw)以前、第4回のコンテナ勉強会でも質問が出たのですが、cgroup/cgroups という機能の正式な名称は cgroup なのか cgroups なのか、というのはよくわかりませんでした。私は、英語って単数・複数をきちんと…

4.5 カーネルで stable となった cgroup の単一階層構造 cgroup v2 の io コントローラ

Control Group v2 以前も少し紹介していましたし、連載でも少し触れましたが、今広く (?) 使われている cgroup は色々問題があって、単一階層構造の cgroup が開発されていました。この辺りは Linux 3.16 から試せる cgroup の単一階層構造 (1) - TenForward…

cgroup namespace (2)

前回は /proc/$PID/cgroup ファイルが Namespace を反映した形で記載されているのを見ました。 とりあえずここまで。これだけだとすでにマウントされている cgroupfs はそのままの元のディレクトリ階層で見えるので、/proc/$PID/cgroup だけ見え方が変わって…

cgroup namespace (1)

以前、RHEL6 のころに ns cgroup ってサブシステムが cgroup にありましたが、それとは別のお話。4.6 カーネルに入る cgroup namespace のお話です (Ubuntu 16.04 のカーネルには入るようです) 。namespace ごとに別の cgroup ツリーが見えるようにするもの…

4.0.2 kernel と非特権コンテナ

(2015-06-11 追記) 以下の問題は 4.0.5 カーネルで解決しています。手元 (Plamo 5.3) では 4.0.2 カーネルで LXC の非特権コンテナを起動するとカーネルが固まります。その時のログは以下です (netconsole 経由で取ったので見にくい)。 https://gist.github.…

overlayfs と LXC 非特権コンテナの snapshot によるクローン

kernel に入るぞ、と言われつつ入ってない overlayfs。いつですかね?なかなか凝ったことを試す時間が取れない今日このごろ、非常に薄い内容のエントリです。(2014-05-15 追記) LXC では、ファイルシステムの機能を利用した snapshot による clone をサポート…

Linux 3.12 と lxc

以下は 3.13, 3.12.9以降で動くようになっています!! (最後に追記してます)Linux 3.12 がリリースされていますね.今回で xfs への User Namespace の実装が完了して,xfs を有効にしたまま User Namespace が使えるようになっていますので,とりあえずコン…

PID Namespace 内の reboot システムコール

lxc-devel ML をなんとなく眺めていたら "On any recent kernel, reboot syscall from inside a non-init pid-ns will not reboot the host." なんて書いてありました.ほほぅ.というわけで調べてみると kernel/sys.c にありました. SYSCALL_DEFINE4(reboo…

第1回コンテナ情報交換会で『Linuxコンテナ最新情報』というお題で発表してきました

6/1 に 第1回コンテナ情報交換会 をまったりと神戸で開いてきました.そこでの資料です. https://speakerdeck.com/tenforward/linux-kontenazui-xin-qing-bao-2013-06-01 (Speakers Deck) https://guinan.ten-forward.ws/lxc-20130601/ (オリジナルの html …

Linux 3.8 の User Namespace 機能 (4)

前回で 3.9 kernel での準備が出来たので,今回は少しだけユーザ名前空間を体験してみました.なお,今回の評価はもうすぐ新しいバージョン 5.1 がリリース予定の Plamo Linux 5.1beta1 相当の環境上で行っています(宣伝).ここに自前でビルドした 3.9 カー…