linux 系统修复 启动盘,linux服务器系统盘坏且系统盘为软raid的修复方法
1 需要换新盘的情况
1.1 一块盘grub损坏修复(可通过另一块盘进入系统的情况)
更换硬盘的方式,可以热插拔,也可以服务器断电后更换,但如果是热插拔,可能会导致盘符变更。坏了一块硬盘的情况下,软raid1恢复方法(以sdb为新更换的硬盘为例):
1.1.1 拷贝正常的那块硬盘分区信息到新的硬盘
sfdisk -d /dev/sda | sfdisk -f /dev/sdb
1.1.2 查看sdb的分区与sda是否一致
[root@HN-SS1 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 300.0 GB, 300000000000 bytes
255 heads, 63 sectors/track, 36472 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 523 4194304 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sdb2 * 523 36473 288773120 fd Linux raid autodetect
[root@HN-SS1 ~]# fdisk -l /dev/sda
Disk /dev/sda: 300.0 GB, 300000000000 bytes
255 heads, 63 sectors/track, 36472 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dafc6
Device Boot Start End Blocks Id System
/dev/sda1 1 523 4194304 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 523 36473 288773120 fd Linux raid autodetect
1.1.3 让内核重载分区表(若可以重启服务器不需执行此部)
partprobe /dev/sdb
1.1.4 把第二块盘加入raid1中
mdadm /dev/md0 -a /dev/sdb2
等数据同步到SDB 完成之后执行
1.1.5 复制操作系统的前512字节的引导程序到新的硬盘
(最关键一步,否则开机无法正常引导,现场软raid同步后没法启动就是这个原因)
dd if=/dev/sda of=/dev/sdb bs=512 count=1
ps:硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,里面却存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。被复制到物理内存的内容就是Boot Loader,即grub。
1.1.6 添加新盘swap
mkswap
/dev/sdb1
swapon
/dev/sdb1
上面命令只在未重启时生效
1.1.7 修改fstab中已经被换掉的硬盘的UUID为新swap的UUID,保证swap重启服务器可以生效
cat
/etc/fstab
UUID可通过blkid查看
1.2 两块盘grub均损坏(无法进入系统)
有一些之前已经换过系统盘,没有按照上面的操作,然后另一块也坏了,此时两块硬盘都没法进入系统,采用如下方法:
挂载光盘,进应急模式修复
Bash-4.1# chroot /mnt/sysimage
Sh-4.1# grub
Grub > root (hd0,1)
Grub> setup (hd0)
Grub> quit
Sh-4.1# exit
Bash-4.1# reboot
成功
2 不换盘
现场存在硬盘没问题,但是掉raid的情况(大部分是这种情况)
检测方法
2.1 检查硬盘的是否正常
2.1.1 smartctl -a /dev/sdb
注意上面得输出,标注位置没有错误,表示硬盘没问题
2.1.2
smartctl -H /dev/sdb(一般用这个查就可以了),health为ok即表示硬盘没问题
2.1.3 badblocks -sv /dev/sdb
全盘扫,很慢,不建议
2.2若硬盘没问题,重新同步即可
2.2.1 检查raid状态
[root@GD-QY1-BY1-SE3 fonsview]# mdadm -D /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Tue Apr 29 15:19:50 2014
Raid Level : raid1
Array Size : 288772984 (275.40 GiB 295.70 GB)
Used Dev Size : 288772984 (275.40 GiB 295.70 GB)
Raid Devices : 2
Total Devices : 2
Persistence
: Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jul 4 15:05:56
2016
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Name : example.sz.fonsview.com:0
UUID : 8c78cdee:b6be167c:85cce8f9:9e2fe8e8
Events : 26915749
Number Major Minor
RaidDevice State
0 0 0
0 removed
1 8 18
1 active sync /dev/sdb2
0 8 2
- faulty
spare /dev/sda2
若红色字体部分为faulty,执行:
mdadm /dev/md0 -r /dev/sdb
mdadm /dev/md0 -a /dev/sda2
若红色字体部分为remove,执行:
mdadm /dev/md0 -a /dev/sda2
2.2.1 查看同步状态
cat /proc/mdstat
linux 系统修复 启动盘,linux服务器系统盘坏且系统盘为软raid的修复方法相关推荐
- linux制作电脑启动盘,Linux启动盘的制作Linux -电脑资料
Linux的启动软盘有boot盘和boot/root盘之分,所谓的boot盘只能用来启动已经安装在硬盘上的 Linux系统 ,而boot/root盘本身就是一个 迷你Linux系统, Linux的启动 ...
- linux系统oracle启动过程,Linux主机下配置Oracle 10G自动启动过程记
四:创建服务 $su - root # cd /etc/rc.d/init.d/ # gedit oradbstart 复制如下脚本1或者脚本2内容到oradbstart文件: 注意点 (1).#开始 ...
- Linux下制作启动盘
一般我们都是使用U盘制作启动盘.那么在Linux下如何制作启动盘.其实非常简单,首先,格式化U盘.这一步需要注意有些Linux系统会自动挂载U盘.这时候就需要先卸载U盘.所以制作U盘的这个流程如下. ...
- linux u盘启动修复工具,Linux系统专用U盘启动盘制作工具YUMI2.0.4.7免费版
软件大小: 1.7 MB 软件语言: 简体中文 大家都知道我们装系统一般用的U盘启动盘制作工具都是基于win系统的,如果你要装linux系统比如ubuntu之类的系统的话难道还是要买光盘来刻录吗?当然 ...
- 系统启动数据库服务器,linux系统如何启动数据库服务器
linux系统如何启动数据库服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务 ...
- Linux系统之路——如何在服务器用U盘安装CentOS7.2(二)
Linux系统之路--如何在服务器用U盘安装CentOS7.2(一) 说明: 截止目前CentOS 7.x最新版本为CentOS 7.2.1511,下面介绍CentOS 7.2.1511的具体安装配置 ...
- 对比五种制作Linux系统的U盘启动盘的工具
在网上存在很多制作Linux系统的U盘启动软件,也有很多教程,比如说是UNetBootin.wubi.UltraISO.syslinux.LinuxLive USB Creator一些比较主流的软件, ...
- linux服务器知识学习:了解Linux系统的启动过程
linux启动时我们会看到许多启动信息. Linux系统的启动过程 其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. 点击进入原文(图文版)地址 一 ...
- u盘版linux initramfs,探索Linux系统的启动过程
阅读目录 引言 Linux启动过程概述 Grub加载Linux内核和initramfs 探索initramfs文件的方法 基于systemd的init系统 进入图形界面 这篇文章有点长,我花了大约两个 ...
最新文章
- matlab 神经网络预测时间序列示例(水痘模型)
- 我在大学毕业后学习Linux、python的一些经验
- linux centos7 安装redis
- 查看oracle的块大小,查看操作系统块大小
- 最小生成树 Kruskal算法 Prim算法
- 财富不入急门,投资且慢一点
- 编程开发之--设计模式
- 冲刺第一天 11.23 FRI
- 145分计算机考研408复习复盘
- 【数据结构】——逆波兰表达式
- linux硬盘异响,完美解决Ubuntu Linux关机异响[SATA硬盘]
- OSS对象存储是什么?
- vijos-伊甸园日历游戏
- 图片文件捆绑教学(仅限制图片与rar)
- GNSS定位系统开发
- java小球挡板游戏_多线程的一个小球游戏,就是以前的那个Pong游戏
- 微信支付SDK的使用
- SpringCloud H版之Eureka学习
- 【Unity3D】点选物体、框选物体、绘制外边框
- 增加字段sql,SQL语句增加列、修改列、删除列
热门文章
- 线性方程组的5种描述方式
- 贺利坚老师汇编课程47笔记:jmp指令无条件转移只修改IP
- 点至直线的距离和垂足点计算
- JVM 之(8)虚拟机监控工具(命令)
- 在你的网站中使用 AdSense广告
- 流程平台:示例流程 - 主机申请审批流程
- System.IO.Directory.Delete 方法的使用
- [转载] python字典更新值_Python–字典元组值更新
- [转载] java clone方法_Java Calendar clone()方法与示例
- [转载] C++ 中的浮点代码优化