https://bbs.qunyingkeji.com/2052/

1.现状

目前网上出现大量的主机输入输出错误,原因是由于主机文件系统损坏。一线人员大部分采用的是umont 和 mount的方式恢复,这种恢复方式不能真正修复已经损坏的文件系统,在后续使用过程中,仍然会再次出现主机端输入输出错误。

2.需要修复的场景

<1>.主机侧发现存在文件系统不可读写的情况,也可以通过查看主机端日志来确认是否有文件系统异常发生: xfs_force_shutdown 、I/O error 
<2>.出现异常停电,供电恢复正常,主机和阵列系统重起之后 
<3>.存储介质故障:出现LUN失效、RAID失效、以及IO超时或者出现慢盘,对慢盘进行更换,系统恢复正常之后 
<4>.传输介质故障:如光纤、网线等损坏等,数据传输链路断开后又恢复正常之后

3.检查文件系统

注:检查文件系统必须保证将文件系统umount成功。 
在根目录下输入“xfs_check /dev/sdd(盘符);echo $?”(注意:在执行 此命令之前,必须将文件系统umount,否则会出现警告信 “xfs_check: /dev/sdd contains a mounted and writable filesystem ”)敲回车键,查看命令执行返回值:0表示正常,其他为不正常,说明文件系统 损坏,需要修复。

4.修复过程

注:修复时需要暂停主机侧的业务,umount 和 mount 无法修复文件系统 。 
1) 先umount要修复的文件系统的分区 
3) 然后输入 “xfs_repair /dev/sdd(盘符)”执行修复命令。 
xfs_check /dev/sdd; echo $? 
A)如果为0===》成功修复。 
B) 如果不为0===》没有成功:请执行xfs_repair –L /dev/sdd命令,再执 行xfs_repair(反复多修复几次)

5.xfs常用命令

xfs_admin: 调整 xfs 文件系统的各种参数 
xfs_copy: 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式) 
xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等) 
xfs_check: 检测 xfs 文件系统的完整性 
xfs_bmap: 查看一个文件的块映射 
xfs_repair: 尝试修复受损的 xfs 文件系统 
xfs_fsr: 碎片整理 
xfs_quota: 管理 xfs 文件系统的磁盘配额 
xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中 
xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统 
xfs_growfs: 调整一个 xfs 文件系统大小(只能扩展) 
xfs_logprint: print the log of an XFS filesystem 
xfs_mkfile: create an XFS file 
xfs_info: expand an XFS filesystem 
xfs_ncheck: generate pathnames from i-numbers for XFS 
xfs_rtcp: XFS realtime copy command 
xfs_freeze: suspend access to an XFS filesystem 
xfs_io: debug the I/O path of an XFS filesystem

6.具体应用

查看文件块状况: xfs_bmap -v sarubackup.tar.bz2

查看磁盘碎片状况: xfs_db -c frag -r /dev/sda1

文件碎片整理: xfs_fsr sarubackup.tar.bz2

磁盘碎片整理: xfs_fsr /dev/sda1

首先尝试mount和umount文件系统,以便重放日志,修复文件系统,如果不行,再进行如下操作。

1、检查文件系统:

先确保umount
xfs_check /dev/sdd(盘符); echo $? 
返回0表示正常

2、执行xfs_repair -n

检查文件系统是否损坏,如何损坏会列出将要执行的操作
如果幸运的话,会发现没有问题,你可以跳过后续的操作。
该命令将表明会做出什么修改,一般情况下速度很快,即便数据量很大,没理由跳过。

3、执行xfs_repair修复文件系统

xfs_repair /dev/sdd (ext系列工具为fsck)

4、最后方法

损失部分数据的修复方法

根据打印消息,修复失败时:
先执行xfs_repair -L /dev/sdd(清空日志,会丢失文件),再执行xfs_repair /dev/sdd,再执行xfs_check /dev/sdd 检查文件系统是否修复成功。

说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。

备注:

在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。
xfs_metadump为调试工具,可以不管,跳过。

[转帖]xfs_repair命令详解的更多相关文章

  1. [转帖]xargs命令详解,xargs与管道的区别

    xargs命令详解,xargs与管道的区别 https://www.cnblogs.com/wangqiguo/p/6464234.html 之前一直说要学习一下 xargs 到现在为止也没学习.. ...

  2. [转帖]dd命令详解

    dd命令详解 https://czmmiao.iteye.com/blog/1748748 之前一直对linux的命令很恐惧 现在发现 其实不是那么复杂 要仔细学习就可以了 比如 dd = disk ...

  3. [转帖]pidstat 命令详解

    pidstat 命令详解 https://www.jianshu.com/p/3991c0dba094 pidstat -r -u -d -p 各种参数非常好用. pidstat 概述 pidstat ...

  4. [转帖]ps 命令详解

    ps 命令详解 https://www.jianshu.com/p/cba22cce2f97 ps 概述 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那 ...

  5. [转帖]iostat 命令详解

    iostat 命令详解 https://www.jianshu.com/p/5fed8be1b6e8 概述 iostat 主要用于输出磁盘IO 和 CPU的统计信息. iostat属于sysstat软 ...

  6. [转帖]Linux的wget命令详解

    Linux的wget命令详解 来源不明 找到的也是转帖的 https://www.cnblogs.com/cindy-cindy/p/6847502.html Linux wget是一个下载文件的工具 ...

  7. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  8. [转帖]Linux:cut命令详解

    Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...

  9. [转帖]Linux chattr 命令详解

    Linux chattr 命令详解 https://www.cnblogs.com/ftl1012/p/chattr.html 常见命令参数 1 2 3 4 5 6 7 8 9 10 11 12 A: ...

  10. 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解

    linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...

随机推荐

  1. 实战案例丨GaussDB for DWS如何识别坏味道的SQL

    摘要:SQL中的坏味道,你知道吗? SQL语言是关系型数据库(RDB)的标准语言,其作用是将使用者的意图翻译成数据库能够理解的语言来执行.人类之间进行交流时,同样的意思用不同的措辞会产生不同的效果. ...

  2. 云小课|创建DDS只读节点,轻松应对业务高峰

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:为了扩展主节点的读 ...

  3. openGauss内核分析:SQL by pass & 经典执行器

    摘要:执行引擎一般负责查询的执行,执行引擎在SQL执行栈中起到接收优化器生成的执行计划Plan.并对通过存储引擎提供的数据读写接口,实现对数据进行计算得到查询的结果集. 本文分享自华为云社区<o ...

  4. 没想到,学棋五年的我竟然输给了昇腾CANN!

    摘要:整整两天,上百场对弈,TA竟然未尝一败,真是让人拍案叫绝. 近日,一位神秘"人物"亮相华为昇腾CANN技术开放日现场,引得众人簇拥,吸粉无数.从现场AI棋艺大战的画面中我们可 ...

  5. COG云原生优化遥感影像,瓦片切分的最佳实践

    摘要:云上遥感影像文件Cloud optimized GeoTIFF(COG)格式的详细介绍,大量数据上云面临的挑战,并分享了获得云原生影像最佳性能的实践经验. 本文分享自华为云社区<COG云原 ...

  6. vue2升级vue3:provide与inject 使用注意事项

    provide / inject 类似于消息的订阅和发布.provide 提供或发送数据, inject 接收数据. VUE provide 和 inject 使用场景 当我们需要从父组件向子组件传递 ...

  7. 从java注解漫谈到typescript装饰器——注解与装饰器

    之前整理过<Java注解(批注)的基本原理>,在java里面,,注解(Annotation)是油盐,对于JavaScript来说,还中世纪欧洲的东方香料 装饰器和注解 装饰器和注解之前也搞 ...

  8. 火山引擎 ByteHouse:两个关键技术,揭秘 OLAP 引擎中的数据导入技术

      更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据导入是衡量 OLAP 引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率. ...

  9. compilation.templatesPlugin is not a function

    ERROR Failed to compile with 1 error TypeError: compilation.templatesPlugin is not a function - SetV ...

  10. NSSCTF Round#13 web专项

    rank:3 flask?jwt? 简单的注册个账号,在/changePassword 下查看页面源代码发现密钥<!-- secretkey: th3f1askisfunny --> ,很 ...