January 27Jan 27 Hi everyone, I’ve managed to get myself into a bit of a corner and need expert guidance before I make things worse.The Situation:Original Issue: Disk 6 (18TB Seagate) showed UDMA CRC errors and eventually went disabled. I suspect the LSI HBA or the SFF-8087 cables, as motherboard SATA ports were fine.The Hardware Accident: While replacing cables and waiting for a pre-clear on a new spare, I accidentally bent/broke the SATA connector on Disk 7 (a completely different, healthy drive).The Software Mistake: In an attempt to "fix" the identification of Disk 6, I initiated a New Config. I realized too late that this invalidated my Parity. I have NOT started the array since the New Config.Current Status:Disk 6: Physically fine (likely just a cable/HBA issue), but Unraid sees it as "New" due to making it offline.Disk 7: Physically damaged connector. I cannot plug it in.Parity: Data is intact on the disk, but the "New Config" has unassigned it.Backup: I have a partial backup of Disk 6, but Disk 7 is NOT backed up.My Goal: I need to recover Disk 7’s data using the Parity drive and the (now healthy) Disk 6.Questions:Is there a way to undo the "New Config" via the flash drive files (super.dat) to restore the drive assignments?Since I haven't started the array, can I use "Trust Parity" to re-assign Disk 6 and the Parity drive, and then let Unraid rebuild the missing Disk 7 onto a new spare?What is the safest sequence to ensure I don't trigger a parity sync that wipes my only way to recover Disk 7? Edited January 27Jan 27 by Rinny upload correct screenshot
January 27Jan 27 Community Expert Do you have a disk ready to replace disk7? It must be at least as large as disk7 but not larger than parity.New Config - Retain All - ApplyAssign replacement as disk7, check that all other disks are assigned as before.Check BOTH Parity Valid AND Maintenance mode checkboxes then start the array. This will accept all disks into the array just as they are without mounting anything, so no disk will be changed.Stop the array, unassign disk7, Start the array. This will disable disk7Stop the array, reassign disk7, Start the array to begin rebuild.
January 27Jan 27 Author I have a disk that's larger than parity, but from my understanding, that should be fine. The full capacity wouldn't be used. I plan to get another drive that's just as large for parity once this fiasco is over. Edited January 27Jan 27 by Rinny
January 27Jan 27 Community Expert 1 minute ago, Rinny said:have a disk that's larger than parity, but from my understanding, that should be fine.Your understanding is incorrect
January 27Jan 27 Community Expert Never tried to use parity swap from your situation. It won't let you start the array with a data disk larger than parity.
January 27Jan 27 Author Would I be able to use a 12TB drive? I believe the only 9-10TB was utilized out of the 18TB drive on Disk7.
January 27Jan 27 Community Expert You can't replace with a smaller disk.3 minutes ago, trurl said:Never tried to use parity swap from your situation.And I can't think of any way to get to that place without an actual disk to disable as disk7.
January 27Jan 27 Community Expert Maybe you could clone parity to that larger disk and somehow expand its partition, then you could reuse parity to replace disk7.But I don't have specific instructions for that. Maybe @JorgeB would have some idea, but its way past bedtime in his timezone.
January 27Jan 27 Community Expert 8 minutes ago, Rinny said:only 9-10TB was utilizedParity has no concept of filesystems, it is just a disk full of bits. And every disk is full of bits regardless of how much is used.
January 27Jan 27 Author 4 minutes ago, trurl said:Maybe you could clone parity to that larger disk and somehow expand its partition, then you could reuse parity to replace disk7.But I don't have specific instrutions for that. Maybe @JorgeB would have some idea, but its way past bedtime in his timezone.My server is off at the moment so I can wait. Meanwhile, I'll see if I can get another 18TB drive. I hate this AI bubble!!!
January 27Jan 27 Community Expert Solution Some additions1 hour ago, trurl said:New Config - Retain All - ApplyAssign replacement as disk7, check that all other disks are assigned as before.Check BOTH Parity Valid AND Maintenance mode checkboxes then start the array. This will accept all disks into the array just as they are without mounting anything, so no disk will be changed.Stop the array, unassign disk7, Start the array in Normal (not Maintenance) mode. This will disable disk7Post diagnostics so we can check if emulated disk7 is mountable. Wait before proceeding, may need to repair before rebuilding.Stop the array, reassign disk7, Start the array to begin rebuild.
January 27Jan 27 Community Expert If you have a larger disk, you could clone old parity to that disk using dd, then use the old parity as the new disk7
January 27Jan 27 Author Thanks @JorgeB. I'm nervous as it is, so I think I'll get another drive to reduce the risk. I have a new drive arriving tomorrow. I'll check in then when all hardwares are in place for one final confirmation with the steps @trurl provided.
January 27Jan 27 Community Expert 27 minutes ago, Rinny said:I'm nervous as it isAs a safety measure make sure you have made a backup of the 'config' folder from the flash drive before doing anything. With that available it should be easy enough to revert to the current position if necessary.
January 29Jan 29 Author Friends - I have the new 18TB drive (for Drive 7) and new LSI HBA card (ran a quick SMART test to ensure no UMA CRC errors occurs on Drive 6). @trurl - To confirm the process before I proceed, I started created a new config and retained all. I replaced Disk 7 and checked both Parity Valid and Maintenance. Should I be concerned that the red text saying parity will be wiped is still enabled? Edited January 29Jan 29 by Rinny
January 29Jan 29 Community Expert 1 minute ago, Rinny said:Should I be concerned that the red text saying parity will be wiped is still enabled?No that is normal. It doesn't take into account the Parity valid checkbox as it should.
January 29Jan 29 Author Okay, here goes nothing. I'll post a diagnostic log once steps 3-4 is complete.
January 29Jan 29 Author @trurl here's the diagnostics.unraid-diagnostics-20260128-1625.zip Edited January 29Jan 29 by Rinny
January 29Jan 29 Community Expert Emulated disk7 is unmountable.When disk6 became disabled, it would be emulated while the array was still started, up until you did New Config. Emulated disk6 would have been written to, at least the initial failed write and maybe more. So the array could be out-of-sync with physical disk6, which means it can't accurately emulate disk7.We will have to see if we can repair emulated disk7 filesystem. Maybe it won't be too bad. And very likely the data is still on the platters of original disk7 if it could somehow be repaired.Check filesystem on emulated disk7 and post the results.
January 29Jan 29 Author Just now, trurl said:would be emulated while the array was still@trurl https://pastebin.com/LahcVk1g - result of the check.At the bottom of the Check Filesystem Status, there's an option to fix, but I don't know if it'll break it even more so I'll await your input.i also have a flash backup from 12/29/2025 (before LSI HBA issue on Disk 6) if we need to reload the disk.cfg and other settings. Edited January 29Jan 29 by Rinny
January 29Jan 29 Community Expert Not much else we can do but Fix and see what we get.Go ahead with the fix button. Post the results
January 29Jan 29 Author 29 minutes ago, trurl said:Not much else we can do but Fix and see what we get.Go ahead with the fix button. Post the resultsCheck Filesystem Statusxfs_repair status:Phase 1 - find and verify superblock...Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps...clearing needsrepair flag and regenerating metadatasb_icount 109504, counted 32sb_ifree 295, counted 29sb_fdblocks 1768782218, counted 4394060169 - found root inode chunkPhase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 11 - agno = 12 - agno = 13 - agno = 14 - agno = 15 - agno = 16 - 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 = 1 - agno = 3 - agno = 11 - agno = 5 - agno = 7 - agno = 8 - agno = 9 - agno = 10 - agno = 12 - agno = 13 - agno = 15 - agno = 14 - agno = 4 - agno = 16 - agno = 6Phase 5 - rebuild AG headers and trees... - reset superblock...Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ...Phase 7 - verify and correct link counts...SB summary counter sanity check failedMetadata corruption detected at 0x49d6d5, xfs_sb block 0x0/0x200libxfs_bwrite: write verifier failed on xfs_sb bno 0x0/0x1SB summary counter sanity check failedMetadata corruption detected at 0x49d6d5, xfs_sb block 0x0/0x200libxfs_bwrite: write verifier failed on xfs_sb bno 0x0/0x1xfs_repair: Releasing dirty buffer to free list!xfs_repair: Refusing to write a corrupt buffer to the data device!xfs_repair: Lost a write to the data device!fatal error -- File system metadata writeout failed, err=117. Re-run xfs_repair. File system corruption detected.
January 29Jan 29 Author 11 minutes ago, trurl said:Post new diagnosticsHere it is. unraid-diagnostics-20260128-1834.zip
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.