Last updated on Tuesday 16th of November 2021 08:30:50 PM
©XSIBackup-DC Improving ESXi backup and replica Speed
Techniques and considerations to improve backup and replica speeds in ©VMWare ©ESXi©XSIBackup-DC is a totally new implementation of the same ©ESXi backup concept developed in ©XSIBackup Classic. This time we have taken the time and effort to redo things from scratch to make sure that we apply the best solutions to achieve the best results.
As could not have been otherwise, we developed ©XSIBackup-DC in plain C. This way we can control the finest details in regards to how resources are used and thus squeeze the maximum out of your hardware.
©XSIBackup-DC can work in two main ways: local and over IP.
When you perform some action (©ESXi backup or replica) locally, virtual machines are moved around the local file system. Of course it could be extended in the form of NFS or iSCSI volumes, which are in turn network devices, nonetheless the appearance to the user is that of an extended Linux file system where shares are just mount points under /vmfs/volumes
In either case, when you perform such type of action in a local context, you are using the resources of a single server. CPU and RAM are shared by the read and write processes, therefore imposing a double load on the ©ESXi host. Still ©XSIBackup-DC is really lightweight when it comes to do its job, nonetheless the number of CPU cycles is a limited amount and it imposes a limit.
Some people have posed why we claim that DC is so efficient when it is in fact slower than vmkfstools. Well, the answer is simple: not only vmkfstools is a gorgeous binary refined along many years, but what it does when it comes to copy data is just that whereas ©XSIBackup-DC also hashes the blocks, compresses and keeps track of them. There's still room for improving speed in case of ©XSIBackup-DC, although with the advent of CBT technology this will only remain a task relative to first full transfers, as in subsequent runs you will have the possibility to perform instant differential replicas.
Doing things over IP is much wiser, as you are using the CPU and memory in the client just to write data to the IP socket and leaving the load to write it down to the remote end or server side.
As you may know Hard Disks are usually faster reading data than writing it down. Even in the case of sequential writes, which is what ©XSIBackup-DC does, writes are slower, and by our own experience benchmarking these writes, even in the case of sequential disk access, effective speed is slower than expected. At least in the case of mechanical HDs. It is true that ©XSIBackup-DC adds additional layers of consideration than a pure write test, as in case of NFS and iSCSI devices there exist multiple added factors, such as: network equipment, cables, power of CPUs at NAS devices, amount of RAM there, etc...
We have found in any case that SSDs are the most fundamental thing to speed things up: from using them as mere cache in ©ESXi boxes, to using them as pure storage target. Of course, if you can get rid of the bottleneck at the SATA controller and use new nVME or M2 devices much better. Still, just using a simple SSD disk attached to a SATA controller is an absolute game changer.
We use refurbished equipment in our lab for many reasons: first because we can't constantly spend tenths of thousands in test servers, (we have many, too many servers), secondly cause we force ourselves to take optimization even further. Just to pose some real life figures:
We recently used an old Lenovo M92p tiny form factor desktop device equipped with an old i5-3470 3.2 GHz CPU from 2012. We removed the old HD updated the BIOS and attached a cheap Crucial MX-500 1 TB SSD disk to the SATA controller of the mini PC. We installed ©ESXi 7.0U1d and used the device as the target of some test replicas from different VMs ranging in size from 100 to 700 GB. The improvement in data throughput using it as the backup server was about 5/6 times what we would get from the same type of hardware using a regular Seagate HD of about the same size. As you can see this is a crucial factor, not only in the name of the disk, but in real outcome.
©XSIBackup-DC is really fast reading and processing the data. It can do it at about 250 MB/s on commodity hardware. You will generally achieve poorer results if you do your backups locally. In case you perform them over IP consider using some SSD as the target of your backups and replicas, it will really make a difference. In fact, it does not matter that much whether it is an SSD or M2 device, should you be in a 1GB LAN, you will achieve about the same results, mainly because some other pieces will then become the new bottleneck. In case of operating in a 10GB LAN, then the M2/ nVME disk will indeed be an additional game changer.