Linux Virtual Machines

Official Documentation

Service Description

Virtual Machines introduce the IaaS element to Microsoft Azure. They allow the operation of virtual machines on Microsoft Azure that were created by the user or provided by Microsoft. These are charged by the minute. Provisioning a virtual machine requires only the specification of a VHD (standard VHDs are used here) for the booting process, the VM size, and a few configuration parameters (e.g., administrator account, DNS name) depending on the selected VHD.

Documentation for Virtual Machines is split into several sections:

Getting Started

  1. 3/13/2017, Mva
    Most Azure administrators go through a "gotcha" period in which they realize they made mistakes only after deployment. This course, Microsoft Azure Virtual Machines - Getting...
  2. 9/30/2016, Mva
    Want to know more about Microsoft Azure? Join MVP Corey Hynes as he explores Microsoft Azure Virtual Machines, in this installment in a series of courses designed to teach you...

Upcoming Events


Latest Content

Subscribe to News about Linux Virtual Machines


Web Content

Linux Virtual Machines Documentation

1. Overview
     1.1. About Virtual Machines
2. Quickstarts
     2.1. Create VM - Azure CLI
     2.2. Create VM - Portal
     2.3. Create VM - Azure PowerShell
3. Tutorials
     3.1. 1 - Create / manage VMs
     3.2. 2 - Create / manage disks
     3.3. 3 - Automate configuration
     3.4. 4 - Create VM images
     3.5. 5 - Highly available VMs
     3.6. 6 - Create a VM scale set
     3.7. 7 - Load balance VMs
     3.8. 8 - Manage networking
     3.9. 9 - Backup virtual machines
     3.10. 10 - Govern VMs
     3.11. 11 - Monitor and update VMs
     3.12. 12 - Manage VM security
     3.13. 13 - Deploy Jenkins
     3.14. 14 - CI/CD with Azure Pipelines
     3.15. 15a - Create LAMP stack
     3.16. 15b - Create LEMP stack
     3.17. 15c - Create MEAN stack
     3.18. 16 - Secure web server with SSL
4. Samples
     4.1. Azure CLI
     4.2. Azure PowerShell
5. Concepts
     5.1. Azure Resource Manager
     5.2. Regions and availability
     5.3. VM types and sizes
          5.3.1. General purpose
      B-series burstable
          5.3.2. Compute optimized
          5.3.3. Memory optimized
      Constrained vCPUs
          5.3.4. Storage optimized
          5.3.5. GPU optimized
      Setup GPU drivers
          5.3.6. High performance compute
          5.3.7. Previous generations
          5.3.8. Azure compute units (ACU)
          5.3.9. Benchmark scores
     5.4. Endorsed distros
     5.5. Maintenance and updates
     5.6. Disk storage
          5.6.1. Managed Disks
          5.6.2. Premium SSDs
          5.6.3. Standard SSDs
          5.6.4. Ultra SSDs
          5.6.5. Premium storage performance
          5.6.6. Standard storage
          5.6.7. Scalability targets for disks
          5.6.8. Backup and disaster recovery for disks
     5.7. Networking
     5.8. Auto-scale applications
     5.9. Infrastructure automation
     5.10. Security and policy
     5.11. States and lifecycle
     5.12. Monitoring
     5.13. Backup and recovery
     5.14. High performance computing
     5.15. Deployment considerations
          5.15.1. Infrastructure guidelines
          5.15.2. vCPU quotas
6. How-to guides
     6.1. Create VMs
          6.1.1. Use the CLI
          6.1.2. Use a template
          6.1.3. Use REST API
          6.1.4. Copy or clone a VM
     6.2. Secure VMs
          6.2.1. Encrypt
          6.2.2. Use access controls
          6.2.3. Use policies
          6.2.4. Create a Key Vault
          6.2.5. Create and use SSH keys
      On Linux or macOS
      On Windows
      Detailed steps
     6.3. Protect VMs
          6.3.1. Back up a single VM
          6.3.2. Back up multiple VMs
          6.3.3. Restore a disk
          6.3.4. Restore individual files
     6.4. Manage VMs
          6.4.1. VM usage
          6.4.2. Common CLI tasks
          6.4.3. Move a VM
          6.4.4. Change VM size
          6.4.5. Swap the OS disk
          6.4.6. Time sync
          6.4.7. Tag a VM
          6.4.8. Run scripts on a VM
      Custom Script Extension
      Run Command
          6.4.9. Use Remote Desktop
          6.4.10. Join VM to Azure Active Directory
      Red Hat Enterprise Linux
          6.4.11. Log in with Azure Active Directory credentials
          6.4.12. Updates and patches
      Red Hat Update Infrastructure
          6.4.13. Azure VM agent
      Agent update
          6.4.14. Planned maintenance
          6.4.15. Mitigating speculative execution
          6.4.16. Scheduled events
          6.4.17. Monitor metadata
          6.4.18. Get usage metrics with REST
     6.5. Manage costs
          6.5.1. Prepay for VMs - Azure reservations
          6.5.2. Prepay for SUSE software
          6.5.3. What are Azure Reservations?
          6.5.4. VM instance size flexibility
     6.6. Use Images
          6.6.1. Shared image galleries (preview)
      Create shared images using CLI
      Troubleshoot shared images
          6.6.2. Find and use images
          6.6.3. Create custom image
      Generic steps
      Red Hat
      Oracle Linux
          6.6.4. Capture VM to image
          6.6.5. Build image with Packer
          6.6.6. Download existing disk
     6.7. Availability and scale
          6.7.1. Autoscale
          6.7.2. High availability
          6.7.3. Vertically scale
          6.7.4. Create VM in availability zone
     6.8. Use automation tools
          6.8.1. Ansible
      Install and configure
      Create a Linux VM
      Manage a Linux VM
          6.8.2. Terraform
      Install and configure
      Create a complete VM
          6.8.3. Cloud-init
      Cloud-init overview
      Configure VM hostname
      Update packages in a VM
      Add a user on a VM
      Configure swapfile
      Run existing bash script
      Prepare existing VM for cloud-init
          6.8.4. Jenkins
      Create a Jenkins server
      Scale with VM agents
      Publish artifacts to Storage
      Secure Jenkins
     6.9. Run containers
          6.9.1. Create Docker host
          6.9.2. Use Docker Machine
          6.9.3. Use Docker Compose
     6.10. Run applications
          6.10.1. Cloud Foundry
      Deploy your first app
          6.10.2. OpenShift
      OpenShift overview
      OpenShift prerequisites
      OpenShift Origin
      OpenShift Container Platform
      OpenShift post-deployment tasks
      Troubleshooting deployments
          6.10.3. SAP on Azure
          6.10.4. Oracle
          6.10.5. Elasticsearch
          6.10.6. FreeBSD Packet Filter
          6.10.7. Databases
      MySQL on SUSE
      MS SQL on Linux
          6.10.8. High Performance Computing (HPC)
      Run NAMD
      Install NVIDIA GPU drivers
     6.11. Manage storage
          6.11.1. Disks FAQs
          6.11.2. Add a disk
      Azure CLI
      Azure portal
          6.11.3. Detach a disk
          6.11.4. Resize a disk
          6.11.5. Snapshot a disk
          6.11.6. Back up unmanaged disks
          6.11.7. Convert to Managed Disks
          6.11.8. Convert disk between Standard and Premium
          6.11.9. Copy files to a VM
          6.11.10. Migrate to Premium storage with Azure Site Recovery
          6.11.11. Find unattached disks
          6.11.12. Use File storage
          6.11.13. Deploy disks with template
          6.11.14. Using write accelerator
          6.11.15. Enable Ultra SSD
          6.11.16. Optimize performance
      Configure software RAID
      Configure LVM
     6.12. Manage networking
          6.12.1. Create virtual network
          6.12.2. Open ports to a VM
          6.12.3. Assign public IP address
          6.12.4. Use multiple NICs
          6.12.5. Use accelerated networking
          6.12.6. Assign public DNS name
          6.12.7. Find and delete unattached NICs
          6.12.8. DNS resolution
      Use internal DNS
     6.13. Configure managed identities
          6.13.1. Portal
          6.13.2. CLI
          6.13.3. PowerShell
          6.13.4. Azure Resource Manager Template
          6.13.5. REST
          6.13.6. Azure SDKs
     6.14. Use VM extensions
     6.15. Migrate VMs
          6.15.1. Migrate AWS and on-premises VMs
      Migrate from Amazon Web Services (AWS) to Azure
      Upload on-prem VM
      Use Azure Site Recovery
          6.15.2. Migrate from Classic to Azure Resource Manager
      Deep dive on migration
      Plan for migration
      Migrate using the CLI
      Common migration errors
      Community tools for migration
     6.16. Troubleshoot
7. Reference
     7.1. Azure CLI
     7.2. PowerShell
     7.3. .NET
     7.4. Java
     7.5. Node.js
     7.6. Python
     7.7. REST
8. Resources
     8.1. Author templates
     8.2. Build your skills with Microsoft Learn
     8.3. Azure Roadmap
     8.4. Community templates
     8.5. Pricing
     8.6. Regional availability
     8.7. Stack Overflow
     8.8. Videos
     8.9. FAQ

Online Training Content

Date Title
3/30/2017 Pluralsight: Microsoft Azure IaaS Monitoring and Management - Getting Started
3/13/2017 Pluralsight: Microsoft Azure Virtual Machines - Getting Started
9/30/2016 Microsoft Azure for IT Pros Content Series: Virtual Machines


Tool Description
Enable/Disable Accelerated Networking on Azure VM's Microsoft Azure has the option to enable Accelerated Networking on VM's. This script can be used to enable/disable this feature on your Azure VM's.
FixStopAzureV2VM This is a modified version of StopAzureV2Vm. It fixes the failure of the original script to correctly report the stop or fail status.Original description:This Graphical PowerShell runbook connects to Azure using an Automation Run As account and stops all V2 VMs in an Azure su
Week Day Start Azure V2 VM This is a modified version of StartAzureV2Vm that only starts machines on certain days, set in the parameters. As with the original, you can choose to start an individual VM, all VMs in a resource group or all VMs in a subscription. It also fixes the failure of the original scr
Asynchronously destory/nuke all Azure RM resources in an Azure Subscription This script lets you destory/nuke all Azure RM resources in an Azure Subscription asynchronously. You can only run this script remotely from your local machine or elsewhere, but not from within the Azure Subscription which you want to nuke.You need to be already logged into you
Asynchronously Stops all or specific Azure RM VMs in an Azure Subscription This Runbook asynchronously Stops either all Azure RM VMs in an Azure Subscription, or all Azure RM VMs in one or more specified Resource Groups, or one or more VMs in a specific Resource Group, or any number of Random VMs in a Subscription. The choice around which VMs to stop
Asynchronously Starts all or specific Azure RM VMs in an Azure Subscription This Runbook asynchronously Starts either all Azure RM VMs in an Azure Subscription, or all Azure RM VMs in one or more specified Resource Groups, or one or more VMs in a specific Resource Group, or any number of Random VMs in a Subscription. The choice around which VMs to star
Scale down any Azure RM VM from Current Size to New Size within same Family This Runbook lets you Scale down any Azure RM VM from its current Size to a new size that you specify. By default, the new size to scale is Immediately before the current size in the Size Table published by Microsoft, which means the     SizeStep parameter with value -1. However
Scale Up any Azure RM VM from Current Size to New Size within same Family This Runbook lets you Scale Up any Azure RM VM from its current Size to a new size that you specify. By default, the new size to scale is Immediately after the current size in the Size Table published by Microsoft, which means the SizeStep parameter with value 1. However, if yo
Increase the Data Disk Size for an Azure RM VM This Runbook lets you Increase the Data Disk size for a VM. Data Disk Size reduction is not supported by Azure. It supports Data Disk resizing for both Managed and Unmanaged disks. It lets you increase the size only for one Data Disk at a time, and not for all Data Sisks atta
Increase OS Disk Size for an Azure RM VM (Managed and Unmanaged) This Runbook lets you Increase the OS Disk size for a VM. OS Disk Size reduction is not supported by Azure. It supports OS Disk resizing for both Managed and Unmanaged disks as the approach of changing disk sizes for Managed Disks is significantly different from that for Unmana
Easy Shutdown/Start for ARM and Classic VMs This script shutdowns/starts VMs (both ASM and ARM) just by given a Subscription name and a VM name.
Install New Relic Infrastructure client DescriptionThis PowerShell automation runbook installs the New Relic Infrastructure client and enables it with a provided key.. The runbook can install the client on a single computer or multiple. All you need to do, is provide a list commaseperated liste with names of the comput
Automatic Packet Capture ACDC (Azure Connectivity Diagnostic Collector) script allows to automatically start packet capture traces (.cap) on Azure VMs and probing sources as soon as a connectivity failure is detected.
Resize AzureRm Virtual Machine There may be times when you have to scale your virtual machines up or down your Virtual Machines and changing the Virtual Machines size is straight forward, you can change the size of a Azure virtual machine by using either the Azure Management Portal or PowerShell commands. Ho
Automate Installation of Azure Resource Manager (ARM) Virtual Machine Extensions Script to automate the installation of VM Extensions on Azure VMs. The "Extension Name" (Type) and "Publisher Name" are passed are parameters, along with optional "SettingString" JSON that can be used to configure Extension properties.
Azure Resource Manager Virtual Machine Power Management azure-rm-vm-manager.ps1 This script azure-rm-vm-manager.ps1 provides the ability to simultaneously manage Azure Resource Manager IaaS virtual machines power states. Features: Lists all Azure RM IaaS virtual machines and their power states. Start, Stop, Restart all Azure RM IaaS virtual machines.


Date Title Length
Inception: Running Microsoft Azure Stack on Azure - THR2212
Building and managing enterprise-grade Linux solutions on Microsoft Azure - BRK2377
What’s new in SQL Server on Linux and containers - BRK3228
The roadmap for SQL Server - BRK2416
Manage your Azure VMs using Azure Event Grid and serverless - BRK3363
From Ops to DevOps with Windows Server containers and Windows Server 2019 - BRK2237
Ship-it with Azure Pipelines and GitHub - BRK2214
Ensure application availability with cloud-based disaster recovery Azure Site - BRK3078
SQL Server Machine Learning Services: An E2E platform for machine learning - BRK2183
Architecting Oracle solutions on Microsoft Azure - BRK2042

Page 3 of 30