I recently started a new job and with it came a new laptop, a MacBook Pro with Apples M1 chip to be precise. So I thought to myself, this is a great opportunity to explore the capabilities of the new for 2021 Veeam agent for Mac. Now you have to bear in mind, this is a little different to how the Veeam Agent for Windows or Linux works as it will not offer the ability to perform a bare-metal restore. What it will do though, is target those folder locations in the user space and backup any files stored there. Realistically for most people, this should capture all the data that is used on a day to day basis, and if your machine did need to be rebuilt, restoration of the data is a straightforward process.
My setup is modest, I have a Veeam Backup and Replication server running as a virtual machine on a Synology NAS, it works for demonstration purposes. Really though, that is all you need for this, but equally worth bearing in mind, you do NEED a Veeam Backup and Replication server for this to work. Where you can install the Veeam Agent for Windows as a standalone entity, you must use the Backup and Replication console to configure the Veeam Agent for Mac and this seems to be mainly due to the way the agent is configured for deployment. Check out this blog post from Veeam about Protection Groups for pre-installed agents. What this means is you as the administrator can create a configuration file to deploy with the Veeam Agent which will include some preconfigured items such as which Veeam Backup and Replication server to target. The idea is then that the agent can be pushed out with a Mobile Device Management (MDM) solution and then backups can be managed centrally by corporate IT.
Step 1 – Create the Protection Group
Fire up the Veeam console, browse to Physical infrastructure and click to create a new protection group.
Give the protection group a name.
Choose the new protection group type, Computers with pre-installed agents.
Choose the type of agent to be configured and choose a location for the agent to saved to.
You can modify settings from the advanced location if you wish. Things like limiting bandwidth could be useful to avoid generating helpdesk calls for connectivity interuptions.
Generate the install package.
And we can see generated agent files by browsing to the path specified during the protection group creation.
Step 2 – Install the Agent on the Mac
Browse to the location where the agent was saved and run the Veeam Agent for Mac package.
Allow the program to run and provide user credentials to proceed.
Agree to the EULA.
Choose the install location.
Now, The Veeam Agent for mac required Full Disk Access (FDA) to function, which needs to be granted on the machine. This is performed from system preferences.
Grant Veeam Agent for Mac FDA.
And that’s it. All being well you should see the Veeam Agent checked into the Veeam backup and replication console in the protection group.
Step 3 – Create a backup job
So the agent is deployed, it is checking into Veeam, now we need to create a backup job so it can do its thing.
Withing the Veeam console, we have an option to create a Mac computer backup job, choose it.
Choose the job mode.
Name the job.
Target the shiny new protection group.
Choose what to backup. The customer scope allows you to choose certain user file paths.
Choose the backup target. I may swing back around on this one and look at the Cloud Connect option in a future blog post.
If choosing a Veeam backup repository, then we need to point the job to the Veeam Backup server.
Choose the repo, retention points, advanced settings allows you to configure encryption on the backup and the other usual good stuff.
Specify when to run the job.
Step 4 – Run the job
The first thing you will see after creating the backup job is that the job config is pushed to the agent. What it does not update in the Veeam console is the next job run time, which I guess it wouldn’t know as the backup job is ran from the agent side. It would be nice to see this though.
The backup job will run according to the schedule that was provided as part of the backup job config. Two things to note here. If the agent can not contact the Veeam server via Fully Qualified Domain Name, the job won’t work. The second is that the Veeam agent for mac has a default check-in with the server schedule of 6 hours. This is when it grabs the backup job config, stores it locally and then will run according to whatever config it grabbed in the last sync. You can force synchronisation by running the command veeamconfig mode syncnow from a terminal session. More info here. What is nice though is that Veeam will integrate with the snapshot capability that is part of the Apple File System (APFS)
Step 5 – Recover data
There are a couple of ways file recovery can be performed. The first being from the Veeam Backup and Replication console, although this requires a Linux host to mount the backup to which I did not have available at the time of writing this blog.
The second is from the Mac Agent its self. Once a backup has ran, there should be recovery points listed in the Veeam Agent window.
Choose the backup and then open the backup. We can then see what data has been backed up. In this case, it is all my user files.
And then drill down to the file required and recover.
What are my thoughts on this? It is a V1 product and as such the product functionality is limited. What is nice to see though is that it integrates with the VBR console and the job config is relatively straightforward, if not limited in the scope of what can be achieved. I am sure as time goes on, the product functionality will expand but for now, this satisfies the tick in a box to offer backups for Mac that integrates with a corporate data protection plan that is already centred around Veeam.