xfs文件系统修复问题

xfs文件系统修复问题

问题背景

系统版本为kylin-sp1-20200711。
现场断电后无法挂载逻辑卷。此逻辑卷为用户数据盘、挂载提示文件系统超级块;无法修复文件系统,文件系统修复时报错。

问题修复

使用命令xfsrepair -L /dev/磁盘名 进行修复
,发生如下报错。在这里插入图片描述
错误提示:
bad hash table for directory inode 4297253387 points to non-existent inode 38655360025.
xfs_repair: phase6.c:1422: longform_dir2_rebuild: 假设 done 失败。

问题解决

通过查找xfs_repair所属的包为xfsprogs,包版本为4.17.0
在这里插入图片描述
gitee上下载最新版本的xfsprogs
./configure
make
make install
而后 xfs_repair 修复即可
xfs_repair /dev/需修改的盘

网上找的修复命令

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

### 修复XFS文件系统的损坏或错误 XFS是一种高性能的日志文件系统,广泛用于Linux系统中。当XFS文件系统出现元数据损坏时,可能会导致系统无法正常启动或挂载分区。以下是针对XFS文件系统损坏的修复方法。 #### 检查并修复XFS文件系统 1. **初步检查** 使用`xfs_check`命令对设备进行初步检查,以确认是否存在错误。 ```bash xfs_check /dev/sdX ``` 如果返回值为0,则表示文件系统没有发现错误。 2. **模拟修复** 在正式执行修复操作之前,可以使用`xfs_repair -n`命令来模拟修复过程,查看可能的操作列表。 ```bash xfs_repair -n /dev/sdX ``` 3. **执行实际修复** 使用`xfs_repair`命令对文件系统进行实际修复。 ```bash xfs_repair /dev/sdX ``` 如果修复失败,可以尝试使用`-L`选项强制清除日志信息,但这会导致部分数据丢失。 ```bash xfs_repair -L /dev/sdX ``` #### 卸载挂载点并重新挂载 1. **卸载挂载点** 在进行修复之前,需要先卸载相关的挂载点。 ```bash umount /dev/sdb1 /data ``` 如果卸载失败,可以使用`-l`选项进行强制卸载。 ```bash umount -l /data ``` 2. **清理并重新挂载** 修复完成后,可以尝试重新挂载文件系统。 ```bash mount /dev/sdb1 /data ``` 3. **检查修复是否成功** 再次使用`xfs_check`命令检查文件系统的状态。 ```bash xfs_check /dev/sdb1 ``` #### 修改fstab配置并重新挂载 1. **修改/etc/fstab** 编辑`/etc/fstab`文件,确保文件系统在系统启动时能够自动挂载。 ```bash vi /etc/fstab ``` 2. **重新挂载所有未挂载的分区** 使用`mount -a`命令重新挂载`/etc/fstab`中定义的所有未挂载的分区。 ```bash mount -a ``` 3. **验证挂载状态** 使用`mount`命令查看当前挂载的分区,确认文件系统已经成功挂载。 ```bash mount | grep home ``` 通过以上步骤,可以有效地修复XFS文件系统的损坏或错误,并确保系统能够正常运行[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值