我的 1 TB XFS LVM 逻辑卷出现了问题。该逻辑卷以前驻留在一个物理卷上,该卷出现了 IO 错误,因此我使用“pvmove”迁移到新磁盘。迁移后,我能够读取和写入该卷,但开始看到“结构需要清理”错误。因此,我决定卸载该卷并运行 xfs_repair。
首先是以下消息(我用“<snipped>”替换了一些经常重复的冗余消息,以减少文本量):
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
entry "/rca.orca_gui_find.indexcache.2012-11-13T22:29:05-05:00.snapshot.gz" at block 147
clearing inode number in entry at offset 2912...
entry at block 147 offset 2912 in directory inode 1893017 has illegal name "/rca.orca_gui
<snipped>
entry at block 0 offset 1616 in directory inode 3728154 has illegal name "/andler.html.zh
cleared inode 3728972
imap claims a free inode 3729023 is in use, correcting imap and clearing inode
cleared inode 3729023
<snipped>
bad magic number 0x0 on inode 3729024
bad version number 0x0 on inode 3729024
<snipped>
entry "/gi.html.en" at block 0 offset 696 in directory inode 3729503 references invalid i
clearing inode number in entry at offset 968...
<snipped>
entry at block 0 offset 968 in directory inode 3729503 has illegal name "/taccess.html":
will junk block
no . entry for directory 3996998
no .. entry for directory 3996998
problem with directory contents in inode 3996998
cleared inode 3996998
bad directory block magic # 0 in block 0 for directory inode 3997000
<snipped>
agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
bad directory block magic # 0 in block 0 for directory inode 4003024
corrupt block 0 in directory inode 4003024
will junk block
no . entry for directory 4003024
no .. entry for directory 4003024
entry "Authoring.pod" at block 0 offset 160 in directory inode 14276983 references free i
clearing inode number in entry at offset 160...
entry "Base.pm" at block 0 offset 216 in directory inode 14276983 references free inode 3
<snipped>
- agno = 1
entry "wireless" at block 0 offset 688 in directory inode 2207138636 references free inod
clearing inode number in entry at offset 688...
entry "xfrm" at block 0 offset 728 in directory inode 2207138636 references free inode 39
clearing inode number in entry at offset 728...
entry "seq" at block 0 offset 64 in directory inode 2207276722 references free inode 4001
clearing inode number in entry at offset 64...
- agno = 2
- agno = 3
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
从昨天开始,xfs_repair 就不再向屏幕输出任何新内容。我用 strace 检查了一下,但没有看到任何活动。xfs_repair 进程仍然存在于进程表中,并且正在消耗内存,但不消耗 CPU。
那么它正在做什么吗?我应该让它运行还是终止该过程?我是否可以使用现有文件系统,还是需要从一个新的、干净的 XFS 卷开始?
答案1
我认为我应该停止该过程,重新启动机器,看看“修复”的段是否可以安装……如果可以,则没有问题。如果不可以,则可以重新启动该过程。
您尝试转换的分区到底有多大?