使用lxd时,我在使用snaphot创建容器时遇到问题 zfs作为后备存储。我可以创建容器,但当我删除它时, 在zfs级别(不是在lxd)删除快照。
我在Ubuntu 16.04中使用lxd,有趣的是它不会发生在 每一个盒子:一些工作正常,其他人从未做过,其他工作正常一段时间 然后破了。
我现在想知道从快照创建容器是合法的还是操作 语义未指定。
这可以在这个例子中看到
$ lxc launch ubuntu:14.04 mycontainer # Happens with other images
$ lxc stop mycontainer # stop is optional
$ lxc snapshot mycontainer mysnap0
$ lxc copy mycontainer/mysnap0 mycontainer1
$ lxc delete mycontainer1
$ lxc copy mycontainer/mysnap0 mycontainer2
error: rsync failed: rsync: change_dir "/var/lib/lxd/snapshots/mycontainer/mysnap0" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]
但是lxd仍然认为快照很好。
$ lxc info mycontainer
Name: mycontainer
Architecture: x86_64
Created: 2016/06/16 10:53 UTC
Status: Stopped
Type: persistent
Profiles: default
Snapshots:
mysnap0 (taken at 2016/06/16 10:54 UTC) (stateless)
让我想到的另一个例子是请求zfs删除快照的lxd:
$ lxc snapshot mycontainer mysnap1
$ lxc copy mycontainer/mysnap1 mycontainer2
$ lxc copy mycontainer/mysnap1 mycontainer3
$ lxc delete mycontainer2
error: Failed to destroy ZFS filesystem: cannot destroy 'debtool/containers/mycontainer@snapshot-mysnap1': snapshot has dependent clones
关于我使用的版本的一些信息:
zfs-zed 0.6.5.6-0ubuntu8
zfsutils-linux 0.6.5.6-0ubuntu8
lxd 2.0.2-0ubuntu1~16.04.1
lxd-client 2.0.2-0ubuntu1~16.04.1
lxd-tools 2.0.2-0ubuntu1~16.04.1
liblxc1 2.0.0-0ubuntu2
lxc 2.0.0-0ubuntu2
lxc-common 2.0.0-0ubuntu2
lxc-templates 2.0.0-0ubuntu2
lxc1 2.0.0-0ubuntu2
lxcfs 2.0.0-0ubuntu2.1
有关如何修复/解决问题的任何想法?