TenForward

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

cgroup の CPU コントローラーから設定する帯域幅制限のコードをちょっとだけ追ってみた

この記事は Linux Advent Calendar 2023 5 日目の記事です。前日は @mnishiguchi さんの「Linux US キーボードの CapsLock を Ctrl に変更する方法」ですね。私は setxkbmap でやってます。 さて、このブログ久々の技術的な内容です。Linux カーネルが持つ c…

技術書典 15 で Linux Container Book (3) セキュリティ編を出しました

前回に引き続き、技術書典 15 でサークル名 lxc-jp として出展しました。 いつもながら何の飾りっ気もないブース 今回は、"Linux Container Book" の (1)、(2) に続き、「(3) セキュリティ編」を新刊として出しました。 techbookfest.org Linux Container Bo…

LXD の fork "Incus"

tenforward.hatenablog.com 先日、LXD の Canonical 社への移行について書きました。その後特に何も追っかけてなかったのですが、突如 linuxcontainers.org 以下に新しいページが作成されて気づきました。 Introducing Incus (日本語訳) Incus は完全な新…

LXDのCanonical社への移行とlxc-jpでのLXD関連の翻訳について

lxd

私が主に翻訳で関わってきた linuxcontainers.org のプロジェクトであった LXD が、プロジェクトから Canonical 配下に移動しました。 MLや公式ページでアナウンスされています。 LXD is no longer part of the Linux Containers project (Mailing Listのア…

技術書典 14 で Linux Container Book (2) cgroup v1 編を出しました

出展ブース 技術書典 13で Linux コンテナで使う Namespace と Network の機能を紹介する本を出しました。 tenforward.hatenablog.com それに続く第 2 巻を技術書典 14 で出し、オフライン出展もしてきました。第 2 巻は "cgroup v1編" です。 techbookfest.…

技術書典のオフライン会場で使う見本誌をコンビニコピー機で自作

前の技術書典13で同人本を初めて出して、後のためにも色々ノウハウをまとめようと思っていたものの、イベント終わった後も商業版の出版などバタバタして何も残せていませんでした。 今回の技術書典14でも新刊を出しますので、ちょっとメモだけでもしておくか…

技術書典13に出典し、「Linux Container Book (1) Namespace / Network 編」という本を出しました

gihyo.jp で連載している「LXCで学ぶコンテナ入門」やこのブログ、zenn.dev の記事をベースに Linux コンテナの本を書き、技術書典13で「Linux Container Book (1) Namespace/Network編」という本を出しました。 techbookfest.org 技術書典13は終了しました…

docker-compose.yaml の volumes の指定でハマった話

私はDockerもDocker Composeもcontainerdも素人で、今回の問題がよく知られた問題なのか、そうでないのかもよく知りません。ちなみにDocker Composeは今日まで使ったことがなかったし、Rancher Desktopも今日はじめてインストールしました(^^)。 この辺りの…

2022 年やりたいこと

技術ブログだけど、今年やりたいことといえば技術のことよりもそれ以外のことが思い浮かぶなあ。フォロワーさんが書いてるのをみて、一年の初めってのもあるし、歳もひとつとったしということで、書いてみるかなと思って書いてみました。 技術 これまで通り…

『Infra Study 2nd #2「クラウドネイティブを支えるインフラ技術」』でお話してきました

6/11(金)に Infra Study 2nd #2 ってイベントで登壇しました。そのレポートを会社のテックブログで書きました。 blog.idcf.jp まあ、参加してない方や、アーカイブ動画を見てない方は、このレポートを読むというよりは、もとのアーカイブ動画を見ましょう…

5.11 で追加された OverlayFS の非特権マウント(2)

前回は、OverlayFS の非特権マウントの基本的な部分について説明しました。 ところで OverlayFS はシンプルながらも、より進んだ使い方ができる機能やオプションが存在します。基本的な機能以上の機能を使う場合、OverlayFS は拡張ファイル属性を使います。 …

5.11 で追加された OverlayFS の非特権マウント(1)

5.11 カーネルで overlayfs に大きな変更があったようで、久々にカーネルの新しい機能を試してみました。 とは言っても、結果だけ言うとすぐに終わってしまうので、すごいことをやったように見せかけるために、復習したりして順に説明していきましょう。時間…

マウントプロパゲーション(8)〜 Namespaceとプロパゲーション(2)〜

これまでの続きです。まだまだ続きます。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲ…

Huawei Watch GT 2e

5 月末に Huawei Watch GT 2e を買いました。Huawei Watch 2(GT2じゃないよ)からの買い替えです。ソレ以来毎日使っているのでレビューでも。 使い方を間違っていて的外れな感想が書いてあるかもしれません。その場合は教えて! 気づいた所は追記していきま…

マウントプロパゲーション(7)〜 Namespaceとプロパゲーション(1)〜

これまでの続きです。まだまだ続きます。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲ…

マウントプロパゲーション(6)〜 mountinfoファイル(2)〜

これまでの続きです。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲーション(4)〜 unb…

マウントプロパゲーション(5)〜 mountinfoファイル 〜

これまでの続きです。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲーション(4)〜 unb…

マウントプロパゲーション(4)〜 unbindable mount 〜

引き続きマウントプロパゲーションについて書いていきます。完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。そもそも、このシリーズ、カーネル付属ドキュメントと mount_namespaces(7) に書いてあるんですよねw tenforward.hatenablog.co…

マウントプロパゲーション(3)〜 slave mount 〜

引き続きマウントプロパゲーションについて書いていきます。完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 tenforward.hatenablog.com tenforward.hatenablog.com shared と private を説明すれば、頭の良い皆さんはもう slave がどの…

マウントプロパゲーション(2)〜 private mount 〜

昨日のエントリの続きです。引き続き完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 tenforward.hatenablog.com それでは今日はprivateを見てみましょう。privateに設定したマウントのサブマウントは、他のマウントには反映されません。…

マウントプロパゲーション(1)〜 shared mount 〜

完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 2001 年に 2.4 kernel でバインド(bind)マウントが、2002 年の 2.4.19 で mount namespace が導入されました。ただ、ユースケースによっては mount namespace が行う分離は徹底している…

unshare コマンドがマウントプロパゲーションをまともに扱うような変更を入れていた

全国10万人の unshare でコンテナを作るのが好きなコンテナマニアの方々が systemd のおかげで余計な処理をさせられてたのですが、いつの間にか unshare(1) コマンド側であるべき姿に戻す処理が追加されていたというお話です。 結論 回りくどい話が嫌いな方…

LXDのシステムコールインターセプション機能を試す(マウント編)(2)

先のエントリーでは、コンテナ内から ext4 ファイルシステムのマウントができたのですが、実は security.syscalls.intercept.mount.shift という設定が効いていないようで、そこで時間切れでした(どこがうまく行ってないか書いてませんでしたが)。 tenforw…

LXDのシステムコールインターセプション機能を試す(マウント編)

前回、LXD のシステムコールインターセプション機能がうまく動いたので調子に乗って引き続き試します。 tenforward.hatenablog.com この機能には色々できることがあって今後も追加されそうな気がしますが、とりあえずは見た目でパッとわかりやすいファイルシ…

LXDのシステムコールインターセプション機能を試す(解決編)

3 回シリーズになるとは思ってなかったこのシリーズ、ついに解決編です。 tenforward.hatenablog.com 1 度目の mknod は成功するものの、なぜか続けて mknod を実行すると失敗してしまうという謎のトラブル。ふと、LXC のコミットログを眺めていると seccomp…

Linux 5.6 で追加された Time Namespace(1)

Linux 5.6 の情報をなんとなく調べてたらコンテナ関連の機能増えてました。lwn.net で適当な記事を絞りきれなかったのでとりあえずそれっぽいコミットをメモ代わりに The Time Namespace Appears To Finally Be On-Deck For The Mainline Linux Kernel (phor…

LXDのシステムコールインターセプション機能を試す(ちょっと成功編)

昨日失敗した「システムコールインターセプション」機能のお試し。 tenforward.hatenablog.com 昨日追記した t=2020-03-30T21:42:08+0900 lvl=dbug msg="Handling mknod syscall" audit_architecture=3221225534 container=c1 project=default seccomp_notif…

LXDのシステムコールインターセプション機能を試す(失敗編)

このエントリ、ほぼやりかけのことを忘れないための自分用メモです。あまり役に立つことは書いてません(オチがないし)。まあこのブログ全体がそうですが… みなさん LXD 使ってますか? 私は便利にお仕事で使っています。Plamo LInux 上で CentOS を使うため…

スマートロック セサミmini その後

DIY

(特に検証していない私の勝手な推測が入った記事です) スマートロック「セサミmin」、導入以来便利に使っていてなくてはならないものになっています。 ここしばらくセサミで鍵を開閉する際のキレが鈍いようで、これはパーツがヤバい予兆かも、と思って昨晩…

ICMP sockets

連載の第42回 で ファイルケーパビリティは安全のためにコピーすると設定が外れます。 なんてことを書いてますが、同僚から「Arch Linux でやるとなぜか ping が実行できてしまう」という情報が。確かに Arch でやると実行できてしまいます。 $ lsb_release …