• 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

  • 相关阅读:
    Exchange 2013与 Office Web Apps 整合
    SharePoint2013 以其他用户登录和修改AD域用户密码 功能
    sharepoint 2010 自定义页面布局
    sharepoint 2010 记录管理 对象模型
    SharePoint2010 对象模型 关联列表
    在SharePoint Server 2010中更改“我的网站”
    xenapp 6.5 客户端插件第一次安装总是跳到官网
    如何解决在Windows Server 2008 R2 上安装证书服务重启后出现 CertificationAuthority 91错误事件
    在Win7 Hyper-v虚拟机中挂接真实机的声卡
    win8 中如何删除 共享文件夹 用户名和密码
  • 原文地址:https://www.cnblogs.com/zhangeamon/p/7918567.html
Copyright © 2020-2023  润新知