mkdir: 无法创建目录"/storage2/news/73949": 结构需要清理 xfs_repair
当出现这种情况可能需要考虑更换硬盘,硬盘已经开始出现损坏(坏道)
//查看硬盘
#df -Th
#umount /dev/sdc1
//尝试卸载硬盘
#umount /dev/sdc1
#umount: /storage2:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
//提示硬盘被占用 , 尝试查看是哪个进程正在占用
//查看占用进程
#fuser -mv /dev/sdc1
用户 进程号 权限 命令
/dev/sdc1: root kernel mount /storage2
nginx 3416 f.... nginx
//杀死进程
#kill -9 3416
#vi /etc/fstab
//再次尝试卸载
#umount /dev/sdc1
//磁盘挂载修复
#xfs_repair /dev/sdc1
#xfs_repair /dev/sdc1
#xfs_repair -L /dev/sdc1 //强制修复(多数这个情况下,这个硬盘命不久矣)
//重启
#reboot
#mount /dev/sdc1 /storage2
xfs_repair所有命令参数
-f 设备为文件类型
-L 强制对数归零。把这作为最后的手段。
-l logdev外部日志所在的设备。
-m maxmem最大内存使用量,以兆为单位。
-n 没有修改模式,只是检查文件系统是否损坏。(不能与-e一起使用。)
检查文件系统是否损坏,如果损坏会列出将要执行的操作
- p 禁用预取。
-r rtdev 实时段所在的设备。
- v 详细的输出。
-c subopts 修改文件系统参数-使用xfs_admin。
-o subopts 覆盖默认行为,请参阅手册页。
-t interval 上报间隔时间。
- d 修理危险。
-e 如果修复了任何错误,则以非零代码退出。(不能与-n一起使用)
-V 报告版本并退出。
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:printthe log of an XFS filesystem
xfs_mkfile:创建一个 XFS 文件
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
使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
完全备份:每次都能把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;
增量备份:每次讲之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;
优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。
缺点:数据恢复相对比较麻烦,它需要上一次全备份和所有增量备份的内容才能够完全恢复成功,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此可能会延长的恢复时间
差异备份:每次都将第一次完整备份以来有变化的文件进行备份;
#xfs_repair -L /dev/sdc1
mount: /storage90: wrong fs type, bad option, bad superblock on /dev/sdc1, missing codepage or helper r error.
#xfs_repair -L /dev/sdc1
Phase 1 - find and verify superblock... 阶段1 -找到并验证超级区块…
Phase 2 - using internal log 阶段2 -使用内部日志
- zero log... 无任何日志
ALERT: The filesystem has valuable metadata changes in a log which is being
destroyed because the -L option was used. 警告:文件系统在日志中有有价值的元数据更改,由于使用了-L选项而被销毁。
- scan filesystem freespace and inode maps...扫描文件系统空间和inode映射…
agf_freeblks 87313114, counted 87313413 in ag 6
agi_freecount 11, counted 17 in ag 6
agi_freecount 11, counted 17 in ag 6 finobt
sb_icount 88240256, counted 88240192
sb_ifree 329, counted 293
sb_fdblocks 620672088, counted 620673220
- found root inode chunk
Phase 3 - for each AG... 扫描文件系统空间和inode映射…
- scan and clear agi unlinked lists... -扫描和清除agi未链接列表…
- process known inodes and perform inode discovery... -处理已知的inode并执行inode发现…
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
correcting imap 纠正imap
correcting imap 纠正imap
correcting imap 纠正imap
correcting imap
correcting imap
correcting imap
correcting imap
correcting imap
correcting imap
correcting imap
correcting imap
- agno = 9
- process newly discovered inodes... -处理新发现的节点…
Phase 4 - check for duplicate blocks... 阶段4 -检查重复的块…
- setting up duplicate extent list... -设置重复区段列表…
- check for inodes claiming duplicate blocks... -检查请求重复块的索引节点…
- agno = 0
- agno = 1
- agno = 2
entry "25" at block 0 offset 480 in directory inode 5787761838 references free inode 14406911791 目录索引号5787761838中块偏移量480处的条目“25”引用了空闲的索引号14406911791
clearing inode number in entry at offset 480... 清除偏移量480处条目中的索引号…
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
Metadata corruption detected at 0x55ffd0daba75, xfs_dir3_block block 0x158fa10f8/0x1000 在0x55ffd0daba75, xfs_dir3_block块0x158fa10f8/0x1000检测到元数据损坏
libxfs_writebufr: write verifer failed on xfs_dir3_block bno 0x158fa10f8/0x1000 Libxfs_writebufr: xfs_dir3_block bno写校验失败0x158fa10f8/0x1000
- agno = 8
- agno = 9
Phase 5 - rebuild AG headers and trees... 阶段5 -重建AG头和树…
- reset superblock... -重置超级块…
Phase 6 - check inode connectivity... 阶段6 -检查索引节点连接…
- resetting contents of realtime bitmap and summary inodes -重置实时位图和汇总索引节点的内容
- traversing filesystem ... -遍历文件系统…