Last updated on Monday 28th of February 2022 08:52:48 PM


Why is it my best choice?

 Please note that this post is relative to old deprecated software ©XSIBackup-Classic. Some facts herein contained may still be applicable to more recent versions though.

For new instalations please use new ©XSIBackup which is far more advanced than ©XSIBackup-Classic.

When the time came to find a solution for the backup of ©ESXi virtual machines we could not find anything that would cover the needs of our customers and be at the same time simple to configure, simple to use and easy to monitor.

Most commercial solutions are based on VMware's API VCB (VMware Consolidated Backup) that is not licensed to be used with  ©VMware ©ESXi free version and requires an additional Windows box (or any other supported OS) where to execute it, thus adding pieces to the system, pieces that from a purely conceptual point of view are nothing but possible points of failure.

A Budist Tale

Let's be straight, life is too short to waste it at games. The market is full of colourful solutions that attract people like flowers do with bees. They work with beautiful windows that can even become half transparent when you hover your mouse over them, and what's even more important, allow less skilled people have the perception that they can interact with those forms and take decisions. But do not fool yourself, taking decisions requires knowledge.

That knowledge is available to every individual, but not everybody decides to seek it. In fact in many situations getting to the knowledge and finding how things work is easier than trying to find what that cryptic message in a pop up window means. It's just a matter of attitude, not everybody was born to face the truth. But allow me to go on with my "half ironic half budist" discourse ;-)

Some of the colourful tools work well, but that's not the matter. ©ESXi is an OS, a cut down OS, but an OS in the end. ©VMWare has developed a bridge API that allows to backup VMs from another OS connected to the host via this bridge, isn't that crossing the river to get water?. Well, it's truth you cross the river over a bridge built for that purpose, but isn't that even worse?.

Some neighbours of our IT Specialists village point and laugh at those that just go, as always, to the riverside to get water, because they think they don't have money to pay the bridge toll, nor the bridge builder's partners on the other side that help put the water into their vessels, when those poor guys could be building a new house with the saved efforts. Graphical tools are great, just as long as you know what's underneeth.

Buying the well known  Guitar Hero game doesn't turn you into a guitarrist.

A Real World Example

Let's say you need a mixer for your kitchen, you check out a lot of models and in the end you keep two to take your last decision.

Both models cost the same and offer the same features: 200W, 2000rpm; one of them has 27 sealed pieces in its rotary mechanism that ensure a very quiet operation and it is advertised on the TV while the other is well made, it is easy to disasemble and has only 3 pieces that ensure a reliable operation and could be replaced if needed.
XSIBackup-rsync functioning
Well, the world would be a better world if all engineers would always choose the second model. It's not my intention now to discuss why, though it should be clear to most of the readers.

Why big brands design their goods the way they do and why they try to remote control the way they are used, their lifespan and every other decission their customers could take isn't either something to be discussed now. It is obvious anyway, for those of you that read up to this point, that if you cross the river three times to get water, you will have to pay the ferryman thrice.

The matter:

Once we get to the ground and get rid of any commercial consideration we face the need to have a program that can backup our VMs in an ©ESXi box, we need it to run in the context of the ©ESXi OS.

It needs its own crontab and a way to communicate the results of the backup operations to the system administrator and, of course, be as fast as possible as well as offer all the flexibility a trained System's Administrator might need. With all of that in mind the question was: is it posible to design such a program?.

Xerox your Server Inteligently:

After examining the ©ESXi OS context we got to the conclussion that such a piece of software (like described above) was possible. In fact we had all the relevant information we needed to make a VM backup and a limited set of tools exposed by  ©BusyBox as well as a Bash interpreter. This is the way © XSIBackup was born, we designed something from scratch to comply with our needs (and hopefully many other's) and work the way we wanted ignoring any secondary non-technical consideration.

As a result now you can have a program that can hot backup your VMs in any ESXi box, to a local datastore or to another ©ESXi box at an unbeatable speed and send you a detailed report after each backup. But not only that, it is self contained in the very same ©ESXi box so it will work just as long as the ©ESXi hypervisor is up, thus you can put it to work in a dedicated server or any standalone ©ESXi server.

This is not a commercial article (though it should work somehow in that way), I wrote this just to point to the fact that ©XSIBackup was engineered from the ground to be effective, efficient, and self capable, to reduce failure surface and to maximize the Systems Administrator's productivity. Why do you want to maintain a VCB proxy?, why complicating your life buying and maintaining additional hardware & software when you don't need it?.

Update (2016-03-09):

Some people have posed questions on top of the table lately that I need to argue, not only as a modest software architect, but as a thinker. One of the mentioned alleged disadvantages is that XSIBackup is a script; Would I only need to embed it into C code and compile it to make it look better?.

We could argue about memory and subprocess management being better on compiled programs, but we are talking about 2500 lines of code so far, that make use of, more than well tested command line tools like: sed, awk, echo, netcat, scp, rsync, vmkfstools, etc... I will accept any critic in regards to job and subprocess management, which I am still improving, and also, of course, about the "pseudo API" and inner mechanisms used to grab the required info, which could probably be improved, but the fact of ©XSIBackup being a script is up to some point something trivial.

Well known commercial VMWare Backup programs use the same core mechanism to make hot backups: snapshot, copy .vmdk files and snapshot removal, and that is exactly what XSIBackup does. The copy process is done by means of vmkfstools or rsync, and they are bulletproof binaries.

Users of XSIBackup know very well what are its advantages over other programs:

1 - ©XSIBackup is faster than other solutions when backing up to local datastores.
2 - It is a stand alone self contained solution, you need nothing else.
3 - Install it in a dedicated server and forget about it..
4 - It can be integrated in wider scripted logics.
5 - Uses a standard Linux command line syntax and it is very easy to install and use.
6 - Some users that have strong security policy requirements do appreciate the fact that they can easily audit the source code.

And it can be dangerous ;-), as you might install it in a server and forget about it. But do not worry, when you get back to it your latest backups will be there.

Daniel J. García Fidalgo