Forgive me Veeam for I have sinned! Raspberry Pi X Veeam Backup & Replication Preview


Userlevel 7
Badge +20

Just a quick teaser of a project I’ve been working on since receiving my RPi 4B last week.

 

I CAN’T OVERSTATE THIS ENOUGH, THIS IS NOT TO BE USED FOR, AND MUST NEVER BE USED WITHIN A PRODUCTION ENVIRONMENT. THIS IS A FUN PROJECT ONLY.

 

I’ve managed to get Veeam’s binaries running on the Raspberry Pi, but I don’t mean the backup agent, I mean the actual Veeam Installer Service and Veeam Transport Service components.

I’ve managed so far to create backup repositories directly on the RPi, though I’m having issues getting IO to flush properly to attached storage, causing backup jobs to fail.

The VMware backup proxy process incorrectly identifies the Raspberry Pi as 32-bit when it’s running a 64-bit OS, and is reporting itself as x86_64.

But I’ve managed to successfully use the RPi for arguably the best use-case, as a super cheap SoC for a ROBO NAS Gateway.

 

You might be thinking at this point I’ve used qemu and ‘so what, you’re emulating x86_64’, but that’s the difference, I’m actually using box64 as a way to wrap x86_64 libraries to their aarch64 counterparts, meaning that code is running natively as ARM64 where possible, instead of emulated. The project does fail back to emulation if it doesn’t have a natively wrapped library created, which I’ve had to use for one library to get the Veeam Deployment service to work.

 

As a little teaser of the performance. I was using NBD from a VMware Workstation-based VBR server, to a nested ESXi server, then talking over 1GbE to the RPI and back to another VMware Workstation-based VM that was hosting the NFS share. Processing rate was a respectable 35MBps, transfer rate peaked at 25MBps, but the VM was a tiny Ubuntu web server and bottleneck was entirely proxy:

0% Source

47% Proxy

0% Network

0% Destination

And, to prove that it was a good backup, SureBackup restored it successfully too!

This is just a sample of what I’ve been working on and I hope to share more in the future on this project 😁

 

If you’re wondering why bother, I just love the idea of Veeam backup repositories running on cheap, energy efficient ARM-architectures, where the CPU is rarely the constraint, but instead the disk.


16 comments

Userlevel 7
Badge +20

That is very cool. I love seeing projects like this where people get things to run where you don't expect them to.  😎

Userlevel 7
Badge +14

Now do it in production with 20 RP boxes as proxies. Legal disclaimer: This was a fun comment, not advice.

Userlevel 7
Badge +20

One extra step forward I’ve taken, whilst I’m having some fun & games with using the RPi as a native “linux repository” (which I want to try for immutability as it’s cool not having any out of band management as a security risk), I’ve managed to create an NFS share on itself and get it to connect via a loopback to write backups for now. It’s resulting in a slight performance increase, though I need to get a proxy running on my nested ESXi to overcome the NBD throughput limitations to see how the bottlenecks arrive.

Userlevel 7
Badge +20

Now do it in production with 20 RP boxes as proxies. Legal disclaimer: This was a fun comment, not advice.

My remaining goals are to do a VMware backup via the RPi, via NBD and Direct SAN/NFS access if possible. And create an immutable backup repo on the RPi 😂

Userlevel 7
Badge +17

This is really cool and interesting project 👍🏼 at least you have shown that some Veeam functions can be run on an ARM processor.

 

But if your sins you have committed with this project can be forgiven… I am not sure… 🤣🤣🤣

Userlevel 7
Badge +6

Next stop, running Veeam on a GameBoy!

Userlevel 7
Badge +6

Now do it in production with 20 RP boxes as proxies. Legal disclaimer: This was a fun comment, not advice.

Way to put that out there….advice or not, it’ll probably be done…

Userlevel 7
Badge +20

Now do it in production with 20 RP boxes as proxies. Legal disclaimer: This was a fun comment, not advice.

Way to put that out there….advice or not, it’ll probably be done…

Starting crowdfunded for RPis 😆

Userlevel 7
Badge +20

This is really cool and interesting project 👍🏼 at least you have shown that some Veeam functions can be run on an ARM processor.

 

But if your sins you have committed with this project can be forgiven… I am not sure… 🤣🤣🤣

We’ll find out at Legends renewal!

Userlevel 4
Badge

Is Veeam the next DOOM?

Userlevel 6
Badge +3

Next stop….Veeam components on ARM…but running in containers 🤣

Userlevel 7
Badge +8

If anyone from support is reading this I’m sure they are placing bets on when the first support ticket is opened from someone saying their VeeamPI isn’t working 🤣

I hope you share more information about how you made it work.. I’m really interested 😀

@MicoolPaul can you share scripts/commands for what you’ve done so far? I’m not able to get the binary to run using box64 because of a missing libc syscall. Tried forcing box64 to emulate it instead of wrapping it, but it doesn’t seem to listen...

In case anyone is following, I'm currently running into an issue with box64: https://github.com/ptitSeb/box64/issues/965

Any help would be appreciated!

Userlevel 7
Badge +13

I just googled “Veeam Raspberry Pi” and you came up. I love it! haha

Comment