Docker Warning : the backing xfs filesystem is formatted without d_type support
CentOS7 下安装配置 Docker,遇到如下的WARNING,
WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
Reformat the filesystem with ftype=1 to enable d_type support.
Running without d_type support will not be supported in future releases.
xfs 文件系统不支持d_type,建议重新格式化文件系统加上 ftype=1 来打开 d_type 的支持,下面来了解下 xfs 下的 d_type。
d_type 对于Docker来说这么重要呢?
要知道Overlay 和 Overlay2是Docker支持的两种存储驱动,类似AUFS,其主要有如下几个特性:
1) 设计更加简单;
2) 从3.18内核开始,就进入了Linux内核主线;
3) 速度更快。
Docker的overlay存储驱动利用了很多OverlayFS特性来构建和管理镜像与容器的磁盘结构。自从Docker1.12起,Docker也支持overlay2存储驱动,相比于overlay来说,overlay2在inode优化上更加高效。但overlay2驱动只兼容Linux kernel4.0以上的版本。
注:自从OverlayFS加入kernel主线后,它在kernel模块中的名称就被从overlayfs改为overlay了。
OverlayFS使用两个目录,把一个目录置放于另一个之上,并且对外提供单个统一的视角。这两个目录通常被称作层,这个分层的技术被称作union mount。术语上,下层的目录叫做lowerdir,上层的叫做upperdir。对外展示的统一视图称作merged。
下图展示了Docker镜像和Docker容器是如何分层的。镜像层就是lowerdir,容器层是upperdir。暴露在外的统一视图就是所谓的merged。
当Docker 运行在overlay/overlay2存储驱动上时,需要d_type特性的支持才能正常工作,Docker1.13以后加入了对此的检查,可以运行docker info命令来查看文件系统是否支持d_type这个特性。
如果overlayfs存储驱动不支持d_type的话,容器在操作文件系统时可能会出现一些奇怪的错误:比如在bootstrap的时候出现Chown error,或者rebuild时发生错误等等。
如何解决?
坏消息是只能通过重做文件系统来解决,是不能在已经存在的操作系统上进行修改的哦!!!
下面是基本上可行的步骤:
(1)备份你的数据
(2)重新创建你的文件系统,当然可以是使用XFS,也可以使用Ext4
(3)恢复备份的数据回来
针对第二点,我们可以有如下操作(做下面命令之前最好了解下命令可能带来的影响:):
如果是使用ext4文件系统,那么命令是:
mkfs.ext4 /path/to/your/device
如果是使用xfs文件系统,那么命令是:
mkfs.xfs -n ftype=1 /path/to/your/device
现在您就可以检查下RHEL/CentOS7是否存在d_type问题:
sudo xfs_info /
meta-data=/dev/sda3 isize=256 agcount=4, agsize=32230848 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=128923392, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=62950, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
像我这台机器就是ftype=0,如果计划加入到Docker节点的话,需要进行调整哦!
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.2_release_notes/technology-preview-file_systems
Docker Warning : the backing xfs filesystem is formatted without d_type support的更多相关文章
- docker WARNING: IPv4 forwarding is disabled 问题解决
问题: [yuyongxr@localhost ~]$sudo docker run -d --name nginx -p : nginx WARNING: IPv4 forwarding is di ...
- docker WARNING: IPv4 forwarding is disabled. 解决方法
WARNING: IPv4 forwarding is disabled. Networking will not work. 在宿主机添加如下信息 echo net.ipv4.ip_forward= ...
- docker WARNING: bridge-nf-call-iptables is disabled 处理
在CentOS中 vim /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = net.bridge.bridge-nf-call-iptabl ...
- docker使用常见问题解决方案:错误号码2058,docker WARNING :IPv4,容器间的通讯
1.错误号码2058 1,错误解决: 解决方法:docker下mysql容器 登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL: ALTER USER 'ro ...
- docker warning ipv4 forwarding is disabled. networking will not work
# vi /etc/sysctl.conf 添加如下代码: net.ipv4.ip_forward=1 重启network服务 # systemctl restart network 查看 ...
- docker部署mysql远程连接 解决1251 client does not support ..
现象:用虚拟机上Docker启动mysql之后无法在本地安装的navicat上远程连接已启动的mysql,错误截图: 原因:mysql 8.0 默认使用 caching_sha2_password 身 ...
- docker 基础之操作容器
Docker子命令分类 Docker 环境信息 info .version 容器生命周期管理 Create.exec.kill.pause.restart.rm.run.start.stop.unpa ...
- docker 启动失败
今天本来想抽空弄一下openshift,新装了个centos结果docker起不来. 报错内容: [root@master docker]# systemctl status docker.servi ...
- docker容器启动几分钟之后自动退出
2018-11-06 问题: docker容器启动几分钟之后自动退出 log日志报错 WARNING: overlay2: the backing xfs filesystem is formatte ...
随机推荐
- HDU 4438 Hunters
Hunters Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- [Nlog]使用经验
<?xml version="1.0" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog ...
- hadoop2.6.0的eclipse插件编译和设置
编译hadoop2.6.0的eclipse插件 下载源码: git clone https://github.com/winghc/hadoop2x-eclipse-plugin.git 编译源码: ...
- 实时计算CEP
实时计算怎么实现: 流计算.....
- fiddler工具条、状态栏、请求信息栏各按钮的作用
1.fiddler工具条 2.fiddler状态栏 3.请求信息栏
- socket和udp简介
socket简介 1.本地的进程间通信(IPC)有很多种方式,例如 队列 同步(互斥锁.条件变量等) 以上通信方式都是在一台机器上不同进程之间的通信方式,那么问题来了 网络中进程之间如何通信? 2. ...
- ES6系列_8之函数和数组
1.对象的函数解构 ES6为我们提供了这样的解构赋值使在前后端分离时,后端返回来JSON格式的数据,前端可以直接把这个JSON格式数据当作参数,传递到函数内部进行处理.比如: let json = { ...
- Seetaface 向树莓派 移植
seetaface由中科院计算所山世光研究员带领的人脸识别研究组研发.代码基于C++实现,不依赖第三方库.然而,目前开源的代码,是在windows vs上编译的,对于我们这帮mac/linux用户来说 ...
- maven settings.xml 文件
指定jdk 的版本: <profile> <id>jdk-1.8</id> <activation> <activeByDefault>tr ...
- UNITY 接讯飞语音过程总结
11:13 2017/3/141,安装问题:JDK与ECLIPSE位数一定要对应,32位对64位会出现 java was returned ....code 13的弹框错误.版本号可以不一致.2,EC ...