【银河麒麟高级服务器操作系统-实例】集群存储文件系统异常,本地复现+详细分析+解决建议

了解更多银河麒麟操作系统全新产品,请点击访问

麒麟软件产品专区:https://product.kylinos.cn

开发者专区:https://developer.kylinos.cn

文档中心:https://documentkylinos.cn


服务器环境以及配置

【机型】物理机 TG225 B1

|----------|-------------------------|
| 处理器: | HUAWEI Kunpeng 920 5220 |
| 内存: | 512G |
| 整机类型/架构: | ARM |
| BIOS版本: | Huawei Corp.5.19 |

【内核版本】

4.19.90-23.42.v2101.ky10.aarch64

【OS镜像版本】

银河麒麟高级服务器操作系统 Kylin-Server-10-SP1-Release-Build20-20210518-arm64

【第三方软件】

阿里云(k8s集群)+华为csi组件访问k8s集群存储

现象描述

pod飘逸后挂载失败,通过"blkid -o udev /dev/dm-35命令和lsblk命令查看不到文件系统属性, 手动mount 挂载时,提示指定文件系统类型,mount -t ext4 后可正常挂载和访问。k8s集群是使用CSI插件自动挂载文件系统,无法指定-t 文件系统类型,还需查明具体什么原因导致的,如何解决。mount挂载报错和csi插件日志报错,如图1:

图 1

现象分析

日志分析

通过查看messages日志,问题设备在首次绑定到KPVERW07主机,组成多路径设备mpathbb,如图 2所示。

图 2

在k8s日志中首次出现mount失败的情况,如图 3所示,由此可以判断,磁盘出现多个文件系统的情况可能发生在10:20:04-10:20:08之间或者更早。由于无早日志,无法判断问题发生的具体时间。

图 3

分析e2image收集的问题磁盘的元数据信息。通过命令dumpe2fs -i pvc.img查看文件元数据信息,分析后发现,存在组的可用块数量与可用块数位图无法对应的情况,如图 4中显示23513个可用块与块位图显示可用区域为0-32767(32768个)无法对应。同样可用inode数量与可用inode数位图也无法对应,从图 5可以看出可用inode位图最大为8192,但是其中存在大量不可用的inode号,远小于图 5中的8181个可用inode。怀疑此时磁盘上的ext4的元数据已经损坏。通过debugfs查看ext4的文件系统日志,但日志信息也已经损坏,无法查看,如图 6所示。

图 4

图 5

图 6

本地复现

将多路径设备,绑定到两台机器上,在两台机器上同时对该磁盘分别初始化ext4和xfs文件系统,偶现文件系统异常,和当前问题现象一致。如图7所示:

图 7

分析结果

综上所述,该问题应该是多个客户端或程序同时对同一个多路径设备进行操作,导致同一时间写入多个文件系统。

解决方案

1、使用mount -t指定文件系统的方式挂载问题磁盘,并将数据备份。

2、使用mkfs重新初始化新的文件系统。

3、重新挂载,并将备份数据恢复。

后续计划与建议

1、建议排查"阿里云(k8s集群)+华为csi组件访问k8s集群存储"应用使用场景(包括业务系统的指令操作),是否存在mkfs文件系统操作,以及是否存在多客户端同时对多路径设备mkfs操作的情况。

2、转储的元数据信息存在错误,怀疑盘上的ext4文件系统已损坏,建议不要再进行写入操作,及时备份重要文件并重新初始化文件系统。

相关推荐
YXXY3137 小时前
线程的介绍(四)
linux
李白你好7 小时前
AI Agent 架构的自动化渗透测试工具
运维·人工智能·自动化
Snasph8 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
广州灵眸科技有限公司8 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
一勺菠萝丶8 小时前
Docker Desktop 启动后容器自动启动怎么办?如何关闭容器自启动
运维·docker·容器
Esaka_Forever8 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
溜达的大象9 小时前
服务器挂了等用户报障?我用Prometheus搭了一套监控告警,服务器出状况第一时间通知我
服务器·php·prometheus
ylscode9 小时前
Comodo防火墙曝致命零日漏洞:单个IPv6数据包即可触发Windows蓝屏死机
运维·网络·windows·安全·安全威胁分析
kTR2hD1qb9 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
实在智能RPA9 小时前
药企GMP合规自动化破局:实在Agent的功能完整度评估与落地实践
运维·人工智能·ai·自动化