我已经创建了一个说基本的容器,我正在尝试创建一个基本容器的克隆,其后备存储为overlayfs。但是它总是失败,并显示以下错误,
lxc_container: bdev.c: overlayfs_mount: 2237 No such device - overlayfs: error mounting /var/lib/lxc/base/rootfs onto /usr/lib64/lxc/rootfs options upperdir=/var/lib/lxc/s0/delta0,lowerdir=/var/lib/lxc/base/rootfs,workdir=/var/lib/lxc/s0/olwork
clone failed
有什么办法解决这个问题?
谢谢,
毗湿奴(Vishnu Ganth)
最佳答案
听起来好像overlay
文件系统在您的内核中不可用。首先,检查它是否在/proc/filesystems
中列出:
# grep overlay /proc/filesystems
nodev overlay
如果不存在,则可以作为可加载内核模块使用。您可以使用
modprobe
加载它:# modprobe overlay
如果这样可以解决您的问题,则需要将系统配置为在启动时自动加载该模块。在基于系统的系统上,您可以使用以下内容创建
/etc/modules-load.d/overlay.conf
:overlay
这样就完成了。对于基于非系统的发行版,请查阅相应的文档。
更新
overlay
文件系统的名称有时从overlayfs
更改为overlay
。在38b3491提交中添加了对此功能的支持,该提交是在lxc 1.0.7发行后进行的。看起来此更改应该在LXC 1.1.1版及更高版本中可用。CentOS上的
lxc
软件包来自EPEL存储库。您可能应该针对报告问题的软件包(here)打开一个错误报告。对于软件包维护者来说,为EPEL7修复它应该相当容易。关于linux - lxc-clone无法在centos 7中与overlayfs一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29941305/