我已经创build了一个容器说基地,我正在尝试创build基础容器的克隆与支持商店作为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
任何方式来解决这个问题?
谢谢,
毗湿奴甘。
这听起来好像他们的overlay
文件系统在您的内核中不可用。 首先,检查/proc/filesystems
是否列出:
# grep overlay /proc/filesystems nodev overlay
如果不在那里,它可能作为一个可加载的内核模块。 你可以使用modprobe
加载它:
# modprobe overlay
如果这解决了您的问题,您将需要配置您的系统启动时自动加载此模块。 在基于systemd的系统上,您可以使用以下内容创建/etc/modules-load.d/overlay.conf
:
overlay
你完成了。 对于非基于systemd的分发,请查阅相应的文档。
更新
overlay
文件系统的名称从overlayfs
更改为overlay
。 在lxc 1.0.7发布之后 ,在提交38b3491中添加了对此的支持。 在LXC版本1.1.1和更高版本中,应该可以看到这种更改。
CentOS上的lxc
软件包来自EPEL存储库。 你应该打开一个错误报告来对付这个包( 在这里 )报告问题; 对于EPEL7来说,软件包维护人员应该很容易解决这个问题。