Backup & RecoveryVeeam

Veeam: Deploy an Immutable Repository

Released in 2008, Veeam Backup and Recovery enables systems administrators to backup virtual and physical machines to disks, tape, the cloud and immutable repositories which don’t allow data to be overwritten. In this guide, I will walk through basic configuration of a Veeam Server and an immutable backup repository.

What Is The Veeam Availability Suite?

The Veeam Availability Suite is made up of four main components:

1. The Administration Console – This is where administrators can perform management tasks such as scheduling backups.

2. The Proxy Server – This is where data is processed, compressed and sent to…(Next line, please.)

3. The Backup Repository – This is where backup data is stored.

4. (OPTIONAL) VEEAM One – Real-time Backup monitoring console.

It’s not uncommon to see all four running on the same server. For my intents and purposes, I will run the Administration Console on my SAW, the proxy server on a separate server running Windows Server 2022, the backup repository on an Alma Linuxserver, and VEEAM One on a separate server running Windows Server 2022.

Obtaining Veeam and Licensing

Licensing for all of these components can be obtained as a Not For Resale (NFR) copy here if you meet one of the requirements. I have chosen the “Blogger” option, and I’m sure it will work for you as well.

The license lasts for a year, but you can renew it. The NFR license enables sysadmins to backup twenty workloads compared to the community edition which only allows ten.

Setting Up The Administration Console

The setup for the Administration Console on the SAW was a dead simple next, next, next process. Just make sure to only select installation for the single component, not the entire suite. Remember – we’re breaking things out here! All of the required components (such as SQL Express) are installed for you.

Active Directory and Veeam

Some sysadmins recommend not using Active Directory authentication, but because I am separating components out, using multiple (in the future at COLO) hardened Linux repository’s, and using aggressive ACLs, I see no risk in doing so. VEEAM is VERY dependent on DNS so make sure you have records in place if you choose to pursue that route (Maybe I should write a guide for that).

Setting Up The Veeam Server

I am using a standard installation of Windows Server 2022 x64. This has been joined to my domain. As I mentioned previously, some best practices state the VBR server should not be joined to the domain. I’m using extremely aggressive ACLs and an off domain hardened (immutable) Linux repository server to make things much safer. In the future, I will add a SOBR and backup my VMs to the cloud, as well as an additional hardened repository at Colo. In my eyes, this justifies taking the risk – even if my VEEAM server were compromised, in theory, no one should be able to move laterally to my backup data and modify it.

After downloading VEEAM NFR for free (you can find it here), I was sent and email with the license key. I transfered the zip file as well as the key over to my newly created server, unzipped it and mounted the VEEAM ISO. After clicking setup.exe, I began the installation by clicking ‘Install’

Veeam Backup and Replication 12
Veeam Backup and Replication 12

On the next screen, I was prompted to select what type of installation I wanted to perform. Last night, I installed just the console for management purposes (option 3) on my SAW, so I wanted the full deal (option 1)

Install Options
Install Options

On the next page, accept the license agreement.

License Agreement
License Agreement

On the next page, I uploaded my aforementioned license file that was sent to me via email. Once that’s done, click next.

Type in your license key Veeam emailed you here.
Type in your license key Veeam emailed you here.

After a system check is performed, I’m ready to install. I did not customize any of the defaults as they looked fine to me. I did see that VEEAM 12 is now using PostgreSQL, rather than MS SQL Express, so that’s pretty cool.

Installing Veeam
Installing Veeam

After installation was finished, I was able to login to my SAW and connect to the remote server! This really couldn’t have been an easier process, not that I’m complaining!

Setting Up The Hardened Immutable Repository

Alright, now with that out of the way, let’s setup a hardened VEEAM Linux Repository server using Alma Linux! Utilizing a VEEAM hardened repository server has many advantages over over a traditional file server.

The files located on the server are immutable for a length of time. This means they cannot be edited or deleted by the VEEAM user until this time period expires. Even if your VEEAM server were to be compromised, your backup data is safe!

Additionally, this method does not use CIFS shares. This means it is much harder for your backups to become cryptolocked and held for ransom.

Setting Up The Virtual Machine

Let’s create the virtual machine! Give it the following specs:

  • 2 CPU cores
  • 4GB of memory
  • 32GB HDD, Thin Provisioned
  • A second virtual disk to store immutable data
  • VMware Paravirtual SCSI Controller
  • Network Adapter set to secure Management VLAN
  • Alma linux ISO attached from datastore
  • UEFI, Secure boot enabled

Once the VM is booted, select your language:

Alma Linux - Choose Language
Alma Linux – Choose Language

You will then be brought to a page that looks like this:

Alma Linux Installation Summary
Alma Linux Installation Summary

Make sure your Keyboard, Language, Time & Date settings are correct.

Under “Software Selection”, choose the “Minimal Install” option. This server does not require a GUI.

Under “Installation Destination”, We will configure automatic partitioning. Select the Manual Partitioning bubble and click done. You will then be brought to a page to add partitions. Add the following partitions as pictured below:

Alma Linux Disk Partitioning
Alma Linux Disk Partitioning

Still with me? Great! That was the hardest part of this process! Click “Done” and you’ll be brought back to the main dashboard.

Click “Network & Hostname”. You’ll be brought to a screen that shows all available network adapters. Click the switch to enable it and click “Configure”.

On the Configure window, click “IPv4 Settings”. Set the Method to “Manual”, then click “Add”. This will allow you to set a static IP for your virtual machine. Give it an IP, Netmask, Gateway, and DNS Server as shown below. NOTE! We will need to create forward and reverse DNS entries for this. If you are using Active Directory or something other than your firewall for DNS, use that as your DNS Server! Set your Domain’s FQDN in “Search Domains”.

Alma Linux Network Configuration
Alma Linux Network Configuration

Then once you are finished, Click “Save”. Before you click “Done”, let’s set the hostname of the server.

Alma Linux Network Configuration
Alma Linux Network Configuration

Please be sure to include the FQDN in your domain name. For example, hostname.internal.whatever.com Click “Apply” then click “Done”.

Next we need to set the root password. Choose a secure password and ensure “Lock root account” is and root SSH login are disabled. This will prevent the root user from logging in or SSHing to your server. Click “Done” when you are finished.

Alma Linux Create User
Alma Linux Create User

Now we will create the management user. This is the account you will use to perform initial setup and system maintenance. Click on “Create User”.

Type in the management user’s full name, username and set a password. Ensure “Make this user administrator” and “Require a password to use this account” are both checked. Click “Done” when you are finished.

Once you are satisfied with all of the options you selected, click “Begin Install”.

Immutable Repository: Post Install Setup

This hardened repository server WILL NOT be joined to the domain for security reasons. We DO however, need to create forward and reverse DNS records for it because VEEAM heavily utilizes DNS. Setting up Active Directory is beyond the scope of this guide, but perhaps I will create one in the future. Please ensure the appropriate A and PTR records exist and point to your repo server’s hostname.

Add A Secondary Hard Disk

With that out of the way, I will need to add a secondary disk to the repo server to store my backups. I am currently running vSphere 8, so I logged into the web console and edited the VM’s hardware properties and added a secondary 20TB thin provisioned disk.

Now we have to SSH into the repo server VM and initialize the disk so that it is visible to the operating system, format and mount it. I ran the following:

lsblk

to get the disk identifier. It looks like this disk is recognized at /dev/sdb. Perfect. Let’s partition the disk.

sudo fdisk /dev/sdb

// then at the below promt, type G to create a new GPT partition table:
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xfd942014.

Command (m for help): g

// Press n to create a new partition:
Command (m for help): n

// Press p to create a primary partition:
Command (m for help): p
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p

// Select 1 as the default partition:
Partition number (1-4, default 1): 1

// It will ask you to select the first and last sector. Just press Enter to use the entire disk. 

Created a new partition 1 of type 'Linux' and of size 19.9 TiB.

// Press w to write the changes to your disk:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

If I run lsblk again, you will see I now have /dev/sdb1 and a newly created 20TB partition!

lsblk showing my 20TB partition
lsblk showing my 20TB partition

With the disk partitioned, we will now need to format it with the XFS file system. VEEAM strongly recommends in their whitepapers that XFS is used for immutable repositories:

// Format the partition
sudo mkfs.xfs /dev/sdb1

With the drive partitioned and formatted XFS, let’s mount the disk:

// Change directory into mnt
cd /mnt

// Make a directory that will be used as the mount point.
sudo mkdir vbrbackups

// Add mount point to fstab file so it is mounted on boot. 
sudo vi /etc/fstab

// Add the following line to the end of the file:
/dev/sdb1 /mnt/backup xfs defaults 0 0

// Press ESC and type wq! to write the file. To mount the disk for the first time, run:
sudo mount -a

// if you did not receive any errors, the disk has been successfully mounted! Run lsblk again to see it is mounted in the correct directory. (See screenshot above.)

Create Permissions AND Service Accounts For VEEAM

We will now need to create a user and group that can access the directory. This is the service account that VEEAM will use to perform backups:

// Create the User:
sudo useradd -m veeam 

// Set a strong password for this user (You will be prompted to type it twice.)
sudo passwd veeam

// Create the group
sudo groupadd backupadmins

// Add the veeam user to the group:
sudo usermod -aG backupadmins veeam

Finally, I gave the appropriate permissions to the veeam service user to access /mnt/vbrbackups:

// Give permissions to veeam user and group:
sudo chown veeam:backupadmins /mnt/vbrbackups

// Make the directory immutable
chmod 2775 /mnt/vbrbackups

Conclusion

That’s it! Basic server configuration is now finished! All I have to do at this point is add the vCenter server and the repo to the VEEAM console and start backing virtual machines up! Be sure to check out my other blog posts located here!

sysadminafterdark

Just another bastard operator from hell empowering others to deliver self-hosted solutions one night at a time. Sysadmin by day, homelab by night.

120 Comments

  1. Greetings from Idaho! I’m bored to tears at work so I decided to browse your website on my iphone during lunch break. I love the knowledge you provide here and can’t wait to take a look when I get home. I’m amazed at how quick your blog loaded on my mobile .. I’m not even using WIFI, just 3G .. Anyways, wonderful site!

  2. Does your site have a contact page? I’m having a tough time locating it but, I’d like to shoot you an email. I’ve got some suggestions for your blog you might be interested in hearing. Either way, great site and I look forward to seeing it improve over time.

  3. Wow, amazing weblog structure! How lengthy have you ever been blogging for? you make blogging glance easy. The total glance of your web site is magnificent, let alone the content!

  4. I don’t even know the way I finished up right here, however I believed this put up was good. I do not recognize who you might be but definitely you’re going to a well-known blogger for those who are not already. Cheers!

  5. Terrific article! This is the type of info that are supposed to be shared around the net. Disgrace on Google for no longer positioning this submit upper! Come on over and seek advice from my site . Thanks =)

  6. Hey there just wanted to give you a quick heads up and let you know a few of the pictures aren’t loading properly. I’m not sure why but I think its a linking issue. I’ve tried it in two different web browsers and both show the same outcome.

  7. Very good blog you have here but I was wanting to know if you knew of any discussion boards that cover the same topics discussed here? I’d really love to be a part of community where I can get feedback from other experienced people that share the same interest. If you have any suggestions, please let me know. Kudos!

  8. I think this is one of the such a lot important info for me. And i am satisfied studying your article. But should commentary on few general things, The web site style is great, the articles is in point of fact great : D. Good activity, cheers

  9. Oh my goodness! Awesome article dude! Thank you so much, However I am going through issues with your RSS. I don’t understand the reason why I cannot subscribe to it. Is there anybody having the same RSS issues? Anyone who knows the answer will you kindly respond? Thanks!!

  10. I really like what you guys are usually up too. This kind of clever work and exposure! Keep up the excellent works guys I’ve added you guys to my own blogroll.

  11. Thanks a bunch for sharing this with all folks you really know what you’re speaking approximately! Bookmarked. Please also consult with my web site =). We can have a link alternate agreement among us

  12. I absolutely love your site.. Excellent colors & theme. Did you develop this website yourself? Please reply back as I’m planning to create my very own website and would like to find out where you got this from or exactly what the theme is named. Thanks!

  13. I’m no longer positive the place you’re getting your info, however good topic. I must spend some time learning more or understanding more. Thank you for magnificent info I used to be searching for this info for my mission.

  14. Hey this is kinda of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML. I’m starting a blog soon but have no coding skills so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!

  15. We are a group of volunteers and starting a new scheme in our community. Your website offered us with valuable information to work on. You’ve done a formidable job and our entire community will be thankful to you.

  16. Amazing! This blog looks exactly like my old one! It’s on a totally different topic but it has pretty much the same layout and design. Superb choice of colors!

  17. Hi there, I discovered your web site via Google while looking for a comparable matter, your website came up, it seems to be great. I’ve bookmarked it in my google bookmarks.
    Hi there, just changed into aware of your blog via Google, and located that it is truly informative. I am gonna watch out for brussels. I’ll be grateful in the event you proceed this in future. Many other folks will likely be benefited out of your writing. Cheers!

  18. Thank you for every other informative web site. The place else may just I am getting that type of info written in such an ideal manner? I have a venture that I’m just now operating on, and I have been at the look out for such information.

  19. Hello! This is my first visit to your blog! We are a collection of volunteers and starting a new project in a community in the same niche. Your blog provided us beneficial information to work on. You have done a marvellous job!

  20. Nice blog right here! Additionally your website a lot up fast! What web host are you the use of? Can I am getting your associate link for your host? I wish my web site loaded up as fast as yours lol

  21. I’m not certain the place you’re getting your information, but good topic. I must spend a while learning much more or figuring out more. Thanks for wonderful info I was looking for this info for my mission.

  22. I seriously love your blog.. Excellent colors & theme. Did you develop this web site yourself? Please reply back as I’m wanting to create my own blog and would like to learn where you got this from or exactly what the theme is named. Many thanks!

  23. Thanks for every other informative website. The place else may I am getting that type of info written in such an ideal method? I’ve a mission that I’m just now working on, and I’ve been at the glance out for such info.

  24. I just like the helpful info you supply for your articles. I’ll bookmark your blog and test again right here regularly. I am reasonably sure I’ll learn many new stuff proper right here! Good luck for the next!

  25. Hi my friend! I want to say that this post is awesome, great written and come with almost all important infos. I would like to see more posts like this .

  26. Hmm it appears like your blog ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog. I too am an aspiring blog writer but I’m still new to everything. Do you have any points for rookie blog writers? I’d genuinely appreciate it.

  27. I am extremely inspired with your writing talents as smartly as with the layout to your blog. Is this a paid theme or did you modify it your self? Either way keep up the nice high quality writing, it is uncommon to peer a nice weblog like this one nowadays..

  28. I will immediately snatch your rss as I can’t in finding your e-mail subscription link or e-newsletter service. Do you’ve any? Kindly let me understand in order that I could subscribe. Thanks.

  29. Very good website you have here but I was wanting to know if you knew of any user discussion forums that cover the same topics talked about here? I’d really love to be a part of group where I can get advice from other experienced individuals that share the same interest. If you have any recommendations, please let me know. Kudos!

  30. I’m no longer positive where you’re getting your information, however great topic. I needs to spend some time finding out much more or figuring out more. Thanks for wonderful information I was looking for this info for my mission.

  31. Someone necessarily assist to make seriously articles I’d state. That is the very first time I frequented your website page and to this point? I amazed with the research you made to make this particular publish incredible. Wonderful job!

  32. My partner and I stumbled over here from a different web address and thought I might as well check things out. I like what I see so now i am following you. Look forward to looking into your web page for a second time.

  33. I don’t even know the way I ended up here, however I assumed this post was once great. I don’t know who you are but definitely you are going to a famous blogger if you are not already. Cheers!

  34. An intriguing discussion is definitely worth comment. There’s no doubt that that you need to write more on this subject matter, it may not be a taboo subject but typically people don’t discuss these issues. To the next! All the best!!

  35. I just like the helpful info you provide to your articles. I’ll bookmark your blog and test again here frequently. I’m relatively certain I’ll learn many new stuff proper right here! Good luck for the following!

  36. hello there and thank you for your info – I’ve certainly picked up something new from right here. I did however expertise some technical points using this web site, since I experienced to reload the web site lots of times previous to I could get it to load correctly. I had been wondering if your hosting is OK? Not that I am complaining, but slow loading instances times will often affect your placement in google and can damage your high quality score if ads and marketing with Adwords. Anyway I am adding this RSS to my e-mail and could look out for much more of your respective interesting content. Make sure you update this again very soon.

  37. I’m not sure exactly why but this site is loading extremely slow for me. Is anyone else having this problem or is it a issue on my end? I’ll check back later on and see if the problem still exists.

  38. whoah this weblog is magnificent i really like studying your articles. Keep up the great work! You already know, a lot of persons are looking around for this information, you could aid them greatly.

  39. I am now not positive the place you’re getting your information, but good topic. I needs to spend some time learning much more or figuring out more. Thanks for excellent info I was in search of this info for my mission.

  40. Wow, amazing blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your web site is fantastic, let alone the content!

  41. It is perfect time to make a few plans for the longer term and it is time to be happy. I have learn this put up and if I may just I want to counsel you some fascinating things or tips. Maybe you can write next articles relating to this article. I wish to read even more things about it!

  42. Its like you read my thoughts! You seem to know a lot approximately this, like you wrote the ebook in it or something. I feel that you just can do with a few % to drive the message home a bit, but instead of that, that is magnificent blog. A fantastic read. I’ll certainly be back.

  43. Hello, i read your blog from time to time and i own a similar one and i was just wondering if you get a lot of spam remarks? If so how do you protect against it, any plugin or anything you can advise? I get so much lately it’s driving me crazy so any assistance is very much appreciated.

  44. Hi every one, here every person is sharing such know-how, therefore it’s fastidious to read this weblog, and I used to visit this webpage daily.

  45. Magnificent beat ! I would like to apprentice while you amend your site, how could i subscribe for a blog website? The account helped me a acceptable deal. I had been a little bit acquainted of this your broadcast provided bright clear idea

  46. Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I’ve been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.

  47. Link exchange is nothing else however it is just placing the other person’s blog link on your page at proper place and other person will also do same for you.

  48. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is excellent, let alone the content!

  49. Thanks for sharing your thoughts. I really appreciate your efforts and I will be waiting for your further write ups thanks once again.

  50. Thanks for the good writeup. It actually used to be a entertainment account it. Glance advanced to more delivered agreeable from you! By the way, how can we communicate?

  51. When I originally commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several emails with the same comment. Is there any way you can remove people from that service? Cheers!

  52. I was very happy to find this page. I want to to thank you for your time due to this wonderful read!! I definitely really liked every part of it and i also have you book marked to check out new stuff in your site.

  53. セックス ロボットIn the case of none of these techniques have been harnessed for mass production of hybrid seed so all lettuce seeds are open-pollinated at this time.Most agriculturists recognize it is unwise to cut costs by saving a few dollars on seeds of a substandard cultivar or by purchasing lower quality seeds.

  54. I’m extremely impressed with your writing skills and also with the layout on your blog. Is this a paid theme or did you modify it yourself? Either way keep up the excellent quality writing, it is rare to see a nice blog like this one today.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button