Skip to content

Commit 27213c4

Browse files
authored
Merge pull request #180252 from srijang/patch-16
Updated changes for cloud-init >=21.2
2 parents 492ad40 + c6863ec commit 27213c4

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

articles/virtual-machines/linux/create-upload-generic.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Create and upload a Linux VHD
33
description: Learn to create and upload an Azure virtual hard disk (VHD) that contains a Linux operating system.
4-
author: gbowerman
4+
author: srijang
55
ms.service: virtual-machines
66
ms.collection: linux
77
ms.topic: how-to
8-
ms.date: 10/08/2018
9-
ms.author: guybo
8+
ms.date: 11/17/2021
9+
ms.author: srijangupta
1010

1111
---
1212
# Information for Non-endorsed Distributions
@@ -33,14 +33,25 @@ We recommend that you start with one of the [Linux on Azure Endorsed Distributio
3333
This article focuses on general guidance for running your Linux distribution on Azure.
3434

3535
## General Linux Installation Notes
36-
* The Hyper-V virtual hard disk (VHDX) format isn't supported in Azure, only *fixed VHD*. You can convert the disk to VHD format using Hyper-V Manager or the [Convert-VHD](/powershell/module/hyper-v/convert-vhd) cmdlet. If you're using VirtualBox, select **Fixed size** rather than the default (dynamically allocated) when creating the disk.
37-
* Azure supports Gen1 (BIOS boot) & Gen2 (UEFI boot) Virtual machines.
38-
* The maximum size allowed for the VHD is 1,023 GB.
39-
* When installing the Linux system we recommend that you use standard partitions, rather than Logical Volume Manager (LVM) which is the default for many installations. Using standard partitions will avoid LVM name conflicts with cloned VMs, particularly if an OS disk is ever attached to another identical VM for troubleshooting. [LVM](/previous-versions/azure/virtual-machines/linux/configure-lvm) or [RAID](/previous-versions/azure/virtual-machines/linux/configure-raid) may be used on data disks.
40-
* Kernel support for mounting UDF file systems is necessary. At first boot on Azure the provisioning configuration is passed to the Linux VM by using UDF-formatted media that is attached to the guest. The Azure Linux agent must mount the UDF file system to read its configuration and provision the VM.
41-
* Linux kernel versions earlier than 2.6.37 don't support NUMA on Hyper-V with larger VM sizes. This issue primarily impacts older distributions using the upstream Red Hat 2.6.32 kernel, and was fixed in Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). Systems running custom kernels older than 2.6.37, or RHEL-based kernels older than 2.6.32-504 must set the boot parameter `numa=off` on the kernel command line in grub.conf. For more information, see [Red Hat KB 436883](https://access.redhat.com/solutions/436883).
42-
* Don't configure a swap partition on the OS disk. The Linux agent can be configured to create a swap file on the temporary resource disk, as described in the following steps.
43-
* All VHDs on Azure must have a virtual size aligned to 1 MB. When converting from a raw disk to VHD you must ensure that the raw disk size is a multiple of 1 MB before conversion, as described in the following steps.
36+
1. The Hyper-V virtual hard disk (VHDX) format isn't supported in Azure, only *fixed VHD*. You can convert the disk to VHD format using Hyper-V Manager or the [Convert-VHD](/powershell/module/hyper-v/convert-vhd) cmdlet. If you're using VirtualBox, select **Fixed size** rather than the default (dynamically allocated) when creating the disk.
37+
38+
2. Azure supports Gen1 (BIOS boot) & Gen2 (UEFI boot) Virtual machines.
39+
40+
3. The maximum size allowed for the VHD is 1,023 GB.
41+
42+
4. When installing the Linux system we recommend that you use standard partitions, rather than Logical Volume Manager (LVM) which is the default for many installations. Using standard partitions will avoid LVM name conflicts with cloned VMs, particularly if an OS disk is ever attached to another identical VM for troubleshooting. [LVM](/previous-versions/azure/virtual-machines/linux/configure-lvm) or [RAID](/previous-versions/azure/virtual-machines/linux/configure-raid) may be used on data disks.
43+
44+
5. Kernel support for mounting UDF file systems is necessary. At first boot on Azure the provisioning configuration is passed to the Linux VM by using UDF-formatted media that is attached to the guest. The Azure Linux agent must mount the UDF file system to read its configuration and provision the VM.
45+
46+
6. Linux kernel versions earlier than 2.6.37 don't support NUMA on Hyper-V with larger VM sizes. This issue primarily impacts older distributions using the upstream Red Hat 2.6.32 kernel, and was fixed in Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). Systems running custom kernels older than 2.6.37, or RHEL-based kernels older than 2.6.32-504 must set the boot parameter `numa=off` on the kernel command line in grub.conf. For more information, see [Red Hat KB 436883](https://access.redhat.com/solutions/436883).
47+
7. Don't configure a swap partition on the OS disk. The Linux agent can be configured to create a swap file on the temporary resource disk, as described in the following steps.
48+
49+
8. All VHDs on Azure must have a virtual size aligned to 1 MB. When converting from a raw disk to VHD you must ensure that the raw disk size is a multiple of 1 MB before conversion, as described in the following steps.
50+
51+
> [!NOTE]
52+
> Make sure **'udf'** (cloud-init >= 21.2) and **'vfat'** modules are enable. Blacklisting the udf module will cause a provisioning failure and backlisting vfat module will cause both provisioning and boot failures. **_Cloud-init < 21.2 are not affected and does not require this change._**
53+
>
54+
4455

4556
### Installing kernel modules without Hyper-V
4657
Azure runs on the Hyper-V hypervisor, so Linux requires certain kernel modules to run in Azure. If you have a VM that was created outside of Hyper-V, the Linux installers may not include the drivers for Hyper-V in the initial ramdisk (initrd or initramfs), unless the VM detects that it's running on a Hyper-V environment. When using a different virtualization system (such as VirtualBox, KVM, and so on) to prepare your Linux image, you may need to rebuild the initrd so that at least the hv_vmbus and hv_storvsc kernel modules are available on the initial ramdisk. This known issue is for systems based on the upstream Red Hat distribution, and possibly others.
@@ -187,4 +198,4 @@ The [Azure Linux Agent](../extensions/agent-linux.md) `waagent` provisions a Lin
187198
> [!NOTE]
188199
> On Virtualbox you may see the following error after running `waagent -force -deprovision` that says `[Errno 5] Input/output error`. This error message is not critical and can be ignored.
189200
190-
* Shut down the virtual machine and upload the VHD to Azure.
201+
* Shut down the virtual machine and upload the VHD to Azure.

0 commit comments

Comments
 (0)