假设我们有一台安装了lxc的服务器,以及一个用作基本img的lxc容器/var/lib/lxc/ubuntu_base
。为了简单起见,让我们忘记了复制基本img之后的配置更改。
有些人建议使用子卷和快照来创建新容器,但是可以很容易地执行cp --reflink并获得类似结果。
那么管理多个容器的正确方法是什么(或者更好的方法)?
- 快照
这种方式似乎是最好的,但是lxc-destroy之类的命令将无法工作,因为它无法删除目录。
btrfs subvolume snapshot /var/lib/lxc/ubuntu_base /var/lib/lxc/container_1
- 使用reflink的cp
我不确定此快照或快照之间是否有任何性能差异
cp --reflink=always /var/lib/lxc/ubuntu_base /var/lib/lxc/container_1
- 或者还有其他我不知道的更好的方法来做到这一点。
编辑:
我在reflink选项中看到的一件事是,如果其他容器正在运行,则不能删除基本容器,因为/proc
和/dev
被挂载且从未更改,因此引用始终是相同的。但是关闭所有已复制的容器似乎有所帮助。