Upgrading the Storage Pool, Drives, and File System in a Synology to Btrfs
I recently moved my home NAS over from a Synology DS1511 that I got in May of 2011 to a DS1520 that just came out.
I have blogged about the joy of having a home server over these last nearly 10 years in a number of posts.
- I setup a home backup strategy without the cloud
- I later added CrashPlan Cloud Backup and still use it.
- A few years back I set up VPN on my Synology as well an internal Git Server and a Minecraft Server for the kids
- I also setup Plex for home movie storage
- You can also run Docker images with things like Pi-Hole ad blocking
That migration to the new Synology is complete, and I used the existing 2TB Seagate drives from before. These were Seagate 2TB Barracudas which are quite affordable. They aren't NAS rated though, and I'm starting to generate a LOT of video since working from home. I've also recently setup Synology Active Backup on the machines in the house, so everyone's system is imaged weekly, plus I've got our G-Suite accounts backed up locally.
REFERRAL LINKS: I use Amazon links in posts like this. When you use them, you're supporting this blog, my writing, and helping pay for hosting. Thanks!
I wanted to get reliable large drives that are also NAS-rated (vibration and duty cycle) and the sweet spot right for LARGE drives now is a 10TB Seagate IronWolf NAS drive. You can also get 4TB drives for under $100! I'm "running a business" here so I'm going to deduct these drives and make the investment so I got 4 drives. I could have also got two 18TBs, or three 12TBs to similar effect. These drives will be added to the pool and become a RAID'ed roughly 21TB.
My Synology was running the ext4 file system on Volume1, so the process to migrate two all new drives and an all new file system was very manual, but very possible:
- Use a spare slot and add one drive.
- I had a hot spare in my 5 drive NAS so I removed it to make a spare slot. At this point I have my 4x2TB and 1x10TB in slots.
- Make a new Storage Pool on the one drive
- Make a new Volume with the newer Btrfs file system to get snapshots, self-healing, and better mirroring.
- Copy everything from Volume1 to Volume2.
- I copied from my /volume1 to /volume2. I made all new shares that were "Videos2" and "Software2" with the intention to rename them to be the primaries later.
- Remove Volume1 by removing a drive at a time until the Synology decides it's "failed" and can be totally forgotten.
- As I removed a 2TB drive, I replace it with a 10TB and expanded the new Storage Pool and the Volume2. These expansions take time as there's a complete consistency check.
- Repeat this step for each drive.
- You can either leave a single drive as Volume1 and keep your Synology Applications on them, or you can
- SSH in and move packages manually between Volumes
- Use a 3rd party Package Manager app called the MODS Package Mover.
- Both of these has some risk. I did have to reinstall a few packages from scratch, including the Synology "Moments" photo manager.
- When I've removed the final Storage Pool (as seen in the pic below) and my apps are either reinstalled on Volume 2 or I've moved them, I renamed all my shares from "Software2" etc to Software, removing the appended "2."
The wholes process took a few days with checkpoints in between. Be ready to have a plan, go slow, and execute on that plan, checking in as the file system consistency checks itself.
To be clear, another way would have been to copy EVERYTHING off to a single external drive, torch the whole Synology install, install the new drives, and copy back to the new install. There would have been a momentary risk there, with the single external holding everything. It's up to you, depending on your definitions of "easy" and "hassle." My way was somewhat tedious, but relatively risk free. Net net - it worked. Consider what works for you before you do anything drastic. Make a LOT OF BACKUPS. Practice the Backup Rule of Three.
Note you CAN remove all but one drive from a Synology as the "OS" seems to be mirrored on each drive. However, your apps are almost always on /volume1/@apps
Some Synology devices have 10Gbs connectors, but the one I have has 4x1Gbs. Next, I'll Link Aggregate those 4 ports, and with a 10Gbps desktop network card be cable to at get 300-400MB/s disk access between my main Desktop and the NAS.
The Seagate drives have worked great so far. My only criticism is that the drives are somewhat louder (clickier) than their Western Digital counterparts. This isn't a problem as the NAS is in a closet, but I suspect I'd notice the sound if I had 4 or 5 drives going full speed with the NAS sitting on my desk.
Here are my other Synology posts:
- Setting up a VPN and Remote Desktop back into your home with a Synology (from an iPhone)
- Docker on a Synology NAS - Also running ASP.NET and .NET Core!
- UPDATED 2014: How to setup CrashPlan Cloud Backup on a Synology NAS running DSM 5.0
- How to set up CrashPlan Cloud Backup headless on a Synology NAS - Backup Strategies
- Plex for Xbox One is here and my life is complete - Plus Synology setup how-to
Hope this helps!
Sponsor: Have you tried developing in Rider yet? This fast and feature-rich cross-platform IDE improves your code for .NET, ASP.NET, .NET Core, Xamarin, and Unity applications on Windows, Mac, and Linux.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter