您好,欢迎来到九壹网。
搜索
您的当前位置:首页fsck磁盘修复与xfs_repair磁盘修复

fsck磁盘修复与xfs_repair磁盘修复

来源:九壹网
fsck磁盘修复与xfs_repair磁盘修复

使⽤权限 : 超级使⽤者

使⽤⽅式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options];filesys [...]说明:

参数在Linux系统中,为了增加系统性能,通常系统默认⼀些数据写在内存中,并不会直接将数据写⼊硬盘,这是因为内存速度要⽐硬盘快若⼲倍。但是有个问题,万⼀由于“断电”或者其他未知原因,造成系统死机,怎么办?系统就崩溃了。所以,我们需要在特定的时候让数据直接回存到硬盘中。这⾥提供⼏个常⽤的命令,其中,fsck命令最重要.当⽂件系统发⽣错误时,可⽤fsck命令尝试加以修复.直接采⽤分区编号(如/dev/had3),或使⽤挂载点(Mount Point,如/、/usr等)指定⽂件系统皆可。假设⼀次指定多个⽂件系统,⽽这些系统分别位于不同的物理磁盘上,则fsck将会尝试同步的⽅式去检查他们,以节省操作时间。    

  参数 :  

  filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)

  -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本⾝已⽀援的则不需加上此参数  -s : 依序⼀个⼀个地执⾏ fsck 的指令来检查

  -A : 对/etc/fstab 中所有列出来的 partition 做检查  -C : 显⽰完整的检查进度  -d : 列印 的 debug 结果

  -p : 同时有 -A 条件时,同时有多个 fsck 的检查⼀起执⾏  -R : 同时有 -A 条件时,省略 / 不检查  -V : 详细显⽰模式  

  -a : 如果检查有错则⾃动修复

  -r : 如果检查有错则由使⽤者回答是否修复

补充说明:  

  例⼦ :

  检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便⾃动修复 :   fsck -t msdos -a /dev/hda5  

  注意 :  

  此指令可与 /etc/fstab 相互参考操作来加以了解。

范例:检查/dev/sda3

[root@localhost ~]# fsck -C -t t3 /dev/sda3fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)/dev/sda3 is mount.WARNING Running e2fsck on a mounted filesystem may causeSEVERE filesystem damage.Do you really want to continue (y/n)? yes

/home: recovering journal/home: clean, 11/524288 files, 25399/524120 blocks#⼀切正常就会出现上述信息#主意通常只有ROOT且系统有问题的时候才⽤这个命令,否则在正常状态下使⽤此命令可能会损坏⽂件。 相关知识:

Linux FSCK数据出错的灾难应急⽅案介绍[适⽤于]

1、⽂件系统:ext2 ext3 reiserfs xfs等

2、范围:提⽰⽂件系统需要FSCK时,未执⾏或FSCK执⾏完成 [症状]

1、⽆法MOUNT分区;

2、⼤量⽂件、⽬录丢失,根⽬录下⽣成/LOST+FOUND⽂件夹,⾥⾯有⼤量#XXXXXX类的⽂件和⽬录;3、FSCK很快报错完成;

4、FSCK执⾏时,有⼤量提⽰,如修改节点、清0节点等操作

[应急⽅案]

1、如遇提⽰FSCK时,请⼩⼼。如果可能,请尽快断开系统,UMOUNT所有分区。

2、必需执⾏FSCK时,先做准备⼯作,⽅法⼀:可事先⽤命令将所涉及到的分区输出到另外的存储体上(最好不要在出错的存储体本⾝上做dd) 命令⼤致结构可如: dd if=/dev/sda0 of=/dev/sdb0 .....

3、必需执⾏FSCK时,先做准备⼯作,⽅法⼆:将整个LINUX存储体挂载到虚拟机环境,将LINUX存储体设为Nonpersisten模式,再执⾏,执⾏过后,如果数据完好,应尽快通过FTP等⽅式拷贝出来。

4、必需执⾏FSCK时,先做准备⼯作,⽅法三:将整个LINUX存储体挂载到其他系统上(如WINDOWS),做好镜像后再做FSCK。5、如上⾯⼏种⽅式均因条件等原因⽆法实施,必须执⾏时,可⼩⼼观察FSCK的执⾏提⽰(关掉-a)如果发现有提⽰节点错误需更正或清0、节点描述⽂件⼤⼩不正确等信息,应停⽌执⾏FSCK。

6、因恢复需要参考很多信息,因尽可能保持系统不⼯作状态,⾄少不得再次MOUNT分区(即便不做任何读写操作,也会因系统的⼯作原理不断降低数据恢复的可能性,增加数据恢复的难度)7、寻求专业数据恢复公司帮助。

对磁盘进⾏镜像的⽅案:

1、可⽤相同或⼤于源盘容量的硬盘做为⽬标盘,将源盘全部扇区⽅式CLONE到⽬标盘。

2、可将源盘完全以扇区⽅式输出⽂件到某⼤容量存储空间(如⼤容量硬盘、NAS、SAN、DAS等)

输⼊Root密码登录后采⽤:fsck -t ext3 -r /usr/local 修复

1.现状

⽬前⽹上出现⼤量的主机输⼊输出错误,原因是由于主机⽂件系统损坏。⼀线⼈员⼤部分采⽤的是umont 和 mount的⽅式恢复,这种恢复⽅式不能真正修复已经损坏的⽂件系统,在后续使⽤过程中,仍然会再次出现主机端输⼊输出错误。 2.需要修复的场景

<1>.主机侧发现存在⽂件系统不可读写的情况,也可以通过查看主机端⽇志来确认是否有⽂件系统异常发⽣: xfs_force_shutdown 、I/Oerror 󰀀

<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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务