今更感たっぷりな話題ですが、今頃ケーパビリティについて調べてます。これまで何度も調べてはよくわからなくて挫折を繰り返してるとこです。 ケーパビリティについては udzura.hatenablog.jp が詳しいのですが、「ケーパビリティバウンディングセット」の部…
(理解が不十分なので間違っている所があれば優しく教えてください) さて、ping コマンドの file capability(1) - TenForward で紹介したように ping コマンドの File capability は Permitted のみが有効になっていて、Effective ビットはオン(+e)にな…
(いまさらのお話とは思いますが自分用のメモに) Linux の Capability、何度も理解しようとして完全に理解できないままなんですが、ちょっとした理由で File capability を調べてます。最近は ambient capability なんてのもあって理解が遠のいてます。:-p …
前回、わざわざアダプターを作って送ってもらったけれども改善しなかったセサミminiの鍵を使って施錠した場合の問題。 tenforward.hatenablog.com セサミのサポートのメールで 硬めのクッション(セサミminiの箱の黒いクッションなど)をサムターンに貼って隙…
ちょうど 2 年ほど前、Open Source Summit で話を聞いて ShiftFS について試したことがありました。 tenforward.hatenablog.com その後はとりあえずカーネルにパッチを当てたりはしてましたが、あまり使わないままでした。少し前に gihyo.jp の Ubuntu の記…
先日設置したセサミ mini ですが、先日も少し書いたとおり、ちょっとだけ問題がありました。 tenforward.hatenablog.com うちの鍵は サムターンが縦(12時)方向で解錠 サムターンが縦から右に45度回転した状態でチェーンがかかった状態 サムターンが横(3時…
だーいぶ前に mizzy さんのブログでスマートロックなるものを知って、これはいいなと思いつつずっと買ってなかったのですが、最近は Qrio 以外にもセサミスマートロックという競合製品もあるってのを知って、これは良さげだなと思ってそろそろウチにも導入す…
Plamo 7.0 環境で、USB 切替器を使って USB キーボードを切り替えると、切り替え後に fcitx のオンオフができなくなってハマっていました。つまり USB キーボードを抜き差ししたあとに fcitx のオンオフができなくなっていました。 fcitx のオンオフはこのよ…
4.14 で設定した Namespaced file capability を 4.13 以前のカーネルに戻したら まあ、こんな物好きなことをする人はいないでしょうが、確認してみました。 tenforward.hatenablog.com の環境のまま、ホスト環境のカーネルを 4.13 に戻して、コンテナを起動…
User Namespace 外から Namespaced file capability を設定する 前回、 tenforward.hatenablog.com では、非特権ユーザで起動したコンテナ内の root ユーザーで File capability を設定しました。 ここで、自作コンテナ派の皆様が気になるのは、この capabil…
Hosting Casual Talks #5 本題に入る前に、このブログエントリのネタを発表してきた勉強会の感想を。 ホスティング業界に関わるエンジニアが カジュアルに 情報交換をするという、全員発表型の勉強会 "Hosting Casual Talks #5" に参加してきました。飲みな…
(2019-02-23 少し追記しています) 4.14 kernel から cgroup の cpuset コントローラーに cpuset_v2_mode というオプションが使えるようになりました。 しばらく見ないうちに cpuset コントローラーをマウントするとファイルがたくさん増えていますが、この…
Plamo 7.0 では cgroupfs_mount パッケージと lxc パッケージを提供していますが、非特権コンテナを起動するための調整は特に行っていませんでした。 cgroupfs_mount パッケージは、Plamo 7.0 リリース直後は Ubuntu 14.04 あたりで cgroupfs をマウントする…
前回 はとりあえず /proc/pressure の中身を見てみましたが、PSI 機能は cgroup v2 とも連携しています。というわけで、今回は cgroup v2 をマウントしてみましょう(前回以上に中身なし)。 まずは cgroup v2 をマウントして、コントローラーを子 cgroup で…
以前から Facebook のスライドなんかでは見かけた PSI という機能が 4.20 カーネルで入ったようですね。 CONFIG_PSI: Collect metrics that indicate how overcommitted the CPU, memory, and IO capacity are in the system. If you say Y here, the kernel…
Twitter でコンテナ用の面白い仕組みを見つけたので試してみました。中身ほぼゼロです。 コンテナの中で開いたsocketがhost stackに生えるという不思議socketです。論文はこちら https://t.co/YyP67mDPt2 実装はこちら https://t.co/IaKO5RFfkG— upa (@upaa)…
cgroup v2 の nsdelegate オプション第 2 弾です。 前回紹介したのは、cgroup namespace を作ると cgroup root を超えたプロセスの移動が禁止されるという機能でした。 これはユーザに関わらず関係するお話でしたが、今回は一般ユーザで namespace(つまりコ…
$ lxc version Client version: 3.0.1 Server version: 3.0.1 な環境の Ubuntu 18.04 上で試してます。 以下で何の前提もなく書いてるサブ ID のお話は、私の連載 第16回 Linuxカーネルのコンテナ機能 [6] ─ユーザ名前空間 に書いていますのでそちらをどうぞ…
cgroup v2がカーネルに導入された時点では、cgroup v2にはマウントオプションはありませんでした。 しかし、4.13 で nsdelegate というオプションが導入されました。これは現時点でも cgroup v2 唯一のマウントオプションです。 このオプションは初期の name…
あまり役に立たないメモです。 コンテナホスト上でコンテナを起動する場合、ホスト上にブリッジを作成し、そこにアタッチする veth インターフェースを接続する場合が多いかと思います。 しかし、ベアメタル上に物理 NIC が多数あったり、SR-IOV で物理 NIC …
ここ最近、新バージョンリリース時と、ドキュメント(man pages)に更新があったときに翻訳する以外、新しい機能について全く調査していませんでした。 なんとなく見てると LXC 3.0 が近いようですので、どう変わるのかをまとめてみます。 cgroup ドライバの…
単なるメモ。Plamo-7.0 開発中環境でのお話。 gnupg 2.1.19 までは大丈夫なんだけど、gnupg 2.1.23、2.2.0、2.2.1 にすると、dirmngr がうまく動かない… (2.1.20 〜 22 は作ってないので知らない)。 $ gpg --recv-keys (鍵) gpg: connecting dirmngr at '/ho…
ちょっと前にリリースされたカーネルですが、4.10 で overlayfs に変更が入っていましたのでちょっと調べてみました。 Overlayfs についてはこちらをどうぞ (ちょっと古い記事なのでカーネルにマージされる前の仕様も説明しています)。 Linuxで学ぶコンテナ…
Open Source Summit Japan 2017 で聞いた話に shiftfs の話があって、興味を持ったので試してみました。この機能の前提機能なんかに関する前提知識に欠けているため、以下には間違いが含まれている可能性が大きいです。是非指摘を頂きたいと思います。試して…
4.12 で nsfs に変更が加わってますね。 nsfs ってのは /proc/$PID/ns 以下の、そのプロセスがどの Namespace に所属しているのかを表している特殊なリンクがあるディレクトリです。 4.11 まではこんな感じ。 # ls -l /proc/self/ns total 0 lrwxrwxrwx 1 ro…
ふとしたきっかけで man 2 pivot_root の制限に疑問を持ったので、雑にカーネルのコードを読んでみたエントリです。かなり雑にみただけなので間違いの指摘を歓迎します。というか指摘を受けるために書いたようなもの pivot_root の使われ方 コンテナを起動し…
Linux 4.11 で cgroup に動きがありました。と言ってもしばらく新機能追えてないので、これまでも色々変更されているかも? 追加された事自体を忘れてしまいそうなのでメモしておくだけで、詳しく調べるわけではありません。 rdma controller rdma コントロー…
cgroup 初期化のメモ。間違っている可能性大なので信用しないでください。何度も同じところを繰り返し見てるので忘れないようにメモです。 サブシステム (cgroup_subsys) と各グループのサブシステムの状態 (cgroup_subsys_state) とそれらのセット (css_set…
Linux カーネルの cgroup 関連のコードのお話。 cgroup_subsys.h というヘッダがあって、cpuset の部分だけ抜き出すと #if IS_ENABLED(CONFIG_CPUSETS) SUBSYS(cpuset) #endif という風に SUBSYS マクロの中に cpuset のようなサブシステム名を与えているだ…
このエントリはほぼ個人的なメモで、色々唐突です。cgroupのコアは kernel/cgroup.c に色々処理があります。その中に「デフォルトヒエラルキ(のルート)」という変数があります。4.1 kernel のコードです。 /* * The default hierarchy, reserved for the s…