snapshotter not loaded: overlayfs: invalid argument

简介: snapshotter not loaded: overlayfs: invalid argument

测试containerd是否能创建和启动成功

执行如下命令拉取镜像并创建容器:

拉取容器

ctr i pull docker.io/library/nginx:alpine 

创建容器

ctr c create --net-host docker.io/library/nginx:alpine nginx 
ctr task start -d nginx

查看Containerd服务启动信息:

systemctl status containerd -l

查看containerd组件加载情况,发现overlayfs异常

ctr plugin ls

通过以下命令查看containerd运行日志:

sudo journalctl -fu containerd

通过查看容器内的文件系统,确认为xfs文件系统:

df -Th

查阅官方资料:

其中有二条比较有用的:

OverlayFS是推荐的存储驱动程序,如果满足以下先决条件,则支持它:

4.0版或更高版本的Linux内核,或RHEL或使用3.10.0-514版或更高级内核的CentOS。(内核版本已经升级过了,符合条件)

overlay2驱动程序在xfs备份文件系统上受支持,但仅在启用d_type=true的情况下才受支持。(这个才是重点)

我设置的系统内核版本是Linux 6.4.9-1.el7.elrepo.x86_64,这个版本默认的存储驱动是fuse-overlayfs,而不是overlay2。因此,在使用docker时,默认会使用fuse-overlayfs作为存储驱动,想要使用overlay2作为存储驱动,还需要手动配置docker,将存储驱动设置为overlay2, 在/etc/docker/daemon.json中添加以下内容:{ “storage-driver”: “overlay2” },然后使用命令systemctl restart docker.service进行重启。接着让文件系统需要支持d_type=true,使用命令mount | grep overlay进行检查是否支持,最后使用docker info命令检查是否成功修改存储驱动为overlay2。

如果启动容器出现如下报错,是由于缺少runc并升级libseccomp,libseccomp需要高于2.4版本。

ctr: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error 
(open /run/containerd/io.containerd.runtime.v2.task/default/nginx/log.json: no such file or directory): 
fork/exec /

containerd在v1.6.4版本以后使用v1.1.2的runc和v1.1.1的cni。

下载链接:https://github.com/opencontainers/runc/releases/download/v1.1.2/runc.amd64?spm=a2c6h.12873639.article-detail.8.31cb4c6a6D2Htj&file=runc.amd64

下载之后,执行如下命令安装并查看版本号:

install -m 755 runc.amd64 /usr/local/sbin/runc
runc -v

执行如下命令升级libseccomp:

查询原来的版本

rpm -qa | grep libseccomp

卸载原来的版本

rpm -e libseccomp-2.3.1-4.el7.x86_64 --nodeps

下载高版本的

wget http://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/libseccomp-2.5.1-1.el8.x86_64.rpm 

安装

rpm -ivh libseccomp-2.5.1-1.el8.x86_64.rpm


相关文章
|
5月前
|
Python
【已解决】WARNING: Ignoring invalid distribution xxx
【已解决】WARNING: Ignoring invalid distribution xxx
error: invalid argument ‘-std=gnu++98‘ not allowed with ‘C‘
error: invalid argument ‘-std=gnu++98‘ not allowed with ‘C‘
116 0
|
Unix
clang: error: unknown argument: ‘-fpch-deps‘
clang: error: unknown argument: ‘-fpch-deps‘
125 0
|
C语言
error: implicit declaration of function ‘VerifyFixClassname‘ is invalid in C99 [-Werror,-Wimplicit-f
error: implicit declaration of function ‘VerifyFixClassname‘ is invalid in C99 [-Werror,-Wimplicit-f
148 0
libvpx enabled but no supported decoders found
libvpx enabled but no supported decoders found
185 0
|
Linux
WARNING: Re-reading the partition table failed with error 22: Invalid argument
在划分磁盘分区时,遇到错误“WARNING: Re-reading the partition table failed with error 22: Invalid argument” 如下所示: [root@DB-Server u02]# fdisk -l   Disk /dev/sda: 500.
2543 0
报错解决:Reason: Failed to determine a suitable driver class
报错解决:Reason: Failed to determine a suitable driver class
2552 0
报错解决:Reason: Failed to determine a suitable driver class
|
并行计算 PyTorch 算法框架/工具
CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
|
C语言