Migration 将lxc迁移到lxd

Migration 将lxc迁移到lxd,migration,lxc,lxd,Migration,Lxc,Lxd,我找遍了,但看不出有没有办法。我有两个LXC容器在Ubuntu 14.04主机上运行Ubuntu 14.04。它们对我来说非常重要,所以我希望在主机硬件出现故障时能够轻松地将LXC容器备份/迁移到另一台服务器 我已经用LXD构建了一个新的Ubuntu15.1服务器,并且已经注销和重新登录并查看了新的组。为了进行测试,我使用14.04主机上的--numeric owner开关启动了一个现有的LXC容器: tar——数字所有者-czvf ContToBeMoved.tgz/var/lib/lxc/m

我找遍了,但看不出有没有办法。我有两个LXC容器在Ubuntu 14.04主机上运行Ubuntu 14.04。它们对我来说非常重要,所以我希望在主机硬件出现故障时能够轻松地将LXC容器备份/迁移到另一台服务器

我已经用LXD构建了一个新的Ubuntu15.1服务器,并且已经注销和重新登录并查看了新的组。为了进行测试,我使用14.04主机上的
--numeric owner
开关启动了一个现有的LXC容器:

tar——数字所有者-czvf ContToBeMoved.tgz/var/lib/lxc/my_container

---然后在新服务器上---

tar——数字所有者-xzvf ContToBeMoved.tgz-C/var/lib/lxc/

…并已在新服务器15.1服务器上成功还原LXC容器

但是,当我运行LXD命令时,LXD没有看到容器。我尝试将容器移动到
/var/lib/lxd/containers
目录,但lxd仍然没有看到它。有没有办法编辑/克隆/迁移LXC容器,以便我们可以继续使用LXD


提前感谢。

LXD使用sqlite数据库进行容器配置,因此仅将容器的rootfs转储到位是不够的

最简单的方法是使用LXD创建一个新容器,然后从/var/lib/LXD/containers/NAME/rootfs中删除它的rootfs,并替换原始主机中的rootfs

请注意,默认情况下,LXD运行非特权容器,如果源容器具有特权(/var/lib/lxc/NAME/rootfs由root:root而不是100000:100000拥有),那么您还需要运行以下操作:

lxc config set NAME security.privileged true

非常感谢您的反馈,您的信息非常有意义。我会尽快给它打一针。目前,我们已经配置了备份LXC服务器,但使用LXD的实时迁移令人印象深刻,不容错过!=)干杯。非常感谢您提供了这个有用的答案,但是,这似乎没有考虑IPv4网络配置,可能正是因为只有rootfs内容被复制了。。我刚刚偶然发现了这个脚本,但它似乎也不喜欢
lxc.network.ipv4
配置密钥?