一次服务器非法重启后导致的故障排查记录

news2024/11/18 12:26:19

作者:JackTian
来源:公众号「杰哥的IT之旅」
ID:Jake_Internet
转载请联系授权(微信ID:Hc220088)
原文地址:一次服务器非法重启后导致的故障排查记录

大家好,我是杰哥。

前段时间遇到一个服务器问题:非法重启设备后,服务器进入救援模式,数据盘也不显示挂载是否成功。

说来这个问题,我觉得还挺奇葩。今天就来跟大家分享下整个过程以及我的处理方法。避免大家在今后的学习或工作中遇到跟我同样的问题。

一、问题背景

有一天,研发小伙伴跟我反馈有一台服务器连不上,一直卡在如下页面。


该页面是 Xshell 连接某一台服务器时,建立的连接,按Ctrl+Alt+]键切换到本地 Shell 终端。当我看到卡在该页面时,毫无犹豫的自己也尝试了起来,果然也是连不上。前一天还正常连接,第二天就出问题了?

还好服务器有配置远程管理地址,通过远程控制管理页面的方式启动 iKVM HTML5 和远程管理服务器,这样就能登到这台出故障的设备上查看服务器界面处于一种什么样的状态。


登到这台故障的服务器后,直接重启了服务器,然后 Xshell 再次尝试连接,是可以远程连接的。难道这就是传说中的重启治百病,如此简单粗暴?


当进入系统后,执行简单的命令都提示输入/输出错误。


过不久后,直接不建立连接了,彻底挂了。。。


再通过远程控制管理页面查看服务器当前状态,一看进入到救援模式了。

到该模式下后,

  • 输入journalctl -xb命令,可查看系统日志
  • 输入systemctl reboot命令,重启系统
  • 输入systemctl default^D命令,再次尝试进入默认模式
  • 输入 root 用户密码,则可以进入系统


根据日志报错提示:挂载文件系统可以纠正该问题。

二、解决方案

执行df -h命令,用于在 Linux 操作系统下显示文件系统的磁盘使用情况。

使用-h选项以KB以上的单位来显示,可读性高。

  • 第一列:Filesystem文件系统的名称
  • 第二列:Size文件系统的容量
  • 第三列:Used已用多少的磁盘空间
  • 第四列:Avail可用多少的磁盘空间
  • 第五列:Use%磁盘使用率
  • 第六列:Mounted On挂载点


根据上图结果来看,没有/dev/sdb1文件系统所挂载的/bigdata目录磁盘情况。

尝试将/dev/sdb1取消挂载,重新挂载,反复报不同的错误。




通过 RAID 卡管理界面查看状态也是 Online。

当如果重启设备,能看到如下界面,则说明正在初始化设备。


恰巧,这台故障的服务器有多块硬盘组成的 44T 的一个目录有存放 46% 的数据,在有数据的情况下,如何不格式化磁盘重新挂载呢?


取消挂载

umount /dev/sdb1

尝试修复

若不确定挂载点属于哪种文件类型时,可以执行:df -Th命令来判断。


如果挂载点为xfs 文件类型,可以执行:xfs_repair -L + 文件系统名称路径命令进行修复。

如果挂载点为fsck.ext2/3/4文件类型,可以执行:fsck.ext2/3/4文件类型 + 文件系统路径命令进行修复。

因为我这是xfs的文件类型,按xfs_repair命令来修复受损的 xfs 文件系统,执行如下命令进行修复/dev/sdb1

xfs_repair -L /dev/sdb1

执行修复是根据磁盘中的数据使用率来决定修复时长的,所以时间会较长,我采用放后台的形式执行的,执行完成后,查看还是否有进程存在,如有则说明未修复完,如没有则说明修复完成,然后再重新挂载。

mount /dev/sdb1 /bigdata

挂载完毕后,执行df -h命令来确定是否挂载成功。


到此,就恢复挂载完毕了。

上面案例是针对磁盘有数据时且不格式化的情况下恢复并挂载。

那么有小伙伴该问了,无存储数据的情况下,如何挂载磁盘,我这里也给大家整理出来一个详细的操作步骤:

第一步:

ll /dev/disk/by-path  # 查看需要挂的磁盘名称
fdisk -l              # 查看磁盘信息
lsblk                 # lsblk 命令默认情况下将以树状列出所有块设备,包括查看磁盘挂载信息

第二步:

parted /dev/sdb mklabel gpt            # 新建 /dev/sdb 的磁盘标签类型为 GPT
parted /dev/sdb mkpart primary 0 100%  # 将 /dev/sdb 整个空间分给同一个分区
ignore                                 # 忽略上述执行命令后的告警
mkfs.xfs -f /dev/sdb                   # 格式化分区

注意:格式化分区可能会执行慢些,需耐心等待。

第三步:

mkdir /bigdata            # 创建目录,自定义目录名
mount /dev/sdb /bigdata   # 将 sdb 挂载到 /bigdata 目录下

第四步:

blkid   # 查看 sdb 的 UUID 并复制

第五步:

vi /etc/fstab    # 参考已挂载的磁盘,将 sdb 的 UUID 和挂载目录关联上,保存后重启设备

注意:UUID 一定要写对,否则重启后无法正常进入系统。

第六步:

df -h   # 检查是否挂载成功

按照上述操作步骤执行,肯定能操作成功。如果你有更好的解决方案,也欢迎大家留言分享。

参考文献

xfs_repair命令详解 https://bbs.qunyingkeji.com/2052/

推荐阅读:

  • 14 款命令行常用工具的替代品
  • 7 款可替代 top 命令的工具
  • 11 款可替代 top 命令的工具
  • 在线运行 Linux,真滴牛逼。
  • 10 款你不知道的 Linux 环境下的替代工具

以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞、留个言或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

贪婪算法(Huffman编码)

如果一个算法分阶段的工作,并且在每一个阶段都认为所做的决定是最好的,而不考虑将来的后果,这样的算法就叫做贪婪算法。贪婪算法只考虑当前局部的最优解,而不去考虑全局的情况,如果最终得到的结果是全局最优的&#xf…

麻雀优化CNN超参数用于回归MATLAB

在CNN模型的构建中,涉及到特别多的超参数,比如:学习率、训练次数、batchsize、各个卷积层的卷积核大小与卷积核数量(feature map数),全连接层的节点数等。直接选择的话,很难选到一组满意的参数&…

如何理解关系型数据库的常见设计范式?

目录理清基础概念实体属性元组分组函数依赖完全函数依赖部分函数依赖传递函数依赖码全码理解六范式第一范式(1NF)第二范式(2NF)第三范式(3NF)巴斯-科德范式(BCNF,Boyce-Codd Normal …

基于STM32的智能家居系统设计

目录 第1章 前言 1 1.1 课题研究的背景和实际意义 1 1.1.1课题背景 1 1.1.2实际意义 1 1.2国内外发展现状、存在问题以及前景 2 1.2.1发展现状 2 1.2.2存在问题 2 1.2.3发展前景 2 1.3 主要工作、内容安排及预期成果 3 1.3.1主要研究工作 3 1.3.2预期成果 3 第2章 总体设计方案…

安卓4.X版本ssl: sslv3 alert handshake failure 握手失败

低版本https握手失败错误查看接口的协议改写代码(网络访问采用原生的HttpsURLConnection)参考博文:https://www.cnblogs.com/lwbqqyumidi/p/12063489.htmlhttps://blog.csdn.net/qq_16117167/article/details/52621112错误 如图所示&#xf…

linux进程概念

目录 1、进程的基本概念 2、进程控制块 - PCB task_struct内容分类 3、查看进程 通过ps命令查看进程 通过proc查看进程 4、通过系统调用获取进程标示符 5、通过系统调用创建进程-fork初识 6、进程状态 操作系统进程状态 linux进程状态 僵尸进程 孤儿进程 僵尸进…

计算机网络-谢希仁-第7版 第1章 概述

计算机网络-谢希仁-第7版 第1章 概述1.011.021.031.071.081.091.101.111.121.131.141.161.171.181.191.201.211.221.241.251.26计算机网络谢希仁版(第七版)答案 1.01 计算机网络可以向用户提供哪些服务? 计算机网络使用户在计算机之间传送数…

【Linux】Linux下的编译器——gcc/g++

💬推荐一款模拟面试、刷题神器 、从基础到大厂面试题:👉点击跳转刷题网站进行注册学习 目录 一、编译的过程 1、预处理阶段 1.1预处理的工作——头文件展开、去注释、宏替换、条件编译 1.2外部定义宏(-D选项) 1.…

会话跟踪技术(Cookie、Session)

目录一、CookieCookie的基本使用发送Cookie获取CookieCookie原理Cookie使用细节二、SessionSession基本使用Session原理Session使用细节三、小结四、登录注册案例会话:用户打开浏览器,访问Web服务器的资源,会话建立,直到有一方断开…

数据结构之堆的应用

系列文章目录 数据结构之堆_crazy_xieyi的博客-CSDN博客 文章目录 前言一、Top-k问题 1.前K个最小数(第k个最小数) 2.前K个最大数(第K个最大数)二、堆排序 1.从小到大排序(建大根堆)2.从大到…

【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统

本文为2022年第十七届中国研究生电子设计竞赛安谋科技企业命题一等奖作品分享,参加极术社区的【有奖活动】分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 基于EAIDK-610的中国象棋机器人对弈系统 参赛单位:西安邮电大学…

硬件开发趋势与技术探索

LiveVideoStackCon 2022 音视频技术大会 北京站将于11月25日至26日在北京丽亭华苑酒店召开,本次大会将延续【音视频无限可能】的主题,邀请业内众多企业及专家学者,将他们在过去一年乃至更长时间里对音视频在更多领域和场景下应用的探索、在实…

2023届C/C++软件开发工程师校招面试常问知识点复盘Part 8

目录52、vector<string>是怎么存储的&#xff1f;53、epoll的底层原理53.1 对比select和poll53.2 ET和LT的工作模式54、进程、线程、协程的理解和他们的通信方式54.1 进程的含义54.2 线程的含义54.3 协程的含义54.4 进程间通信IPC54.5 线程间通信方式55、define宏定义的用…

【JavaDS】优先级队列(PriorityQueue),堆,Top-k问题

✨博客主页: 心荣~ ✨系列专栏:【Java实现数据结构】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 堆1. 堆的概念2. 堆的存储方式3. 堆的创建4. 元素入堆5. 元素出堆6. 获取堆中元素二. 优先级堆列(PriorityQueue)1. 优先级队列2. PriorityQueue的特性3. 集合框架中P…

万字启程——零基础~前端工程师_养成之路001篇

目录 什么是前端 什么是后端 前端和后端的区别 前端工程师职责 后端工程师职责 前端的核心技术 HTML CSS JavaScript RESTful结构 特点 HTTP请求方式有哪些 目前最火的前端框架Vue vue优点 vue的响应式编程、组件化 搭建编程环境 什么是编程环境 前端的编程环…

华为云CDN,海量资源智能路由,让内容传输更快一步

华为云CDN,海量资源智能路由,让内容传输更快一步 云服务对于我们生活的影响已经愈发深入&#xff0c;在数字化转型的大背景下&#xff0c;城市管理、公共交通、医疗健康等领域都需要云服务的支持。华为云作为国内知名的云服务平台&#xff0c;以技术强、更可靠、资源多以及帮肋…

基于CentOS 7.9操作系统应用httpd配置本地镜像(本地yum源)

记录&#xff1a;301 场景&#xff1a;配置离线本地镜像源(本地yum源)的三种方式&#xff1a;直接使用iso镜像包配置、使用httpd服务应用iso镜像包配置、使用httpd服务应用rpm包配置。在内网环境或者局域网环境&#xff0c;基于CentOS 7.9操作系统应用httpd配置本地镜像(本地y…

手把手带你玩转Spark机器学习-深度学习在Spark上的应用

系列文章目录 手把手带你玩转Spark机器学习-专栏介绍手把手带你玩转Spark机器学习-问题汇总手把手带你玩转Spark机器学习-Spark的安装及使用手把手带你玩转Spark机器学习-使用Spark进行数据处理和数据转换手把手带你玩转Spark机器学习-使用Spark构建分类模型手把手带你玩转Spa…

Python学习笔记(十三)——编译错误和异常处理

异常和异常类 Python常见错误 语法错误 源代码存在拼写语法错 误&#xff0c;这些错误导致Python 编译器无法把Python源代 码转换为字节码&#xff0c;故也称 之为编译错误。>>> print("我爱山大"} SyntaxError: invalid syntax 运行时错误 • 程序中没有…

Python常用库1:collections,容器数据类型

collections&#xff1a;数据容器 点这里跳到原文地址。预计阅读时长&#xff1a;10分钟未完待续&#xff0c;遇到相关力扣题目&#xff0c;会继续补充~ 文章目录前言一、Collections中的内置函数二、各个函数的使用1. deque1.1 deque的介绍1.2 deque支持的方法1.3 使用deque解…