我有带有 xfs 文件系统的 Centos 7.7,其中每个文件系统都是使用 ftype=0 创建的,例如:
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
是否可以将其更改/转换为 ftype=1 而无需重新创建/重新安装整个系统?
Docker 文档: https://docs.docker.com/storage/storagedriver/overlayfs-driver/
说:
“xfs 支持文件系统支持 Overlay 和 Overlay2 驱动程序,但仅在启用 d_type=true 的情况下。使用 xfs_info 验证 ftype 选项是否设置为 1。要正确格式化 xfs 文件系统,请使用标志 -n ftype=1”
是否可以在我当前的系统上修复它,而无需完全重新安装?
答案1
是否可以在我当前的系统上修复它,而无需完全重新安装?
是的。您可以通过多种方式实现这一目标。但这有多容易取决于您的存储架构。但大致过程如下,
方法一:
- 创建 2 个新分区(例如,
/dev/sda3
或/dev/mapper/lvm-dockerd
,/dev/mapper/lvm-containerd
) - 将它们格式化为
ftype=1
- 创建 2 个新目录:
/var/lib/docker
和/var/lib/containerd
- 将新创建的分区挂载到上述目录并重新安装docker。
方法二:
- 创建单个分区(例如,
/dev/sda3
或/dev/mapper/lvm-storage
) - 格式化分区
ftype=1
- 创建一个新目录
/storage
并在其中安装分区。 - 在
/storage
. - 更改containerd和dockerd的默认数据目录并指向新创建的目录。容器文档,dockerd 文档
关于存储架构,
- 如果您使用像 vmware 这样的虚拟机管理程序,那么您可以轻松添加一些虚拟磁盘。
- 如果您使用 LVM 来管理分区,则只需缩小分区即可LVM卷并创建新卷。
- 如果您有任何 NFS 服务器,您只需创建并将 NFS 目录挂载到
/var/lib/docker
适当的目录即可。 - 如果两者都没有,则必须添加新磁盘并创建必要的分区(我希望使用 lvm),然后继续执行上述说明。