goinsnoopin Posted March 2, 2016 Share Posted March 2, 2016 Good afternoon, I rebooted my server this afternoon, and after it came up, I decided to create a user share called "UnbalanceTest". I went through the usual steps of creating the share, noticed that it was visible in the webgui and then went on to start my VM. Unraid gave the warning that my image file was missing...so I went to main and noticed that my cache drive was unassigned. I have had the issue in the past where assigning drives in chrome resulted in the changes not being saved, so I opened firefox, stopped the array and assigned the cache drive, I then noticed that my user shares were missing. I started and stopped several times to see if they would be read from the disks and return and they did not...so I telneted into the console and browsed to the /mnt/user share and typed ls and I got an error saying that the file structure needs cleaning. So, I shut unraid down, pulled the flash drive and did a chkdsk and no errors were found. I then restarted and looked at the syslog and see the errors regarding corruption on disk5. I am attaching the first syslog (don't have full diagnostics..I am thankful for the syslog generated by powerdown). I also browsed to disk5 and typed ls -al and I can see a folder named "Unbalanc" in red letters (please note that this does not match my first sentence in this post)...there was also a second folder named "Unbalanc\033\004\210\377\377 Any suggestions on how to proceed? Thanks, Dan Added screenshot of ls -al of disk5 syslog-20160302-131748.zip Quote Link to comment
JorgeB Posted March 2, 2016 Share Posted March 2, 2016 https://lime-technology.com/wiki/index.php/Check_Disk_Filesystems#Drives_formatted_with_XFS You need to check disk5 (md5). Quote Link to comment
goinsnoopin Posted March 2, 2016 Author Share Posted March 2, 2016 I checked disk5. Phase 1 - find and verify superblock... Phase 2 - using internal log - scan filesystem freespace and inode maps... sb_icount 132992, counted 132480 sb_ifree 808, counted 293 sb_fdblocks 385972351, counted 385965893 - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 entry " " in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 entry contains offset out of order in shortform dir 96 would have junked entry "" in directory inode 96 entry "I?-?" in shortform directory 96 references invalid inode 4294967295 would have junked entry "I?-?" in directory inode 96 entry " lost+fo" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 would have junked entry "lost+fo" in directory inode 96 entry contains illegal character in shortform dir 96 would have junked entry "Reco" in directory inode 96 entry " Sage" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 would have junked entry "Sage" in directory inode 96 entry contains illegal character in shortform dir 96 would have junked entry "UnbalanceT" in directory inode 96 entry " Unbalanc" in shortform directory 96 references invalid inode 0 entry #15 extends past end of dir in shortform dir 96, would junk 1 entries would have corrected entry count in directory 96 from 16 to 15 would have corrected directory 96 size from 256 to 245 would have corrected entry offsets in directory 96 - agno = 1 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 4 entry " " in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 entry contains offset out of order in shortform dir 96 - agno = 3 - agno = 7 would have junked entry "" in directory inode 96 entry "I?-?" in shortform directory 96 references invalid inode 4294967295 would have junked entry "I?-?" in directory inode 96 entry "S???H" in shortform directory 96 references non-existent inode 1712259720 would have junked entry "S???H" in directory inode 96 - agno = 6 - agno = 2 entry " lost+fo" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 would have junked entry "lost+fo" in directory inode 96 entry " Reco" in shortform directory 96 references non-existent inode 2412055105 entry contains illegal character in shortform dir 96 would have junked entry "Reco" in directory inode 96 entry " Sage" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 would have junked entry "Sage" in directory inode 96 entry " UnbalanceT" in shortform directory 96 references non-existent inode 3502158298 entry contains illegal character in shortform dir 96 would have junked entry "UnbalanceT" in directory inode 96 entry "??" in shortform directory 96 references non-existent inode 76087295 would have junked entry "??" in directory inode 96 entry "Unbalanc" in shortform directory 96 references non-existent inode 443107844 would have junked entry "Unbalanc" in directory inode 96 entry " Unbalanc" in shortform directory 96 references invalid inode 0 entry #15 extends past end of dir in shortform dir 96, would junk 1 entries would have corrected entry count in directory 96 from 16 to 15 would have corrected directory 96 size from 256 to 245 would have corrected entry offsets in directory 96 - agno = 5 - agno = 8 - agno = 9 - agno = 10 - agno = 11 No modify flag set, skipping phase 5 Phase 6 - check inode connectivity... - traversing filesystem ... entry "S???H" in shortform directory 96 references non-existent inode 1712259720 would junk entry entry "Reco" in shortform directory 96 references non-existent inode 2412055105 would junk entry entry "UnbalanceT" in shortform directory 96 references non-existent inode 3502158298 would junk entry entry "??" in shortform directory 96 references non-existent inode 76087295 would junk entry entry "Unbalanc" in shortform directory 96 references non-existent inode 443107844 would junk entry entry "Unbalanc?h" in shortform directory 96 references non-existent inode 12545 would junk entry - traversal finished ... - moving disconnected inodes to lost+found ... disconnected inode 99, would move to lost+found disconnected dir inode 145256087, would move to lost+found disconnected dir inode 145256088, would move to lost+found disconnected dir inode 706744427, would move to lost+found disconnected dir inode 1074723220, would move to lost+found disconnected dir inode 1682641380, would move to lost+found disconnected dir inode 2228257969, would move to lost+found disconnected dir inode 2684472622, would move to lost+found disconnected dir inode 2684472624, would move to lost+found disconnected dir inode 3758146963, would move to lost+found Phase 7 - verify link counts... would have reset inode 96 nlinks from 17 to 8 No modify flag set, skipping filesystem flush and exiting. Quote Link to comment
John_M Posted March 2, 2016 Share Posted March 2, 2016 You don't say what command you actually ran. It checked the filesystem and says what it would have done to fix it, so you need to run it again with the appropriate flag set to allow it to effect the repairs. Quote Link to comment
goinsnoopin Posted March 2, 2016 Author Share Posted March 2, 2016 I ran with the -v option. Here is the output of the actual repair: Phase 1 - find and verify superblock... - block cache size set to 1466696 entries Phase 2 - using internal log - zero log... zero_log: head block 320199 tail block 320199 - scan filesystem freespace and inode maps... sb_icount 132992, counted 132480 sb_ifree 808, counted 293 sb_fdblocks 385972351, counted 385965893 - 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 " " in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 entry contains offset out of order in shortform dir 96 junking entry "" in directory inode 96 entry "I?-?" in shortform directory 96 references invalid inode 4294967295 junking entry "I?-?" in directory inode 96 entry " lost+fo" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 junking entry "lost+fo" in directory inode 96 entry contains illegal character in shortform dir 96 junking entry "Reco" in directory inode 96 entry " Sage" in shortform directory 96 references invalid inode 0 entry contains illegal character in shortform dir 96 junking entry "Sage" in directory inode 96 entry contains illegal character in shortform dir 96 junking entry "UnbalanceT" in directory inode 96 entry " Unbalanc" in shortform directory 96 references invalid inode 0 entry #9 extends past end of dir in shortform dir 96, junking 1 entries corrected entry count in directory 96, was 10, now 9 corrected directory 96 size, was 164, now 153 corrected entry offsets in directory 96 - agno = 1 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 2 - agno = 3 - agno = 6 - agno = 5 entry "S???H" in shortform directory 96 references non-existent inode 1712259720 junking entry "S???H" in directory inode 96 entry "??" in shortform directory 96 references non-existent inode 76087295 junking entry "??" in directory inode 96 entry "Unbalanc" in shortform directory 96 references non-existent inode 443107844 junking entry "Unbalanc" in directory inode 96 - agno = 4 - agno = 1 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 Phase 5 - rebuild AG headers and trees... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 - traversal finished ... - moving disconnected inodes to lost+found ... disconnected inode 99, moving to lost+found disconnected dir inode 145256087, moving to lost+found disconnected dir inode 145256088, moving to lost+found disconnected dir inode 706744427, moving to lost+found disconnected dir inode 1074723220, moving to lost+found disconnected dir inode 1682641380, moving to lost+found disconnected dir inode 2228257969, moving to lost+found disconnected dir inode 2684472622, moving to lost+found disconnected dir inode 2684472624, moving to lost+found disconnected dir inode 3758146963, moving to lost+found Phase 7 - verify and correct link counts... resetting inode 96 nlinks from 18 to 9 resetting inode 145256089 nlinks from 2 to 11 XFS_REPAIR Summary Wed Mar 2 18:01:26 2016 Phase Start End Duration Phase 1: 03/02 18:00:46 03/02 18:00:53 7 seconds Phase 2: 03/02 18:00:53 03/02 18:01:13 20 seconds Phase 3: 03/02 18:01:13 03/02 18:01:23 10 seconds Phase 4: 03/02 18:01:23 03/02 18:01:23 Phase 5: 03/02 18:01:23 03/02 18:01:23 Phase 6: 03/02 18:01:23 03/02 18:01:23 Phase 7: 03/02 18:01:23 03/02 18:01:23 Total run time: 37 seconds done Once the repair completed I stopped the array and restarted it normally (i.e. not in maint mode). User Shares returned and it looks like I am allset. Coincidentally, in the lost+found directory all the missing files from running unbalance to move files from disk7 (now removed from my system) to disk5 are all here. So there must have been some corruption issue on disk 5 that caused issues with unbalance. Thanks to all that helped! Dan Quote Link to comment
John_M Posted March 3, 2016 Share Posted March 3, 2016 It's reassuring to hear that the recovery process was so painless. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.