成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器

简介:
[摘要]
    新网( [url]http://www.xinnet.com[/url]),企业邮件服务器,存储于146G×6 RAID5中,有上百万企业用户的邮件,数据区,只分一个区,文件系统为REISERFS,正常工作中,RAID突然OFFLINE,管理员到机房检查时,发现有两块盘报警,将其中一块强制上线后发现卷无法MOUNT,于是强行FSCK 并REBULD TREE,历时4天,完成后仍无法MOUNT。无奈之下,向数据恢复公司求救,大多数公司无法提供可行的解决方案。新网在多方比较及评估后,选择让我们完成。
[分析]
    这种RAID的问题事实上是很常见的,通常是因为亮灯的两块盘并不是同时掉线,而恰巧的是,强制上线了早离线的硬盘,导致数据区新鲜的和陈旧的混在一起,文件系统结构不一致。本身强制上线后,会在读写过程中生成新的检验条带,所以会影响一部分数据,但如果读写不多或根本无法MOUNT的话,这种灾难的严重性将会小得多,此例中最为严重的问题在于REBUILD TREE,相当于试图将一个混杂的文件系统连续化。这样的结果将会导致文件系统的所有结构体全面出错,通常这是无法挽救的。加上用户的文件目录结构非常复杂,文件总数粗略估计上亿,更是机会渺茫。
[解决方案]
    1、应试图将文件系统结构区单独提出来进行分析,这样工作量会小很多,也给反复查找分析提供了可能。但REISERFS的文件系统区相对较散且无规律,需通过自主程序进行提取及分析,此例中,光1级节点提出的大小达6G之大,文件结构可谓复杂。(用户也是因EXT3面对这样的结构崩溃才选用REISERFS的,可见其结构复杂程度)
    2、对文件系统区进行一致性检验,相当于手工FSCK,修正错误地方,此例中,好多文件系统节点区都因检验关系,使关键属性字节发生了改变。通过程序将所有节点状态统一初始化,完成节点一致性处理
    3、完成上述两步后有两种做法,一是在LINUX系统下再次FSCK,此例效果不好,(因LINUX FSCK的功能有限,在父节点稍有错误,其子节点便会全部打入LOST+FOUND里,无法还原原本的目录结构),二是通过只读方式,用自主程序在WINDOWS下提取数据,需忽略许多错误,修改程序后,使用此法,所有数据已可提取。
[后记]
    最近这种两块硬盘离线,不知道哪块先离、哪块后离的例子很多。希望RAID用户可以在两块硬盘离线后谨慎对待,如果可以查到日志,通过日志确定为好。如果强制上线出错,应马上停止操作,切不可做FSCK等操作。
    另外,老生常谈的事,LINUX的FSCK风险很大(实际WINDOWS也会有),做之前请尽量看清提示,如果出错信息异常,应选择其他途径。




本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/33743,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
8月前
|
安全 Java Linux
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
255 0
|
5月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
953 21
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
526 13
|
4月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1328 0
|
4月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
391 0
|
6月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
365 24
|
6月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
5月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
271 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
7月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
600 28