EXT4文件系统损坏导致的实例无法启动的排查与修复

news/2025/2/12 1:55:00/文章来源:https://www.cnblogs.com/wxfy/p/18580367

原文:https://bbs.huaweicloud.com/blogs/174945

现象

某现网局点进行POC时,发现某DN core掉,且一直无法启动。

core文件堆栈和dn的pg_log日志中的堆栈信息一致。

  1. 堆栈中显示 checkpoint 时进行 buffer 落盘时导致core

  2. log中报错信息为:

could not flush dirty data: Cannot allocate memory< /span >< /code >

 

排查

  1. 再看操作系统内存,发现还有100G以上空闲,不存在内存不足的可能性。基本排除是因为内存导致的问题。

  2. 通过代码排查发现是调用系统函数:sync_file_range ()。但是刷盘函数一般也不会导致无法申请内存。

    PS:此函数是Linux 2.6.17之后提供的用于提高IO性能的刷盘函数,作用类似于fsync等。

  3. 既然翻车在文件操作函数,可以合理怀疑文件是不是有问题。翻一下操作系统日志 /var/log/messages,发现疑点:

     

  4. 网上查询错误信息,基本上确认为EXT4文件系统损坏,需要对文件系统进行修复

修复EXT4文件系统

修复EXT4文件系统需要使用fsck.ext4命令,与windows的chkdsk命令一样,fsck命令是linux下必不可少的文件系统修复工具。一般都会默认安装的。

    1. 使用root用户登录系统

    2. 把要修复的磁盘umount掉。使用fsck修复文件系统一定要先把对应的磁盘卸载,否则是非常危险的(这是不如windows的地方)。

      1. 首先检查是否有其他进程使用磁盘(也可以使用 lsof /dev/sdh1 查看占用情况)

fuser -mv /dev/sdh1
    1.  
    2. 杀死占用的进程,并确保没有进程占用磁盘(也可以使用 kill 杀掉对应进程)

fuser -kv /dev/sdh1
fuser -mv /dev/sdh1
    1.  
    2. 卸载磁盘

 

umount /dev/sdh1
    1. 使用fsck工具修复系统

      1. 运行命令并确认

fsck.ext4  /dev/sdh1

            运行过程中会提示 inode 的一些信息,确认即可。

            如果不想要点很多次的确认信息,可以加上 -a 参数。

            修复完成后,会得到如下提示,表示fs已经修复完成。

            

 

  1.     通过reboot重启系统,修复工作结束。

附:fsck命令常用选项及注意事项

  1. fsck.ext4的manpage直接跳转到e2fsck,因为他直接调用的e2fsck命令,可以阅读描述:

 

  1. 常用选项和注意事项

 

 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844760.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Devfreq学习笔记

一、简介 当今的复杂SoC由多个子模块协同工作组成。在执行各种用例的操作系统中,并非SoC中的所有模块都需要始终保持最高性能。为方便起见,将SoC中的子模块分组为域,从而允许某些域以较低的电压和频率运行,而其他域以较高的电压/频率对运行。 对于这些设备支持的频率和电压…

HCIP-11 IP路由基础和路由引入

由于不同路由协议工作原理不同,因此到达同一目的网段可能会生成多个路由条目,路由器根据路由协议的优先级以及路由开销选择最优路由,并且把最优路由放入FIB表。路由器根据FIB表执行数据转发。 当网络规模较大且使用多种路由协议时,路由协议间通过路由引入的方式实现路由的相…

京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

文件上传漏洞靶场通关详解

文件上传漏洞&靶场通关详解 什么是文件上传漏洞? 大部分网站都拥有上传文件的部分,文件上传漏洞是由于网站开发者对用户上传文件的过滤不够严格,攻击者可以通过这些漏洞上传可执行文件(如木马,恶意脚本和WebShell等等),从而达到随意控制网站的目的。文件上传漏洞有哪些危害…

ubuntu24.04系统gnome46用到扩展

现放一张桌面截图:从左到右侧分别是如下扩展: 1、logo-activities 通过他可以添加活动图标 2、Applications Menu 应用程序菜单 3、Places Status Indicator 目录位置 4、Favorite Apps Menu 应用程序菜单,这个我主要用来装饰 5、Astra Monitor Gnome状态栏中显示…

2024-2025-1 20241329 《计算机基础与程序设计》第十周学习总结

作业信息 作业归属课程:2024-2025-1-计算机基础与程序设计 作业要求:2024-2025-1计算机基础与程序设计第十周作业 作业目标:信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与地震模型、图形图像 作业正文:2024-2025-1 20241329…

2024-2025-1 20241301 《计算机基础与程序设计》第十周学习总结

|这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计| |这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业| |这个作业的目标|<复习知识,巩固基础>| |作业正文|https://www.cnblogs.com/HonJo/p/18580240| 一、教材学习内容总结 (一)字符串 C语言中…

高级程序语言设计第九次个人作业

班级链接:https://edu.cnblogs.com/campus/fzu 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13311 学号:102400130 姓名:杨子旭 {{uploading-image-965852.png(uploading...)}} {{uploading-image-100243.png(uploading...)}} {{uploading-image-635326.p…

多表设计

一对多: 在数据库中多的一方添加外键来关联另一个表的主键。外键约束语法:1、创建时指定:creat table 表名(字段名 数据类型...[constrain] [外键名称] foreign key(外键字段名) references 主表(主表列名));2、建表后添加外键:alter table 表名 add constraint 外键名…

Element-Plus表格:Table自定义合并行数据的最佳实践

“ 知行合一 ” —— 王阳明在开发项目中,我们时常会用到表格,许多需求可能会要求自定义特定的行或列。 接下来,我们将探讨在实际开发中如何应对这一挑战。 本文案例采用的技术:名称 版本Vue3 ^3.5.12element-plus ^2.8.8知识点 我们先来复习下2个知识点,来自element-pl…

高级语言程序第九次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13303 学号:102400128 姓名:吴俊衡 14.17.3 问题无4 问题无5 问题无10 问题对于结构数组的指针运用不太熟练和结构数组的输入不太熟…

高级语言程序设计课程个人第九次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13311 学号:102400127 姓名:王子涵 复习题q3q4q5q10q11练习 q3q4q5难