Information om icke-godkända distributionerInformation for Non-endorsed Distributions

Service avtalet för Azure-plattformen gäller enbart virtuella datorer som kör Linux OS när en av de godkända distributionerna används.The Azure platform SLA applies to virtual machines running the Linux OS only when one of the endorsed distributions is used. För dessa godkända distributioner finns förkonfigurerade Linux-avbildningar på Azure Marketplace.For these endorsed distributions, pre-configured Linux images are provided in the Azure Marketplace.

Alla distributioner som körs på Azure har ett antal krav.All distributions running on Azure have a number of prerequisites. Den här artikeln kan inte vara omfattande eftersom varje distribution är annorlunda.This article can't be comprehensive, as every distribution is different. Även om du uppfyller alla kriterier nedan kan du behöva justera Linux-systemet avsevärt för att det ska fungera korrekt.Even if you meet all the criteria below, you may need to significantly tweak your Linux system for it to run properly.

Vi rekommenderar att du börjar med en av Linux på Azure-godkända distributioner.We recommend that you start with one of the Linux on Azure Endorsed Distributions. I följande artiklar visas hur du förbereder de olika godkända Linux-distributioner som stöds i Azure:The following articles show you how to prepare the various endorsed Linux distributions that are supported on Azure:

Den här artikeln fokuserar på allmän vägledning för att köra din Linux-distribution på Azure.This article focuses on general guidance for running your Linux distribution on Azure.

Allmän Linux-installation anmärkningarGeneral Linux Installation Notes

  • Formatet för Hyper-V virtuell hård disk (VHDX) stöds inte i Azure, endast fast virtuell hård disk.The Hyper-V virtual hard disk (VHDX) format isn't supported in Azure, only fixed VHD. Du kan konvertera disken till VHD-format med hjälp av Hyper-V Manager eller cmdleten Convert-VHD .You can convert the disk to VHD format using Hyper-V Manager or the Convert-VHD cmdlet. Om du använder VirtualBox väljer du fast storlek i stället för standard (dynamiskt allokerat) när du skapar disken.If you're using VirtualBox, select Fixed size rather than the default (dynamically allocated) when creating the disk.
  • Azure stöder gen1 (BIOS boot) & Gen2 (UEFI boot) virtuella datorer.Azure supports Gen1 (BIOS boot) & Gen2 (UEFI boot) Virtual machines.
  • Den maximala storlek som tillåts för den virtuella hård disken är 1 023 GB.The maximum size allowed for the VHD is 1,023 GB.
  • När du installerar Linux-systemet rekommenderar vi att du använder standardpartitioner istället för LVM (Logical Volume Manager) som är standard för många installationer.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. Genom att använda standardpartitioner undviker du LVM namn konflikter med klonade virtuella datorer, särskilt om en OS-disk någonsin är ansluten till en annan identisk virtuell dator för fel sökning.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 eller RAID kan användas på data diskar.LVM or RAID may be used on data disks.
  • Kernel-stöd för att montera UDF-filsystem är nödvändigt.Kernel support for mounting UDF file systems is necessary. Vid första starten av Azure skickas etablerings konfigurationen till den virtuella Linux-datorn med hjälp av UDF-formaterade medier som är kopplade till gästen.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. Azure Linux-agenten måste montera UDF-filsystemet för att läsa konfigurationen och etablera den virtuella datorn.The Azure Linux agent must mount the UDF file system to read its configuration and provision the VM.
  • Tidigare versioner av Linux-kärnan än 2.6.37 stöder inte NUMA på Hyper-V med större VM-storlekar.Linux kernel versions earlier than 2.6.37 don't support NUMA on Hyper-V with larger VM sizes. Det här problemet påverkar främst äldre distributioner med den överordnade Red Hat 2.6.32-kärnan och har åtgärd ATS i Red Hat Enterprise Linux (RHEL) 6,6 (kernel-2.6.32-504).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). System som kör anpassade kernels som är äldre än 2.6.37, eller RHEL-baserade kernels som är äldre än 2.6.32-504, måste ange start parametern numa=off på kernel-kommandoraden i grub. conf.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. Mer information finns i Red Hat KB 436883.For more information, see Red Hat KB 436883.
  • Konfigurera inte en swap-partition på OS-disken.Don't configure a swap partition on the OS disk. Linux-agenten kan konfigureras för att skapa en växlings fil på den tillfälliga resurs disken, enligt beskrivningen i följande steg.The Linux agent can be configured to create a swap file on the temporary resource disk, as described in the following steps.
  • Alla virtuella hård diskar på Azure måste ha en virtuell storlek som är justerad till 1 MB.All VHDs on Azure must have a virtual size aligned to 1 MB. När du konverterar från en RAW-disk till VHD måste du se till att storleken på den råa disken är en multipel av 1 MB före konverteringen, enligt beskrivningen i följande steg.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.

Installera kernel-moduler utan Hyper-VInstalling kernel modules without Hyper-V

Azure körs på Hyper-V-hypervisorn så att Linux kräver vissa kernel-moduler för att köras i Azure.Azure runs on the Hyper-V hypervisor, so Linux requires certain kernel modules to run in Azure. Om du har en virtuell dator som har skapats utanför Hyper-V kan Linux-installations programmet inte inkludera driv rutinerna för Hyper-V i den första RAMDISK-enheten (initrd eller initramfs), om inte den virtuella datorn känner av att den körs i en Hyper-V-miljö.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. När du använder ett annat Virtualization-system (t. ex. VirtualBox, KVM och så vidare) för att förbereda Linux-avbildningen kan du behöva återskapa initrd så att minst hv_vmbus och hv_storvsc kernel-moduler är tillgängliga på den första RAMDISK-datorn.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. Det här kända problemet är för system baserade på den överordnade Red Hat-distributionen och eventuellt andra.This known issue is for systems based on the upstream Red Hat distribution, and possibly others.

Mekanismen för att återskapa initrd-eller initramfs-avbildningen kan variera beroende på distributionen.The mechanism for rebuilding the initrd or initramfs image may vary depending on the distribution. Läs igenom distributionens dokumentation eller support om du vill ha en korrekt procedur.Consult your distribution's documentation or support for the proper procedure. Här är ett exempel på hur du återskapar initrd med hjälp av mkinitrd verktyget:Here is one example for rebuilding the initrd by using the mkinitrd utility:

  1. Säkerhetskopiera den befintliga initrd-avbildningen:Back up the existing initrd image:

    cd /boot
    sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
    
  2. Återskapa initrd med hv_vmbus och hv_storvsc kernel-moduler:Rebuild the initrd with the hv_vmbus and hv_storvsc kernel modules:

    sudo mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
    

Ändra storlek på virtuella hård diskarResizing VHDs

VHD-avbildningar på Azure måste ha en virtuell storlek som är justerad till 1 MB.VHD images on Azure must have a virtual size aligned to 1 MB. Vanligt vis justeras virtuella hård diskar som skapats med Hyper-V korrekt.Typically, VHDs created using Hyper-V are aligned correctly. Om den virtuella hård disken inte justeras korrekt kan du få ett fel meddelande som liknar följande när du försöker skapa en avbildning från din virtuella hård disk.If the VHD isn't aligned correctly, you may receive an error message similar to the following when you try to create an image from your VHD.

  • VHD http: / / <mystorageaccount> . blob.Core.Windows.net/VHDs/MyLinuxVM.VHD har en virtuell storlek på 21475270656 byte som inte stöds.The VHD http://<mystorageaccount>.blob.core.windows.net/vhds/MyLinuxVM.vhd has an unsupported virtual size of 21475270656 bytes. Storleken måste vara ett heltal (i MB).The size must be a whole number (in MBs).

I det här fallet ändrar du storlek på den virtuella datorn med hjälp av Hyper-V Manager-konsolen eller ändra storlek på VHD PowerShell- cmdleten.In this case, resize the VM using either the Hyper-V Manager console or the Resize-VHD PowerShell cmdlet. Om du inte kör i en Windows-miljö rekommenderar vi att du använder qemu-img för att konvertera (om det behövs) och ändra storlek på den virtuella hård disken.If you aren't running in a Windows environment, we recommend using qemu-img to convert (if needed) and resize the VHD.

Anteckning

Det finns en känd bugg i qemu-img- versionerna >= 2.2.1 som resulterar i en felaktigt formaterad virtuell hård disk.There is a known bug in qemu-img versions >=2.2.1 that results in an improperly formatted VHD. Problemet har åtgärd ATS i QEMU 2,6.The issue has been fixed in QEMU 2.6. Vi rekommenderar att du använder antingen qemu-img 2.2.0 eller lägre eller 2,6 eller högre.We recommend using either qemu-img 2.2.0 or lower, or 2.6 or higher.

  1. Att ändra storlek på den virtuella hård disken direkt med hjälp av verktyg som qemu-img eller vbox-manage kan leda till en virtuell hård disk som inte kan startas.Resizing the VHD directly using tools such as qemu-img or vbox-manage may result in an unbootable VHD. Vi rekommenderar att först konvertera den virtuella hård disken till en RAW disk-avbildning.We recommend first converting the VHD to a RAW disk image. Om den virtuella dator avbildningen skapades som en RAW disk avbildning (standardinställningen för vissa hypervisorer som KVM) kan du hoppa över det här steget.If the VM image was created as a RAW disk image (the default for some hypervisors such as KVM), then you may skip this step.

    qemu-img convert -f vpc -O raw MyLinuxVM.vhd MyLinuxVM.raw
    
  2. Beräkna den nödvändiga storleken på disk avbildningen så att den virtuella storleken är justerad till 1 MB.Calculate the required size of the disk image so that the virtual size is aligned to 1 MB. Följande bash shell-skript använder qemu-img info för att fastställa disk avbildningens virtuella storlek och beräknar sedan storleken till nästa 1 MB.The following bash shell script uses qemu-img info to determine the virtual size of the disk image, and then calculates the size to the next 1 MB.

    rawdisk="MyLinuxVM.raw"
    vhddisk="MyLinuxVM.vhd"
    
    MB=$((1024*1024))
    size=$(qemu-img info -f raw --output json "$rawdisk" | \
    gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    
    rounded_size=$(((($size+$MB-1)/$MB)*$MB))
    
    echo "Rounded Size = $rounded_size"
    
  3. Ändra storlek på den råa disken med den $rounded_size som anges ovan.Resize the raw disk using $rounded_size as set above.

    qemu-img resize MyLinuxVM.raw $rounded_size
    
  4. Konvertera nu den råa disken till en virtuell hård disk med fast storlek.Now, convert the RAW disk back to a fixed-size VHD.

    qemu-img convert -f raw -o subformat=fixed -O vpc MyLinuxVM.raw MyLinuxVM.vhd
    

    Eller, med qemu version 2.6 +, inkluderar du force_size alternativet.Or, with qemu version 2.6+, include the force_size option.

    qemu-img convert -f raw -o subformat=fixed,force_size -O vpc MyLinuxVM.raw MyLinuxVM.vhd
    

Krav för linux-kernelLinux Kernel Requirements

LIS-drivrutinerna (Linux Integration Services) för Hyper-V och Azure bidrogs direkt till den överordnade Linux-kärnan.The Linux Integration Services (LIS) drivers for Hyper-V and Azure are contributed directly to the upstream Linux kernel. Många distributioner som innehåller en nyare Linux-kernel-version (t. ex. 3. x) har dessa driv rutiner som redan är tillgängliga, eller som på annat sätt förser de driv rutiner som har fått nya versioner med deras kärnor.Many distributions that include a recent Linux kernel version (such as 3.x) have these drivers available already, or otherwise provide backported versions of these drivers with their kernels. De här driv rutinerna uppdateras ständigt i den överordnade kerneln med nya korrigeringar och funktioner, så när det är möjligt rekommenderar vi att du kör en godkänd distribution som innehåller dessa korrigeringar och uppdateringar.These drivers are constantly being updated in the upstream kernel with new fixes and features, so when possible we recommend running an endorsed distribution that includes these fixes and updates.

Om du använder en variant av Red Hat Enterprise Linux version 6,0 till 6,3 måste du installera de senaste Lis-drivrutinerna för Hyper-V.If you're running a variant of Red Hat Enterprise Linux versions 6.0 to 6.3, then you'll need to install the latest LIS drivers for Hyper-V. Från och med RHEL 6.4 + (och derivat) är LIS-drivrutinerna redan inkluderade i kerneln och det behövs inga ytterligare installations paket.Beginning with RHEL 6.4+ (and derivatives) the LIS drivers are already included with the kernel and so no additional installation packages are needed.

Om en anpassad kernel krävs rekommenderar vi en ny kernel-version (till exempel 3.8 +).If a custom kernel is required, we recommend a recent kernel version (such as 3.8+). För distributioner eller leverantörer som underhåller sin egen kernel måste du regelbundet Backport LIS-drivrutinerna från den överordnade kerneln till din anpassade kernel.For distributions or vendors who maintain their own kernel, you'll need to regularly backport the LIS drivers from the upstream kernel to your custom kernel. Även om du redan kör en relativt ny kernel-version rekommenderar vi starkt att du håller koll på eventuella överordnade korrigeringar i LIS-drivrutinerna och Backport dem efter behov.Even if you're already running a relatively recent kernel version, we highly recommend keeping track of any upstream fixes in the LIS drivers and backport them as needed. Platserna för LIS-drivrutinens källfiler anges i underhållar filen i käll trädet i Linux-kernel:The locations of the LIS driver source files are specified in the MAINTAINERS file in the Linux kernel source tree:

    F:    arch/x86/include/asm/mshyperv.h
    F:    arch/x86/include/uapi/asm/hyperv.h
    F:    arch/x86/kernel/cpu/mshyperv.c
    F:    drivers/hid/hid-hyperv.c
    F:    drivers/hv/
    F:    drivers/input/serio/hyperv-keyboard.c
    F:    drivers/net/hyperv/
    F:    drivers/scsi/storvsc_drv.c
    F:    drivers/video/fbdev/hyperv_fb.c
    F:    include/linux/hyperv.h
    F:    tools/hv/

Följande korrigeringar måste ingå i kerneln.The following patches must be included in the kernel. Den här listan kan inte slutföras för alla distributioner.This list can't be complete for all distributions.

Azure Linux-agentenThe Azure Linux Agent

Azure Linux-agenten waagent tillhandahåller en virtuell Linux-dator i Azure.The Azure Linux Agent waagent provisions a Linux virtual machine in Azure. Du kan hämta den senaste versionen, fil problemen eller skicka pull-begäranden på Linux-agentens GitHub-lagrings platsen.You can get the latest version, file issues, or submit pull requests at the Linux Agent GitHub repo.

  • Linux-agenten lanseras i Apache 2,0-licensen.The Linux agent is released under the Apache 2.0 license. Många distributioner innehåller redan RPM-eller deb-paket för agenten och de här paketen kan enkelt installeras och uppdateras.Many distributions already provide RPM or .deb packages for the agent, and these packages can easily be installed and updated.
  • Azure Linux-agenten kräver python v 2.6 +.The Azure Linux Agent requires Python v2.6+.
  • Agenten kräver även en python-pyasn1-modul.The agent also requires the python-pyasn1 module. De flesta distributioner ger den här modulen ett separat paket som ska installeras.Most distributions provide this module as a separate package to be installed.
  • I vissa fall kanske Azure Linux-agenten inte är kompatibel med NetworkManager.In some cases, the Azure Linux Agent may not be compatible with NetworkManager. Många av de RPM/deb-paket som tillhandahålls av distributioner konfigurera NetworkManager som en konflikt med waagent-paketet.Many of the RPM/deb packages provided by distributions configure NetworkManager as a conflict to the waagent package. I dessa fall kommer den att avinstallera NetworkManager när du installerar Linux-agenten.In these cases, it will uninstall NetworkManager when you install the Linux agent package.
  • Azure Linux-agenten måste vara minst eller högre än den lägsta version som stöds.The Azure Linux Agent must be at or above the minimum supported version.

Allmänna Linux system kravGeneral Linux System Requirements

  1. Ändra start raden för kernel i GRUB eller GRUB2 för att inkludera följande parametrar, så att alla konsol meddelanden skickas till den första serie porten.Modify the kernel boot line in GRUB or GRUB2 to include the following parameters, so that all console messages are sent to the first serial port. Dessa meddelanden kan hjälpa Azure support med fel sökning av problem.These messages can assist Azure support with debugging any issues.

    console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300
    

    Vi rekommenderar också att du tar bort följande parametrar om de finns.We also recommend removing the following parameters if they exist.

    rhgb quiet crashkernel=auto
    

    Grafisk och tyst start är inte användbart i en moln miljö där vi vill att alla loggar skickas till den seriella porten.Graphical and quiet boot isn't useful in a cloud environment, where we want all logs sent to the serial port. crashkernelAlternativet kan lämnas om det behövs, men Observera att den här parametern minskar mängden tillgängligt minne på den virtuella datorn med minst 128 MB, vilket kan vara problematiskt för mindre VM-storlekar.The crashkernel option may be left configured if needed, but note that this parameter reduces the amount of available memory in the VM by at least 128 MB, which may be problematic for smaller VM sizes.

  2. Installera Azure Linux-agenten.Install the Azure Linux Agent.

    Azure Linux-agenten krävs för att kunna tillhandahålla en Linux-avbildning på Azure.The Azure Linux Agent is required for provisioning a Linux image on Azure. Många distributioner tillhandahåller agenten som ett RPM-eller deb-paket (paketet kallas vanligt vis WALinuxAgent eller WALinuxAgent).Many distributions provide the agent as an RPM or .deb package (the package is typically called WALinuxAgent or walinuxagent). Agenten kan också installeras manuellt genom att följa stegen i guiden för Linux-agenten.The agent can also be installed manually by following the steps in the Linux Agent Guide.

  3. Se till att SSH-servern är installerad och konfigurerad för start vid start.Ensure that the SSH server is installed, and configured to start at boot time. Den här konfigurationen är vanligt vis standardvärdet.This configuration is usually the default.

  4. Skapa inte växlings utrymme på OS-disken.Don't create swap space on the OS disk.

    Azure Linux-agenten kan automatiskt konfigurera växlings utrymme med hjälp av den lokala resurs disk som är kopplad till den virtuella datorn efter etableringen på Azure.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. Den lokala resurs disken är en temporär disk och kan tömmas när den virtuella datorn avetableras.The local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. När du har installerat Azure Linux-agenten (steg 2 ovan) ändrar du följande parametrar i/etc/waagent.conf efter behov.After installing the Azure Linux Agent (step 2 above), modify the following parameters in /etc/waagent.conf as needed.

        ResourceDisk.Format=y
        ResourceDisk.Filesystem=ext4
        ResourceDisk.MountPoint=/mnt/resource
        ResourceDisk.EnableSwap=y
        ResourceDisk.SwapSizeMB=2048    ## NOTE: Set this to your desired size.
    
  5. Kör följande kommandon för att avetablera den virtuella datorn.Run the following commands to deprovision the virtual machine.

    sudo waagent -force -deprovision
    export HISTSIZE=0
    logout
    

    Anteckning

    På VirtualBox kan du se följande fel när du har kört waagent -force -deprovision det som säger [Errno 5] Input/output error .On Virtualbox you may see the following error after running waagent -force -deprovision that says [Errno 5] Input/output error. Det här fel meddelandet är inte kritiskt och kan ignoreras.This error message is not critical and can be ignored.

  • Stäng av den virtuella datorn och överför den virtuella hård disken till Azure.Shut down the virtual machine and upload the VHD to Azure.