Using VM Tags with vSphere and Veeam Backup & Replication

In this Blog Post I would like to give an overview about vSphere Tags and how to use it within Veeam Backup & Replication. This article will be an introduction on this topic, whereby I am going to write another article regarding some detailed example concepts.

General Overview of vSphere Tags and Categories

First we should set some basics. An explanation of VMware can be found here:

https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.vcenterhost.doc/GUID-E8E854DD-AA97-4E0C-8419-CE84F93C4058.html

With vSphere Tags you can attach metadata to vSphere objects in the vSphere inventory. This could for example be helpful for searching and sorting vSphere infrastructure objects.

A tag works as a label, which can be applied, to objects in the vSphere inventory. A tag is also always assigned to a category. With categories, you can arrange and group tags together. The category itself is used for defining which objects the tags are for. You could for example create a category which only applies to virtual machines. Furthermore, you can define, that more than one tag in this category can be applied to an object (here the virtual machine).

Let’s assume, that you want to sort your virtual machines regarding the operating system. As a virtual machine can have only one operating system, you will create a category, which allows a single tag per virtual machine. Within this category you create different tags for different operating systems. We will use this demonstration tags for backing up virtual machines respective to their operating system.

Here is a quick draft, how this could look like.

CategoryTag
Operating SystemWindows Server 2016 Standard
Operating System Windows Server 2016 Datacenter
Operating System Red Hat Enterprise Linux 7.6
Operating System SUSE Linux Enterprise Server 12 SP1
Operating System SUSE Linux Enterprise Server 12 SP2

Let’s see which steps it needs to achieve this via the vSphere Web Client interface.

Adding Tags and Categorys via vSphere Web Client

First navigate to the vSphere Tags menu within the vSphere Web Client.

vSphere WebClient Tags

Once reached the menu, you will be able to create categories and tags based on your purpose.

vSphere WebClient Add Tags

First of all we are going to create a new category for our Operating System Tags. For achieving this, click “New Category”, which will bring us the creation wizard.

vSphere New Tag Category

After you have created your new category, you will be able to create Tags in this category. Let’s start with the Windows Server Tags first.

vSphere NewTag

After you have created all the Tags within the vSphere Web Client, you can review them in the corresponding list.

vSphere Tag List

After you have created all the tags, the final step is to assign them to your virtual machines. In my case i have a SLES 12 SP1 Kubernetes virtual machine, which i will get the right tag.

vSphere Assign Tag To VM

After a click on “Assign”, the wizard for assigning tags will open. While beeing in that wizard, make sure to select the needed tag for this virtual machine, which in this case is a SLES 12 SP1 virtual machine.

vSphere Assign Tag To VM

Creating the Veeam Backup Job

After assigning the Tag to the virtual machine, we can move on to our Veeam Backup & Replication server. In my case, i created a new Backup Job, and searched for the freshly created Tag “SUSE Linux Enterprise Server 12 SP1”.

Veeam Add Objects From Tag

We are now able to see our newly created Tags which we can select as a source for backing up virtual machines.

Iam going to select the Tag “SUSE Linux Enterprise Server 12 SP1” here, as we have tagged the Kubernetes virtual machine with it.

Veeam Calculated Tag Size

As you can see, Veeam automatically detects all tagged virtual machines and calculates their total size. Once you have added the Tag to your Backup Job, you will only need to Tag your virtual machines. Veeam will automatically detect the newly tagged virtual machines and will process them within the next backup job.

Adding Tags and Categorys via VMware PowerCLI

Before we are looking into creating categories and tags with VMware PowerCLI, i have to mention this Blog Post. The PowerCLI Module has been added to the PowerShell Gallery which is very nice when working with an existing PowerShell in seamless mode.

https://blogs.vmware.com/PowerCLI/2017/04/powercli-install-process-powershell-gallery.html

Get and assign tags to virtual machines with VMware PowerCLI

In the above section, i tagged a virtual machine named “kubernetes2” with the vSphere Web Client. The aim of this section is to add the same tag to another virtual machine named “kubernetes3”.

At first i want to display all virtual machines with the Tag “SUSE Linux Enterprise Server 12 SP1”. This can be done with the following command.

get-VM -tag "SUSE Linux Enterprise Server 12 SP1"

The output will be clear, since we have set the tag to the virtual machine “kubernetes2”.

Get VM Tag

The next step will be tagging the second virtual machine named “kubernetes3” with the same tag. To achieve this, the following command can be used.

New-TagAssignment -Tag "SUSE Linux Enterprise Server 12 SP1" -Entity "kubernetes3"
new tag assignment

If we execute another “get-VM -tag” command, we will see, that the Tag has been successfully assigned to the virtual machine.

get vm after new assignment

Removing Tags via VMware PowerCLI

For the next step, we are going to remove the Tag from the virtual machine named “kubernetes2”. Therefore you can use the following syntax.

get-VM "kubernetes2" | Get-TagAssignment | Remove-TagAssignment
remove vm tag

As a result, you can see that the virtual machine is missing when we are going to execute another “get-VM command”.

Adding new Tags to an existing category via VMware PowerCLI

You probably want to add more tags to an existing category. In this case we are going to add another new Tag for CentOS 7.6 to our existing category named “Operating System”. This can be done with the following command.

Get-TagCategory -Name "Operating System" | New-Tag -Name "CentOS 7.6" -Description "CentOS 7.6 OS"

After you executed this command, you can view all Tags with the “Get-Tag” command.

add new tag in category

Create new Categories and Tags via VMware PowerCLI

Another part of managing tags with the VMware PowerCLI would be to create a new category with new tags. Therefore we are going to create a new category named “Disaster Recovery” and add two new Tags to it.

To create a new category you have to execute the following command.

New-TagCategory -Name "Disaster Recovery" -Description "Disaster Recovery Category" -Cardinality Single -EntityType VM
new tag category

The Cardinality can be “Single” or “Multiple”. Like described in the very beginning of this post, this means that you can either assign one or multiple Tags to a virtual machine.

After the new category has been created, we can add new Tags to this category as described above.

Get-TagCategory -Name "Disaster Recovery" | New-Tag -Name "2 Site DR" -Description "Backup this VM to 2 DR sites"
Get-TagCategory -Name "Disaster Recovery" | New-Tag -Name "3 Site DR" -Description "Backup this VM to 3 DR sites"
add new tags in new category

After creating the new tags in our new Disaster Recovery category, we can finally view all created Tags with the “Get-Tag” command.

get all tags

I hope i could give an overview on the functionality of vSphere Tagging. Furthermore i’m going to publish another Blog Post where I am presenting some concept guides to get started with Veeam and the Tagging Feature.

Thanks for reading, and have a nice day !

About Falko Banaszak

Falko is a Consulting Field Solutions Architect for Modern Data Protection based in Germany working at Pure Storage Inc. In the last 12 years he has built a strong focus on virtualization, BCDR and has a passion for Microsoft 365 & storage systems. He's a Veeam Vanguard, a Veeam Certified Engineer, Veeam Certified Architect and a Veeam User Group founder and leader in Germany.

Check Also

VeeamON 2023 Register

VeeamON 2023

VeeamON 2023 is happening from May 22 to May 25 live in Miami or online! …

Leave a Reply

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