更改lxc容器目录

8
我可以更改lxc容器初始化和保留的目录吗?现在它们是在/var/cache/lxc下创建的,我希望把它们放在另一个目录中,在另一个分区中有更多的空间。更改分区的挂载点不是一个选项,因为它已经用于其他功能。

你也可以使用符号链接或提供 --lxcpath 选项给 lxc-commands。 - jgb
3个回答

14
是的,你可以。每个 /usr/share/lxc/templates/ 模板中都硬编码了 /var/cache/lxc 前缀。你可以在那里更改路径。 如果你正在从源代码构建 LXC,则路径实际上是 @LOCALSTATEDIR@/cache/lxc/,其中 @LOCALSTATEDIR@ 默认为 --prefix= + /var 或者你传递给 ./configure--localstatedir
至于 /var/lib/lxc,容器的默认路径、特定容器以及容器的 dir 类型数据存储路径可以在多个级别进行配置:
  1. /etc/lxc/lxc.conf 中的 lxc.lxcpath,请参阅 man lxc.system.conf 了解详情。
  2. lxc-* 工具接受 -P 标志来指定备用容器路径。
  3. lxc-create -B dir 后备存储具有可选的 --dir ROOTFS 标志。
此外,我强烈推荐阅读 Stéphane Graber 的一系列 博客文章,特别是关于 容器存储 的部分。

1

对于Debian模板(以及其他一些模板),您可以使用环境变量,例如:

LXC_CACHE_PATH=/usr/share/lxc/cache

1
可能最简单的方法就是将具有空间的分区上的目录与/var/lib/lxc/var/lib/lxd(视情况而定)使用mount -o bind绑定。这也可以通过/etc/fstab实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接