Linux 系统非正常关机导致磁盘异常的解决方案

2024-01-03 15:10

本文主要是介绍Linux 系统非正常关机导致磁盘异常的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


目录

    • 前言
    • 一、报错情况
      • 1.1 报错1
      • 1.2 报错2
    • 二、解决方案
      • 2.1 报错1解决方案
      • 2.2 报错2解决方案
    • 小结

前言

记录一下 Linux 系统非正常关机导致磁盘异常的解决方案,我们公司使用的是 VMware ESXi 虚拟化,内建了几十台虚拟服务器,最近公司断了两次电,导致 Linux 系统非正常关机,从而导致服务器应用停止运行,且导致磁盘损坏的现象。以下是我遇到的一部分问题,并给出了解决方案。

一、报错情况

1.1 报错1

  • 如图所示(图一)

    在这里插入图片描述

  • 首先按照提示查看详细的报错日志(图二)

    在这里插入图片描述

    对于这个报错信息,建议大家去官方具体查看。

1.2 报错2

  • 如图所示(图三)

    在这里插入图片描述

  • 说明

    这个报错是在修复完图一后又出现的同类型报错。

二、解决方案

2.1 报错1解决方案

首先看一下这几个目录,dm 是 device mapper(设备映射)的意思,如果分区时使用了 LVM,则一般生成 dm-N 逻辑卷,它类似于普通分区的一个分区 sda0。

ll /dev/dm*
brw-rw---- 1 root disk 253, 0 1216 15:43 /dev/dm-0
brw-rw---- 1 root disk 253, 1 1216 15:43 /dev/dm-1
brw-rw---- 1 root disk 253, 2 1216 15:43 /dev/dm-2lvdisplay |awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'# 如下图是其对应的设备映射关系
# dm-0:根分区(/)
# dm-1:交换分区(swap)
# dm-2:家目录(/home)

在这里插入图片描述

图一报错提示这些设备异常,需要恢复(repair),于是根据提示恢复即可。

xfs_repair -v -L /dev/dm-0
reboot

2.2 报错2解决方案

有时候其他目录可以访问(如:ls等),而 /home/ 目录下却不能 ls(或ll),解决方案同上

# 解决方案同上
xfs_repair -v -L /dev/dm-2
reboot# 如果报错:xfs_repair: cannot open /dev/dm-2: Device or resource busy ...
# 先取消挂载:umount /dev/mapper/centos-home
# 再执行 xfs_repair -v -L /dev/dm-2
# 最后重启即可:reboot

小结

导致以上这些错误的原因主要有两个:/etc/fstab 文件下自定义语法错误、系统非正常关机。可以根据这两个思路去排查,解决即可。

<点击跳转至开头>

这篇关于Linux 系统非正常关机导致磁盘异常的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/566115

相关文章

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与