メモ:lxc-config, lxc-cgroup, lxc.container.conf, lxc configの違い

ちゃんと調べてないけど、殴り書き的なメモ。

lxc-config

Usage: lxc-config [-l] [item]

これはたぶんLXCのグローバルな設定を見るだけのコマンド。設定を変更したり追加することはできない。

lxc-cgroup

Usage: lxc-cgroup {-n name} {state-object} [value]

起動中のコンテナのcgroupを設定する。コンテナが起動してないとエラーになるっぽい。

$ sudo lxc-cgroup -n ubuntu01 limits.memory 128MB
lxc-cgroup: lxc_cgroup.c: main: 94 '/var/lib/lxc:ubuntu01' is not running

lxc.container.conf

(設定ファイル)

lxc.cgroup.(cgroupの項目)という形式で、任意の(たぶん)cgroupの項目が設定できる。ただし、項目名が正しいかどうかはコンテナを起動するまでわからない。

参考:

設定変更はコンテナを再起動しないとむり?

lxc config(LXD)

Usage: lxc config set [remote:]<container> key value

LXDがサポートしている項目を変更する。たぶんコンテナが起動しててもしてなくても設定できる。

ただし、項目名とか設定の仕方はcgroupと違うので注意。

これは項目名が違う。

$ sudo lxc config set u1 lxc.cgroup.memory.limit_in_bytes 128M
error: Bad key: lxc.cgroup.memory.limit_in_bytes

これは指定の仕方が違う。(cgroupfsはこの形式で指定できる)

$ lxc config set u1 limits.memory 128M
error: Unsupported suffix: 8M

これが正しい。

$ lxc config set u1 limits.memory 128MB

参考: