Synology Issues
I ran in to some issues with my Synology over the Christmas period, involving BTRFS and RAID.
I had been running the NAS with an 8TB hard drive for main storage and a 3TB drive aimed at backups. However, I’d noticed a lot of a files deleted a few weeks ago which made me uneasy and then recently I found a corrupt image file on my gaming rig.
I wasn’t sure if this was the fault of the desktop, or the Synology, but when I investigated the Synology, I found that the BTRFS file system I was using to help protect against bit rot wasn’t actually protecting me at all. It turns out (and I missed this at the time of installation), that the Synology requires that the BTRFS file system is run in a RAID configuration to make use of the automatic error checking, something I wasn’t doing.
Therefore, I had to purchase another 8TB hard drive to allow me to run my Synology in SHR1 mode, so that I was benefiting from the automatic file repairs that BTRFS would provide.
As creating a RAID volume would mean formatting my existing drive, I had to back the data up. The easiest solution (and quickest) I thought would be to copy the data I wanted to keep to the 3TB that was in the NAS, and then stick this in an enclosure to then copy back to newly created RAID array.
Preparation
So, that’s what I did in preparation for the move. I copied data on to the 3TB drive before removing it.
I managed to copy everything across that I needed - documents and other items were stored on my other computers, so that wasn’t an issue. When this was done, I simply removed the drive and then installed the new 8TB drive.
Replacing Data
Once the RAID array was built and checked, which took a while2, I put the old 3TB in to my new TR-002 caddy and went to copy the data across by plugging it in to the NAS via USB.
Here’s where the issue started.
The NAS clearly picks up the drive, but says it’s not supported. This seemed a bit ridiculous, as I’d taken it from the Synology and I’d used BTRFS, which the NAS supports.
The specification page for the DS220+ also states that it supports BTRFS on external drives!
Feeling a sinking feeling that I was going to have to get my off site backups to restore from, I thought I’d double check everything from a Linux distro and see what that got me.
Initially I ran in to problems, as I tried it on the Raspberry Pi, and BTRFS isn’t supported by default. After a quick messing about, I ended up downloading Fedora 33 and accessing the drive via a Live boot, as Fedora 33 has BTRFS as the default filesystem - so this should certainly be able to access the drive!
This is where I ran in to issues - the Fedora disk utility clearly shows a RAID array on the 3TB drive!
Considering I’d been using the drive as a single disk, this was a bit of a surprise. After some digging, it seems that Synology doesn’t use the BTRFS RAID, but instead uses software RAID and from the looks of the drive, it appears that it creates a RAID array, even if you just have a single drive. It explains why the drive wasn’t supported as an external drive on the Synology, because it had the RAID array over the top of there BTRFS formatting!
However, thankfully, Fedora was able to mount the drive, even with the RAID and I was then able to copy the data off the drive and back to the NAS, though at greatly reduced speeds (20MB/s, rather than the 110MB/s I’d had copying from the same machine to the NAS when I first got it)
Thankfully, all my data is now present and correct, but I’m still annoyed that I almost had to get the offsite backup, thanks to Synology applying a RAID layer to a drive that wasn’t in an array.
I’m keeping an eye on things, as I’m still wary of BTRFS - after all, my previous EXT4 formatted NAS performed fine and I had no data loss there. I’m only a few months in to the ownership of this one, and some data seems to have been corrupted or deleted (though this may not be the cause of the two issues). BTRFS has been around for a while now, but it still has some horror stories associated. For now though, all my data seems to be safe, but it’s a lesson to keep an external off site backup!