Friday, August 29, 2014

VM Backup with Xen Orchestra [feedly]



----
VM Backup with Xen Orchestra
// Xen Orchestra

As you may already know, we planned to integrate backups directly in Xen Orchestra: this feature is in our current road map.

The goal is to provide a simple interface to select, plan and automatize all your VMs backups. But, until its done, one of our clients needs quickly a way to snapshot all its running VMs in one command. Remember this diagram?

xo-arch

Well, why not connect a kind of "client" to send order directly to "xo-server" to automatize all this stuff? After all, we had a unique entry point for all XenServer via the core of XO.

That's how "xo-backup" (as a plug in) is born in less than 2 days  and 200 lines of code! Let's see the architecture diagram with this new client:

image

As you can see, "xo-backup" is a completely standalone client, it could be executed on any machine you like, even not on the same box running "xo-server". For example, it can run on your backup server, dedicated to that kind of tasks.

How it works

Let's take a real and simple example. I will use "xo-backup" on my PC at home, to start a backup on the existing demo instance of Xen Orchestra (running in a data-center), itself connected to our small lab in our offices:

xo-backup (home) -> xo (datacenter) -> xenserver (office)

On one running VM, I've got no snapshot:

nosnap

Here is a simple example of this client:

$ xo-backup --max-snapshots 2 --user admin@vates.fr https://dev1.vates.fr/api/  [?] Password: ********  ✔︎ vm1 snapshotted  ✔︎ vm2 snapshotted  ✔︎ vm3 snapshotted  ✔︎ vm4 snapshotted  

As you can see, we created a snapshot on each of this VM. If I go on a VM screen in XO, now I can see:

onesnap

Great! Now  I can revert to this snapshot in two clicks, also remove or rename it if I want:

onesnapedit

Or, but let's try to restart "xo-backup", using exactly the same command. The result is now:

twosnap

Remember the "--max-snapshots 2" parameter in the command line? What if I choose to start a new "xo-backup" now?

$ xo-backup --max-snapshots 2 --user admin@vates.fr https://dev1.vates.fr/api/   [?] Password: ********   ✔︎ vm1 snapshotted   ✔︎ vm1 old snapshot deleted auto-2014-07-27T09:34:49.434Z  

The oldest one is automatically removed! That's why you can use this script directly in a Cron job (like the example given here). In this way, you made a snapshot rotation, allowing a rollback D-1 etc.

Wait! If I made my own snapshot manually between automated "xo-backup" execution?

No problem! Our client filters automatically on the "auto-" prefix present in your snapshot name. If you manually create one, with for example "snapbeforeupdate" name, it will NOT be removed by "xo-backup"! That's why you can continue to use snapshots manually in parallel of "xo-backup".

... wait! (again). Snapshots are NOT backups!

You're totally right! That's because "xo-backup" is just at its first version. Our next objective is to allow full exports of VM, *.xva files on your local disk, or any accessible mount on your system.

This feature will come with parameters to target only VM you like (or all, or with a filter you give). We choose to start with snapshots, because that's the first step allowing full export of a running VM: we'll export its fresh snapshot during its execution (because you can't export directly a running VM).

Thanks to our sponsor

This client was sponsored by OOWorx. Thanks to them for helping XO to be better!

Remember: you can do the same and sponsor a feature you need! Contact us for me details.


----

Shared via my feedly reader


Sent from my iPhone

No comments:

Post a Comment