I have been using a fileserver in a Turnkey debian 11 container for several months. I allocated 8gb of the ssd for bootdrive and 2TB of my zfs pool for storage. The zfs pool is comprised of 3 old Western Digital green drives, WDEARS20, in a raidz1 configuration. It is connected with a single 1-gig nic.
It has been working great! The Turnkey package is super handy with webmin, samba, nfs, and lots of tools out of the box. Transfer speeds max out the gigabit link too:
However, with such a large container size, the backup times were really long.
I have backups scheduled for 3:00AM daily. The fileserver container takes 3 hours and 19 minutes to backup.
The reason for this is that Proxmox Backup Server has to scan every single block of the container disk to make sure that no files have changed since the last backup. The backup client then only sends back the data to the PBS server that has changed since it was last run. So each night at 3:00AM my little array is doing 3 hours and 19 mins of heavy i/o. That’s a lot of drive wear for drives that are already over 10 years old! Not to mention the performance hit while the backup is run.
After some reading on the Proxmox forums, I learned that virtual machines have a trick called “dirty pages” or “dirty bitmaps” that allow them to skip this process. A virtual machine can keep track of every change it has made to the disk since the last reboot. Proxmox Backup Server can take advantage of this feature, and read only the changed data. This results in dramatically improved backup speeds.
With that in mind, I decided to migrate my file server to a virtual machine. I used Openmediavault to keep it simple. This time, I increased the disk size to 3TB.
While the initial backup still took a few hours, all subsequent backups are lightning fast. Here’s a look at those dirty pages in action:
It only had to read 816mb of the 3TB for today’s backup. This means my total backup time for all my hosts has dropped down to only 12 minutes!!
A roughly 94% reduction in backup times, and therefore drive wear, seems like a great success to me! The file server virtual machine is here to stay.
Can’t wait to be testing this with some large SSDs and a 10 gig link soon.