| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Centos7折腾记:进不了系统,提示“Failed to mount /sysroot” -> 正文阅读 |
|
[系统运维]Centos7折腾记:进不了系统,提示“Failed to mount /sysroot” |
前言这是去年7月写的文章,当时对Linux并没什么了解,但是同学向我求助,也就去折腾了一回! 折腾经过:前天同学打电话给我,说是某单位的华为服务器(H22H-05)进不了系统(Centos7),昆明的技术员说是要重新做系统,数据会丢失!但是,单位是坚决不允许数据丢失的!所以求助于我。。 说实话,之前我从未接触过Centos,甚至都没有研究过,所以问我我也是一问三不知。。 但是呢,研究问题是我比较喜欢的,所以第二天一早我问他搞定了没有,没有的话我先远程研究一下。。 然后就开始了远程折腾。。 远程操作说明:通过一台笔记本连接到服务器的管理口,然后使用华为的工具可以像管理自己电脑一样操作服务器,包括调整BIOS等。然后笔记本装了个向日葵,我在家使用向日葵远程到那台笔记本进行操作。 ? ? ? 首先看了一下,确实没有进入正常的系统,屏幕上提示了一堆英文,百度了一下,知道了那是救援模式或者叫救急模式。 然后根据屏上的提示,输入了命令:journalctl 查看系统日志。因为是第一次看Centos的日志,一开始看得很认真,还时不时就百度,后面发现不对,日志内容太多了!看到什么时候都不知道! 于是我直接按下end键,跳到了最后一页。屏幕上赫然出现了三行红色的错误提示!第一行就是:Failed to mount /sysroot?两外两行我没记,大概意思也是和这个提示有关。 然后往前翻了翻,还有一个提示是什么 “i8042控制器没有找到” 之类的,这个不影响。 很明显,不能正常进系统的原因必然是因为它:Failed to mount /sysroot 于是,百度之。。 度娘的结果,不敢说100%,99%给出的解决方法都是这个:xfs_repair -v -L /dev/dm-0 我信了!但是呢,有些人说可能会导致数据丢失!这。。 思来想去觉得不保险,研究了一天寻找更安全的方法,也始终没有敢输入这一串命令! 晚上,我打电话让同学安排把服务器抬过来,我打算先进PE里把数据备份一下,然后再折腾! 今天中午1点,服务器抬来了,开始现场折腾~~ 首先,当然是插上我心爱的小U盘,想要进PE。结果试了几次都是,一从U盘启动服务器就自动关机!!PE进不去,头疼。。 研究了一下,发现是UEFI的启动方式,于是在BIOS中把UEFI改成了传统方式,再进PE成功了! Windows是不能直接读取XFS(Centos默认使用的分区格式)格式的分区的,原本我是寄望于DiskGenius这款国产分区神器! 但是很不幸,它并不支持XFS。幸好我有所准备,拿出另一款超级神器:UFS?Explorer ! 正确读出了服务器硬盘上的东西,除了一个分区显示 RAW 无法读取外,其它分区的数据都能看到! 于是我让人拿来一个移动硬盘,把单位需要的数据全部备份。 数据备份花了两三个小时,然后开始尝试修复系统! 我输入了网上查来的那串命令:xfs_repair -v -L /dev/dm-0 没用!!我又输入:xfs_repair -v -L /dev/dm-1 还是没用!!有点懵,我以为一下子就可以搞定的。。 想起在PE里,其它分区都对正常读取,只有那个RAW分区很奇怪,各种折腾之后确定那个是swap交换分区。。 我想,可能我和网上的那些情况不同吧。。导致错误的原因可能是swap分区异常! 于是,我开始折腾起这个分区! 服务器原本的救援模式很多命令都变得不可用了,于是我使用了一个有Centos7的U盘来导引,进入了它的救援模式 一翻折腾后,确定swap分区对应的是/dev/dm-5 于是我输入了:xfs_repair -v -L /dev/dm-5 还是没用!! 我也记不清究竟折腾了多少命令,翻了多少百度。。 用过的命令:mkfs.xfs -f -d agcount=2,su=256k,sw=2 -r extsize=512k /dev/dm-5 agcount=2表示使用两个CPU线程,su=256k表示块大小,sw=2 表示阵列有两个盘,extsize=512k 这个值是su*sw。这台服务器是3个硬盘组的RAID5,所以sw设成了2 ………… 最后,好像是这样解决的: swapoff -a? ?关闭swap rm -f /mnt/sysimage/dev/mapper/cl-swap? ? 删除swap。swap原本的路径是/dev/mapper/cl-swap,在U盘启动的救援模式中,会挂载到/mnt/sysimage目录下 xfs_repair /dev/dm-5? ? ??原本没报什么希望,所以也没加-v -L这两个参数。加不加这两个参数,我觉得这里的结果都是一样的 看到了不一样的提示,我预感它已经正常了!于是我又输入了一次:xfs_repair /dev/dm-5??然后reboot重启!! 这个时候已经快19点,肚子有点饿,还没等服务器重启好,我们就先去吃饭了~~ 吃饭回来一看,久违的 localhost login:? ?出现了! 再次重启,仍是一切正常,搞定收工~~ skyyx2002 2021.07.18 后话现在回想,这故障应只是swap分区出错导致! 以我现在对Linux的了解,可能几分钟就搞定了。。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:37:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |