0

0

mdadm RAID1 同步过程中掉电导致 superblock 不一致的修复步骤

冷漠man

冷漠man

发布时间:2026-01-20 04:59:26

|

183人浏览过

|

来源于php中文网

原创

RAID1 superblock不一致需先用mdadm -E检查各盘事件计数,再强制组装可信盘,接着清除问题盘superblock并重新加入重建,最后更新initramfs和mdadm.conf确保启动正常。

mdadm raid1 同步过程中掉电导致 superblock 不一致的修复步骤

掉电导致 RAID1 的 superblock 不一致,本质是两块成员盘的元数据(如事件计数、同步状态、UUID)出现偏差,系统无法确认哪份更可信。修复核心不是“恢复数据”,而是让 mdadm 重新识别并信任其中一块盘,再重建另一块。

确认当前状态和问题根源

先检查阵列是否能识别,以及哪块盘缺失或损坏的 superblock:

  • 运行 mdadm -E /dev/sdX1 分别检查每块成员盘(如 /dev/sda1/dev/sdb1),看是否提示 "No md superblock detected" 或显示不一致的 Events
  • 执行 cat /proc/mdstat,观察阵列是否为 inactivedegraded,是否有 [U_][_U] 标识
  • mdadm --examine --scan 查看系统能否自动发现阵列 UUID 和设备映射

强制使用可信盘组装阵列

若其中一块盘的 superblock 完整且 Events 值更高(说明它最后写入更接近完成状态),可优先信任它:

ToonMe
ToonMe

一款风靡Instagram的软件,一键生成卡通头像

下载
  • 停止所有活动阵列:mdadm -Ss
  • 用可信盘强制组装:mdadm --assemble --force /dev/md0 /dev/sda1(仅指定一块盘)
  • 验证是否成功:mdadm -D /dev/md0 应显示 State : clean, degraded 且只有 1 个 Active Device
  • 若报错 “device busy”,先卸载相关文件系统并停止使用该 md 设备

修复另一块盘的 superblock 并重新加入

对缺失 superblock 或事件落后的那块盘,需重写元数据使其与当前阵列对齐:

  • 清除旧 superblock(谨慎操作):mdadm --zero-superblock /dev/sdb1
  • 将该盘作为新成员加入:mdadm /dev/md0 -a /dev/sdb1
  • 立即触发重建:echo repair > /sys/block/md0/md/trigger 或等待自动开始
  • 监控进度:watch cat /proc/mdstat,看到 [===>........]recovery 即表示同步已启动

关键收尾:引导与持久化

RAID1 同步完成后,还需确保系统能正常启动和下次开机自动加载:

  • 更新 initramfs,让内核启动时识别 RAID:dracut -f(CentOS/RHEL)或 update-initramfs -u(Debian/Ubuntu)
  • 确认 /etc/mdadm.conf 包含有效 ARRAY 行,例如:
    ARRAY /dev/md0 metadata=1.2 name=host:0 UUID=xxxxxx
  • 若根文件系统在 RAID 上,务必复制 MBR/引导扇区:dd if=/dev/sda of=/dev/sdb bs=512 count=1(避免换盘后无法启动)

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

751

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2023.11.20

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

805

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

412

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

657

2023.12.28

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

452

2024.09.05

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

105

2025.12.13

centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

431

2023.06.16

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

0

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号