Skip to content

Operating System: Linux and Windows

The Managed VM module deploys the VM, its disks and the surrounding services. What happens inside the OS is yours: partitions and file systems, services, software, antivirus, users, hardening and application settings. The module and the platform team do not support actions inside the OS.

Available images

You pick an OS type (linux or windows) and optionally an OS SKU. The module maps its own SKU names to Azure images. If you leave the SKU out, the latest default image is used.

OS type SKU names (examples)
Linux ubuntu_2204_gen2 (default in the request form; older ubuntu_1804 and ubuntu_2004 names exist but are out of support), ubuntu_2404, rhel_8_10, rhel_9_6, rhel_10_0, each RHEL also with a _gen2 variant
Windows datacenter_2022 (default), datacenter_2022_core, datacenter_2019, datacenter_2019_core, and from a later module version windows_server_2025_datacenter_azure_edition and windows_server_2025_datacenter_core_azure_edition

Instead of a listed image, a custom image from the Azure Marketplace is possible. Ask your platform team whether it is allowed on your platform, and who is responsible for the licence and the support of that image.

The list grows with each module version, and old images fall out of support at the vendor. Ask your platform team which SKU names your version supports, and read the release notes pattern.

Licensing

The module has a license_type option to use Azure Hybrid Benefit on Windows and Linux VMs. For Windows VMs the default is Windows_Server. Check your licence agreement before you rely on it.

Linux: add a data disk

A new data disk that you added through a change request is attached to the VM but not yet partitioned. The following script finds the new disk, creates one partition over the full capacity, formats it with XFS and mounts it on /datadrive. It is an example from a draft runbook, not a supported tool. Read it before you run it: it formats a disk.

DIR="/datadrive"
if [ ! -d "$DIR" ]; then
  drive=$(lsblk -r --output NAME,MOUNTPOINT | awk -F \/ '/sd/ { dsk=substr($1,1,3);dsks[dsk]+=1 } END { for ( i in dsks ) { if (dsks[i]==1) print i } }')
  sudo parted /dev/$drive --script mklabel gpt mkpart xfspart xfs 0% 100%
  sudo mkfs.xfs /dev/${drive}1
  sudo partprobe /dev/${drive}1
  sudo mkdir /datadrive
  sudo mount /dev/${drive}1 /datadrive
  uuid=$(blkid -s UUID -o value /dev/${drive}1)

  echo "UUID=${uuid} /datadrive xfs defaults,nofail 1 2" | sudo tee -a /etc/fstab
fi

The script picks the disk that has no partition yet. Check with lsblk that it picked the right one. Microsoft Learn describes the manual way: attach a data disk to a Linux VM.

The same applies to a disk that you restored from a backup: attach it, then mount it (Backup and restore).

Windows: add a data disk

A new data disk has to be initialised in Disk Management before you can use it. Initialise it, create a volume and assign a drive letter. See Microsoft Learn.