containerd存储xfs文件系统

私有云架构 部署 Kubernetes集群(z-k8s) 最初选择 docker 作为运行时,并且采用了 Docker btrfs 存储驱动 。但是,随着Kubernetes版本升级,从 1.24 开始已经不再建议采用Docker,而是采用 containerd 运行时。不过,由于 containerd的btrfs 还存在稳定性疑问,所以我在卸载了 docker 改为 安装containerd官方执行程序 ,然后把之前 Btrfs 存储卷删除,替换为 XFS文件系统

卸载和清理 Docker btrfs 存储驱动

卸载docker.io
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo apt purge docker.io
sudo apt autoremove
将btrfs磁盘转换成xfs
sudo umount /var/lib/docker
sudo sed -i 's/^\/dev\/vdb1/#\/dev\/vdb1/g' /etc/fstab
sudo mkfs.xfs -f -n ftype=1 /dev/vdb1
echo "/dev/vdb1  /var/lib/containerd  xfs  defaults,uquota,pquota  0 1" | sudo tee -a /etc/fstab

sudo systemctl stop containerd
sudo mv /var/lib/containerd /var/lib/containerd.bak

sudo mkdir /var/lib/containerd
sudo mount /var/lib/containerd

sudo su -
(cd /var/lib/containerd.bak && tar cf - .) | (cd /var/lib/containerd && tar xf -)

sudo systemctl start containerd

备注

XFS文件系统快速起步 配置案例,在参考 Docker installation on RHEL 7.2 and file system requirement 可以看到引用了Docker官方 Use the OverlayFS storage driver ,要求 XFS 文件系统格式化时使用 -n ftype=1 参数。