暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

银河麒麟系统宕机修复的过程

济南小老虎 2024-10-14
168

背景

国庆期间, 公司一个托管服务器的机房出现了计划内的停电. 
上周去现场开机时发现两台服务器启动失败.

很蛋疼的是 我的BMC 通过 电信网路进行了跳转
其中一台可以, 另外一台不行,
华为的BMC 提示 无效用户. 搞的很尴尬
结果被业务告知里面的数据非常重要.
必须要救回来, 只能这周再去一次现场了.
这里主要记录一下处理过程, 本质上不是很复杂, 但是处理起来很坑爹.


问题现象

1.  Failed to Start SWitch Root 
mkdir: cannot stat '/sysroot'; input/output error

2. Generating "/run/initramfs/rdsosreport.txt"
to a USB stick or boot after mounting them

3. Entering emergency mode Exit the shell to continue


解决思路

其实问题很好解决. 
之前多次解决过类似的问题

一般就是 进入shell

然后使用 xfs_repair 修复就可以了.


问题说明

Linux的文件系统其实跟Oracle数据库的数据文件都是类似的.
都有日志管理系统.
linux的ext4和xfs 其实都是日志文件系统.
不仅有元数据,还有日志进行记录和处理.

如果raid卡采用write back 模式,或者是磁盘采用 cache io模式
性能虽然非常好, 但是存在写入磁盘失败的风险
但是一般机器都要求写入日志才返回
所以会出现日志记录与元数据不一致的情况
也就是日志写完了, 但是脏数据没有落盘.

此时Oracle数据库需要使用 recover database
linux系统需要 repair的处理.

但是这种处理都是可能会丢失数据的
生产环境是慎用的.


银河麒麟的坑

银河麒麟无法直接进入单用户模式
他需要输入一个密码 -_-

CentOS的情况下五分钟搞定的问题, 银河麒麟花费了3个小时

开机进入到grub的系统选择界面
输入e
需要注意此时需要输入密码,如果没修改过密码
默认是 root/Kylin123123

输入之后 需要在 linux 开头的哪一行最后面输入
init=/bin/bash console=tty0

然后输入 ctrl +x 进入 单用户模式


系统修复

ls dev/mapper
查看文件目录系统.
比如我这边, 同事比较专业,改了一个比较BT的名字
/dev/mapper/klas_kylinv10no2-root

处理方式为
umount -lf dev/mapper/klas_kylinv10no2-root
先取消挂载
然后执行修复
xfs_repair dev/mapper/klas_kylinv10no2-root
如果上一个命令失效, 执行这一个
xfs_repair dev/mapper/klas_kylinv10no2-root -L
然后重启服务器:
reboot

问题解决.


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论