Last updated on Tuesday 12th of April 2022 08:54:13 AM

©XSIBackup ©VMWare ©ESXi Enterprise Backup

Enterprise Virtualization Backup System with granular recovery

Below you will find a description of what a full ©XSIBackup disaster recovery solution looks like. It's easy to install and extremely versatile, allowing you to deploy your own backup system topologies by adding redundancy or acceleration hardware.

If you have a busy systems department, we can take care to deploy the backup system for you and train your backup engineers on how to use it in the most convenient way. Contact us for a quote.

System components

• Backup
• Archive server
• Restore

ESXi Firewall Workaround diagram

As you probably already know ©XSIBackup allows to quickly replicate and backup ©VMWare ©ESXi VMs between datastores and also over IP to ©ESXi or Linux hosts. But the enterprise power of our ©VMWare backup solution resides in its deduplication+compression algorithm, its state of the art indexing algorithm and the possibility to virtually store unlimited restore points and restore granularly from any of them.

The most dangerous threat that enterprises and organizations face today is ransomware. Of course, all the previous plethora of viruses, trojans, spyware, etc...

The only real protection against this kind of threats is to keep a healthy copy of your files in some kind of archival system that allows you to go backwards in time until you can recover a healthy copy of your files or a full VM.


Let's say that you have 2.0TB distributed in some ©ESXi Virtual Machines that allow your organization to work. With our ©ESXi backup solution you can keep roughly 120 restore points (4 months worth of daily backups) in a 4.0TB HD, which nowadays costs less than 100.00USD in any on line or traditional store.

We are being extremely cautious by setting that 120 restore point limit. You can probably achieve much more than that, although that will depend on the amount of daily new unique data that you generate. It's obviously not the same a Call Center using a database system than a 8K video production studio.

©XSIBackup works on the very same ©ESXi host, you don't need extra hardware to backup your VMs. What you will need is some backup volume with enough space to hold the number of copies that you want to store. It can be some local or remote volume, ©XSIBackup can reach any remote FS through SSH, both for backup/ replica modes and also to restore the VMs.

Thus 33HOPS's ©VMWare backup software is the ideal tool to backup your VMs hosted in some dedicated server at your preferred hosting company.

Archive server

The archive/ backup server is the server hosting the volumes where you will be storing your Virtual Machines to. You need to adapt that hardware to your needs. The most obvious figure is the amount of available space. As said, if you use deduplication + compression you will need roughly two times the amount of space your VMs are.

There are nonetheless other hardware features that affect your backup times: CPU and disk speed mainly.

You don't need a mighty last generation CPU to run in your backup host, still, if you pretend to use some old Atom processor, you are going to find out what "less than expected" speed means. Just use some old (one or two generations behind) i5 or i7 CPU, some i3 might also do it, just try to use something that is not too old. Any AMD equivalent will also do it.

Reusing some deprecated desktop is something we like doing, it works pretty well most of the times. Using some 10GB card as well as some SSD/M.2 as write cache would be icing on the cake. It will help improve your backup speeds, still as ©XSIBackup supports CBT natively, only full copies will take advantage of the improved speed offered by 10GB NICs and cache.

Isn't using old hardware something odd in an exterprise environment?

Absolutely not. Taking advantage of older hardware is a way to keep the expense low while still achieving the same results.

Using NEW DISKS on old desktop/servers is something very convenient. We recommend that you use plain file systems over a hard disk, that will allow to remove that disk and access it's contents from a USB case, directly plugging it to some SATA or RAID controller.

Backup servers don't need to bear the load of hundreds of concurrent users. A backup system as described can backup many terabytes daily. Of course you may improve such system in many ways by adding redundant disks in a mirrored array or by adding a second mirrored backup host.

Your main concern should be versatility, namely: making sure your disks or even the whole backup system can be rapidly replaced and that your disks can be extracted and read virtually anywhere.

How do I know that my backups are healthy?

©XSIBackup has built-in verification mechanisms to ensure your data is being written properly. On addition to that you can access your backups any time at any of it's restore points to recover your files or verify its integrity via a regular checksum.

Do I need a dedicated LAN segment?

You won't need anything special about your network 99% of the times. Even if you have a 24x7 production system, you can still use the production network for the backups by using the CBT feature, your users won't even notice, as ©XSIBackup has an extremely low footprint on the production hardware in terms of CPU and memory.

What about NAS devices like Synology or Qnap?

Those are nice pieces of hardware+software for people needing a way to provide quick storage to their ©ESXi hosts without learning how to configure an NFS or iSCSI volume in a Linux server and that's it. They have decent hardware, they work well and they come in beautiful cases, still they will provide no advantages to an experienced sysadmin.

Not only will they not provide any real advantage, but will constrain possibilities, as they come with closed down environments that will make simple operations in a plain Linux box become difficult or even impossible to accomplish, plus you can build two or three dedicated NAS for the price of one of these NAS appliances. Any 5-7 year old desktop with a Linux distro will be way more convenient than a dedicated device with custom software.

What Linux distro should I use?

There are mainly (by number of users) two families of Linux distros out there: RHEL based and Debian based. We could consider Ubuntu to still be a Debian derivative.

We have chosen RHEL/CentOS/Fedora/Rocky as our reference branch. Why?: well, there are many considerations to take on account before making such a decision, still we could name some, like having a nice set of available software/ precompiled repos as well as having a slightly different working philosophy to Debian. The latter is more obsessed with security (nothing to be blamed for in these days) while the former is more open and leaves securing the system an admin's duty.

We have been recommending CentOS 6/7 in the last years. They play beautifully along with ©XSIBackup and we still recommend both of them. Due to CentOS 8 having been abruptly discontinued, we are now recommending Rocky Linux.

We have to say that after having tried most other RHEL derivatives to choose a substitute for CentOS 8, we have found Rocky Linux to honour its name and be really stable, solid and straight forward for any former CentOS user. It's basically what CentOS 8 should have been. I believe we should be thankful to the Rocky Linux development team for having embarked in this project.

All our latest appliances, examples and use cases are built on top of Rocky Linux

How do I prepare Rocky Linux to host my ©XSIBackup repositories?

The plain answer is: just install some minimal configuration of Rocky Linux.

Is it really that simple?: YES. If you just want to store VM backups/ replicas that's all you need to do.

XSIGR: ©XSIBackup Granular Restore

In lastest versions of ©XSIBackup you will find a new subfolder: /bin/XSIGR/. It contains an install file plus a .zip file. You can run the install against any Rocky Linux minimal install which has been previously linked via the --add-key method to your ©ESXi host. It will install all the ©XSIBackup components required to run a Granular Recovery server.

Restore Virtual Machines or files

You can restore both: full virtual machines or files contained in any of the VMs at any of the available restore points in a ©XSIBackup repository. The former restore option is more straight, you just need the xsibackup binary available in the backup host. As the ©XSIBackup client takes care to keep the backup host's ©XSIBackup binary updated, you don't need to do anything. Just run some --restore command from the backup host or from any linked ©ESXi host.

We published a simple tutorial on how to recover files granularly from a Linux host. Still that would require you to run some commands and have some little understanding on Linux file systems and partition detection tools. That's why we have simplified the task by creating XSIGR or ©XSIBackup Granular Restore Package.

Preparing a host for granular restores (file level restores) is only a bit more complicated than installing a plain Rocky Linux minimal installation. You start by copying the additional binaries and scripts via the /bin/XSIGR/install executable to any previously linked host. Then you invoke the xsigr executable from the Rocky Linux backup host, which will in turn install the required dependencies on the first run.

Once all dependencies have been installed you can run xsigr --interactive, which will bring up the TUI interface. You will be asked for the path to some repository. You will then have to select the restore point, VM, partition and OS type.

We offer support for Windows and Linux file systems. In case of Linux we offer support for both plain file systems or non-LVM volumes and also LVM2 volumes. As accessing an LVM2 volume requires that the Volume Group's name is unique (otherwise you would get an error stating that there's a duplicate name), you should take care to make your backup host's root Volume Group have a unique name to avoid receiving errors if mounting another Volume Group with the same name.

Once your volume is mounted and it is accessible from within the backup host's file system, you can recover the files from the very same backup host's FS, scp them somewhere else, use some SCP GUI client like WinSCP or use some File Explorer from any Windows or Linux host that supports the CIFS file share protocol.

Below you will find a typical TUI input to restore some file/s

[root@localhost ~]# xsigr --interactive -------------------------------------------------------------------------------- | | | (c)XSIBackup Granular Restore for Linux | | (c)2022 | 33HOPS, Sistemas de Información y Redes, SL | | Daniel J. Garcia Fidalgo | | ALL RIGHTS RESERVED | | | -------------------------------------------------------------------------------- System type is: Linux localhost.localdomain 4.18.0-348.12.2.el8_5.x86_64 1 SMP Wed Jan 19 17:53:40 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux -------------------------------------------------------------------------------- Usage: ./xsigr --interactive ./xsigr --install ./xsigr --reset -------------------------------------------------------------------------------- (i) Entering interactive mode -------------------------------------------------------------------------------- Please enter a path to some (c)XSIBackup repository: [enter to select]: /home/backup-volume1/repo01-1M List of restore points: -------------------------------------------------------------------------------- 1: 20220227170648 2: 20220227164733 -------------------------------------------------------------------------------- Enter the restore point number to access: 1 -------------------------------------------------------------------------------- Selected restore point is: /home/backup-volume1/repo01-1M/20220227170648 -------------------------------------------------------------------------------- Mounting... Checking if mount point already exists... The restore point mount was created at: /mnt/XSI/repos/repo01-1M/20220227170648 Listing contents: List of Virtual Machines in the restore point: -------------------------------------------------------------------------------- 1: LRAS01 -------------------------------------------------------------------------------- Enter the VM number to browse: 1 -------------------------------------------------------------------------------- Selected Virtual Machine is: LRAS01 -------------------------------------------------------------------------------- Choose some -flat.vmdk disk to browse: List of Virtual Disks: -------------------------------------------------------------------------------- 1: LRAS01_0-flat.vmdk -------------------------------------------------------------------------------- Enter the disk number to access: 1 -------------------------------------------------------------------------------- Selected Virtual Disk is: ...po01-1M/20220227170648/LRAS01/LRAS01_0-flat.vmdk -------------------------------------------------------------------------------- Available partitions in: ...po01-1M/20220227170648/LRAS01/LRAS01_0-flat.vmdk -------------------------------------------------------------------------------- 1: loop0p1:39940096 2: loop0p2:2 3: loop0p5:1996800 -------------------------------------------------------------------------------- Enter the partition number to access: 1 -------------------------------------------------------------------------------- Selected partition is ------ loop0p1 Partition size is: --------- 38GB -------------------------------------------------------------------------------- Select the Virtual Disk OS family: -------------------------------------------------------------------------------- 1: Linux 2: MS Windows -------------------------------------------------------------------------------- Enter some OS family number: 1 -------------------------------------------------------------------------------- OS is Linux -------------------------------------------------------------------------------- Does the partition contain Logical Volumes [y/n]: n -------------------------------------------------------------------------------- Your Linux partition was mounted to /mnt/XSI/guests/repo01-1M/20220227170648 -------------------------------------------------------------------------------- Listing content of root dir at: /mnt/XSI/guests/repo01-1M/20220227170648 total 108 drwxr-xr-x. 21 root root 4096 Dec 17 10:10 . drwxr-xr-x. 3 root root 28 Feb 27 12:05 .. drwxr-xr-x. 2 root root 4096 Dec 17 10:13 bin drwxr-xr-x. 3 root root 4096 Dec 17 11:17 boot drwxr-xr-x. 4 root root 4096 Dec 17 10:07 dev drwxr-xr-x. 130 root root 12288 Dec 17 12:05 etc drwxr-xr-x. 3 root root 4096 Dec 17 10:01 home lrwxrwxrwx. 1 root root 31 Dec 17 10:01 initrd.img -> boot/initrd.img-4.19.0-13-amd64 lrwxrwxrwx. 1 root root 31 Dec 17 10:10 initrd.img.old -> boot/initrd.img-4.19.0-13-amd64 drwxr-xr-x. 18 root root 4096 Dec 17 10:12 lib drwx------. 2 root root 16384 Dec 17 10:01 lost+found drwxr-xr-x. 3 root root 4096 Jan 11 2021 media drwxr-xr-x. 2 root root 4096 Jan 11 2021 mnt drwxr-xr-x. 3 root root 4096 Dec 17 10:02 opt drwxr-xr-x. 2 root root 4096 Nov 22 2020 proc drwx------. 3 root root 4096 Dec 17 11:03 root drwxr-xr-x. 2 root root 4096 Dec 17 10:13 run drwxr-xr-x. 2 root root 12288 Dec 17 10:13 sbin drwxr-xr-x. 2 root root 4096 Jan 11 2021 srv drwxr-xr-x. 2 root root 4096 Nov 22 2020 sys drwxrwxrwt. 9 root root 4096 Feb 16 08:48 tmp drwxr-xr-x. 10 root root 4096 Dec 17 10:07 usr drwxr-xr-x. 11 root root 4096 Dec 17 10:14 var lrwxrwxrwx. 1 root root 28 Dec 17 10:07 vmlinuz -> boot/vmlinuz-4.19.0-13-amd64 lrwxrwxrwx. 1 root root 28 Dec 17 10:10 vmlinuz.old -> boot/vmlinuz-4.19.0-13-amd64 -------------------------------------------------------------------------------- Leave this window as it is and point some CIFS file explorer to browse the contents of the disk mounted at: /mnt/XSI/guests/repo01-1M/20220227170648 You may also use some SSH client like WinSSH or use the xsimail command to send recovered files to users from the command line -------------------------------------------------------------------------------- When you are done type 'y' to free resources and exit [y/n]: y Guest umounted from /mnt/XSI/guests/repo01-1M/20220227170648 --------------------------------------------------------------------------------