HFS+ Filesystem Repeatedly Corrupting

0

I have a 5TB external HDD that I've been using for about 2 years reliably. I primarily use it attached to either a raspberry pi or Synology NAS.

Recently I've noticed a lot of corrupt files and when running fsck.hfsplus -f I get a whole host of issues (not the same issues every time either). Usually fsck will repair the disk, but occasionally fsck will fail and I will have to run DiskWarrior on it and rebuild the catalogue. The corruption seems to happen very shortly after repairing the drive and seems to be somehow related to write processes (when I leave the drive alone without writing it take a lot longer to break).

Is this drive toast? I ran an extended SMART check on it and it came back completely fine. Should I try dding a copy of this disk to another drive, wiping the drive completely and dding it back? Any help is appreciated!

Here is an example of one fsck output for reference:

user@Synology:~$ sudo fsck.hfsplus -f -r -d /dev/sdq2
** /dev/sdq2
        Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
** Rebuilding Catalog B-tree.
hfs_UNswap_BTNode: invalid node height (1)
** Rechecking volume.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Incorrect number of thread records
(4, 192)
        CheckCatalogBTree: dirCount = 14061, dirThread = 14060
** Checking multi-linked files.
** Checking Catalog hierarchy.
   Invalid volume directory count
   (It should be 14061 instead of 14060)
   Invalid volume file count
   (It should be 119446 instead of 119432)
** Checking Extended Attributes file.
** Checking volume bitmap.
** Checking volume information.
   Verify Status: VIStat = 0x0000, ABTStat = 0x0000 EBTStat = 0x0000
                  CBTStat = 0x0800 CatStat = 0x4000
** Repairing volume.
        FixOrphanedFiles: parentID for id=3084879 do not match (fileKey=3084476 threadRecord=3084895)
        FixOrphanedFiles: nodeName for id=3084879 do not match
        FixOrphanedFiles: Created thread record for id=3084879 (err=0)
        FixOrphanedFiles: parentID for id=3084879 do not match (fileKey=3084895 threadRecord=3084476)
        FixOrphanedFiles: nodeName for id=3084879 do not match
        FixOrphanedFiles: Created thread record for id=3084879 (err=0)
** Rechecking volume.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Incorrect number of thread records
(4, 192)
        CheckCatalogBTree: dirCount = 14061, dirThread = 14060
** Checking multi-linked files.
** Checking Catalog hierarchy.
   Invalid volume directory count
   (It should be 14061 instead of 14060)
   Invalid volume file count
   (It should be 119446 instead of 119432)
** Checking Extended Attributes file.
** Checking volume bitmap.
** Checking volume information.
   Verify Status: VIStat = 0x0000, ABTStat = 0x0000 EBTStat = 0x0000
                  CBTStat = 0x0800 CatStat = 0x4000
** Repairing volume.
        FixOrphanedFiles: parentID for id=3084879 do not match (fileKey=3084476 threadRecord=3084895)
        FixOrphanedFiles: nodeName for id=3084879 do not match
        FixOrphanedFiles: Created thread record for id=3084879 (err=0)
        FixOrphanedFiles: parentID for id=3084879 do not match (fileKey=3084895 threadRecord=3084476)
        FixOrphanedFiles: nodeName for id=3084879 do not match
        FixOrphanedFiles: Created thread record for id=3084879 (err=0)
** Rechecking volume.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Incorrect number of thread records
(4, 192)
        CheckCatalogBTree: dirCount = 14061, dirThread = 14060
** Checking multi-linked files.
** Checking Catalog hierarchy.
   Invalid volume directory count
   (It should be 14061 instead of 14060)
   Invalid volume file count
   (It should be 119446 instead of 119432)
** Checking Extended Attributes file.
** Checking volume bitmap.
** Checking volume information.
   Verify Status: VIStat = 0x0000, ABTStat = 0x0000 EBTStat = 0x0000
                  CBTStat = 0x0800 CatStat = 0x4000
** The volume Media could not be repaired after 3 attempts.
        volume type is pure HFS+ 
        primary MDB is at block 0 0x00 
        alternate MDB is at block 0 0x00 
        primary VHB is at block 2 0x02 
        alternate VHB is at block 9766869342 0x24626995e 
        sector size = 512 0x200 
        VolumeObject flags = 0x07 
        total sectors for volume = 9766869344 0x246269960 
        total sectors for embedded volume = 0 0x00 
user@Synology:~$ 

StephenG

Posted 2019-12-05T21:46:19.977

Reputation: 1

Check the cable. – Señor CMasMas – 2019-12-05T21:48:30.793

"I ran an extended SMART check on it and it came back completely fine." - Better make a backup before it will be not fine. – zx485 – 2019-12-05T21:53:28.423

@zx485 Yup already made an exact copy – StephenG – 2019-12-05T21:58:17.710

No answers