Informatie over niet-goedgekeurde distributiesInformation for Non-endorsed Distributions

De SLA van het Azure-platform is alleen van toepassing op virtuele machines waarop het Linux-besturings systeem wordt uitgevoerd wanneer een van de goedgekeurde distributies wordt gebruikt.The Azure platform SLA applies to virtual machines running the Linux OS only when one of the endorsed distributions is used. Voor deze geplaatste distributies zijn vooraf geconfigureerde Linux-installatie kopieën opgenomen in de Azure Marketplace.For these endorsed distributions, pre-configured Linux images are provided in the Azure Marketplace.

Alle distributies die worden uitgevoerd op Azure, hebben een aantal vereisten.All distributions running on Azure have a number of prerequisites. Dit artikel kan niet uitgebreid worden, aangezien elke distributie anders is.This article can't be comprehensive, as every distribution is different. Zelfs als u voldoet aan alle onderstaande criteria, moet u mogelijk uw Linux-systeem ingrijpend aanpassen zodat het correct kan worden uitgevoerd.Even if you meet all the criteria below, you may need to significantly tweak your Linux system for it to run properly.

U wordt aangeraden te beginnen met een van de Linux in azure goedgekeurde distributies.We recommend that you start with one of the Linux on Azure Endorsed Distributions. In de volgende artikelen wordt uitgelegd hoe u de verschillende getekende Linux-distributies die worden ondersteund op Azure voorbereidt:The following articles show you how to prepare the various endorsed Linux distributions that are supported on Azure:

Dit artikel richt zich op algemene richt lijnen voor het uitvoeren van uw Linux-distributie op Azure.This article focuses on general guidance for running your Linux distribution on Azure.

Algemene Linux-installatie notitiesGeneral Linux Installation Notes

  • De indeling van de virtuele harde schijf (VHDX) van Hyper-V wordt niet ondersteund in azure, alleen vaste VHD.The Hyper-V virtual hard disk (VHDX) format isn't supported in Azure, only fixed VHD. U kunt de schijf converteren naar VHD-indeling met behulp van Hyper-V-beheer of de cmdlet Convert-VHD .You can convert the disk to VHD format using Hyper-V Manager or the Convert-VHD cmdlet. Als u VirtualBox gebruikt, selecteert u vaste grootte in plaats van de standaard waarde (dynamisch toegewezen) bij het maken van de schijf.If you're using VirtualBox, select Fixed size rather than the default (dynamically allocated) when creating the disk.
  • Azure biedt ondersteuning voor gen1 (BIOS Boot) & Gen2 (UEFI boot) virtuele machines.Azure supports Gen1 (BIOS boot) & Gen2 (UEFI boot) Virtual machines.
  • De maximale grootte die is toegestaan voor de VHD is 1.023 GB.The maximum size allowed for the VHD is 1,023 GB.
  • Bij de installatie van het Linux-systeem raden we u aan om standaard partities te gebruiken in plaats van Logical Volume Manager (LVM). Dit is de standaard instelling voor veel installaties.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. Het gebruik van standaard partities voor komt dat LVM naam strijdig is met gekloonde Vm's, met name als een besturingssysteem schijf ooit is gekoppeld aan een andere identieke virtuele machine voor het oplossen van problemen.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 of RAID kan worden gebruikt op gegevens schijven.LVM or RAID may be used on data disks.
  • Kernel-ondersteuning voor het koppelen van UDF-bestands systemen is nood zakelijk.Kernel support for mounting UDF file systems is necessary. Bij de eerste keer opstarten in azure wordt de inrichtings configuratie door gegeven aan de Linux-VM met behulp van UDF-geformatteerde media die aan de gast zijn gekoppeld.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. De Azure Linux-agent moet het UDF-bestands systeem koppelen om de configuratie te lezen en de virtuele machine in te richten.The Azure Linux agent must mount the UDF file system to read its configuration and provision the VM.
  • Linux-kernel-versies ouder dan 2.6.37 bieden geen ondersteuning voor NUMA op Hyper-V met grotere VM-grootten.Linux kernel versions earlier than 2.6.37 don't support NUMA on Hyper-V with larger VM sizes. Dit probleem heeft voornamelijk betrekking op oudere distributies met behulp van de upstream Red Hat 2.6.32 kernel en is opgelost in 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). Systemen met aangepaste kernels die ouder zijn dan 2.6.37 of op RHEL gebaseerde kernels die ouder zijn dan 2.6.32-504, moeten de opstart parameter instellen numa=off op de kernel-opdracht regel in 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. Zie Red Hat KB 436883voor meer informatie.For more information, see Red Hat KB 436883.
  • Configureer geen swap partitie op de besturingssysteem schijf.Don't configure a swap partition on the OS disk. De Linux-agent kan worden geconfigureerd voor het maken van een wissel bestand op de tijdelijke bron schijf, zoals wordt beschreven in de volgende stappen.The Linux agent can be configured to create a swap file on the temporary resource disk, as described in the following steps.
  • Alle Vhd's op Azure moeten een virtuele grootte hebben die is afgestemd op 1 MB.All VHDs on Azure must have a virtual size aligned to 1 MB. Wanneer u van een onbewerkte schijf naar VHD converteert, moet u ervoor zorgen dat de onbewerkte schijf grootte een meervoud van 1 MB vóór de conversie is, zoals wordt beschreven in de volgende stappen.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.

Kernel-modules installeren zonder Hyper-VInstalling kernel modules without Hyper-V

Azure wordt uitgevoerd op de Hyper-V-Hyper Visor, daarom vereist Linux bepaalde kernel-modules om uit te voeren in Azure.Azure runs on the Hyper-V hypervisor, so Linux requires certain kernel modules to run in Azure. Als u een virtuele machine hebt die buiten Hyper-V is gemaakt, bevatten de Linux-installatie Programma's mogelijk niet de drivers voor Hyper-V in de oorspronkelijke ramdisk (initrd of initramfs), tenzij de virtuele machine detecteert dat deze wordt uitgevoerd op een Hyper-V-omgeving.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. Wanneer u een ander virtualisatie systeem (zoals VirtualBox, KVM, enzovoort) gebruikt om de Linux-installatie kopie voor te bereiden, moet u mogelijk de initrd opnieuw bouwen zodat ten minste de hv_vmbus en hv_storvsc kernel-modules beschikbaar zijn op de eerste ramdisk.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. Dit bekende probleem doet zich voor op systemen die zijn gebaseerd op de upstream-implementatie van Red Hat en mogelijk andere.This known issue is for systems based on the upstream Red Hat distribution, and possibly others.

Het mechanisme voor het opnieuw samen stellen van de initrd-of initramfs-installatie kopie kan variëren, afhankelijk van de verdeling.The mechanism for rebuilding the initrd or initramfs image may vary depending on the distribution. Raadpleeg de documentatie of ondersteuning van uw distributie voor de juiste procedure.Consult your distribution's documentation or support for the proper procedure. Hier volgt een voor beeld voor het opnieuw samen stellen van de initrd met het mkinitrd hulp programma:Here is one example for rebuilding the initrd by using the mkinitrd utility:

  1. Maak een back-up van de bestaande initrd-installatie kopie:Back up the existing initrd image:

    cd /boot
    sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
    
  2. Bouw de initrd opnieuw met de hv_vmbus en hv_storvsc kernel-modules: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`
    

Grootte van Vhd's wijzigenResizing VHDs

VHD-installatie kopieën in azure moeten een virtuele grootte hebben die is afgestemd op 1 MB.VHD images on Azure must have a virtual size aligned to 1 MB. Normaal gesp roken worden Vhd's die zijn gemaakt met Hyper-V correct uitgelijnd.Typically, VHDs created using Hyper-V are aligned correctly. Als de VHD niet correct is uitgelijnd, wordt mogelijk een fout bericht van de volgende strekking weer gegeven wanneer u een installatie kopie probeert te maken op basis van uw VHD.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.

  • De VHD http: / / <mystorageaccount> . blob.core.Windows.net/VHDs/MyLinuxVM.VHD heeft een niet-ondersteunde virtuele grootte van 21475270656 bytes.The VHD http://<mystorageaccount>.blob.core.windows.net/vhds/MyLinuxVM.vhd has an unsupported virtual size of 21475270656 bytes. De grootte moet een geheel getal zijn (in MB).The size must be a whole number (in MBs).

In dit geval kunt u de grootte van de virtuele machine wijzigen met de Hyper-V-beheer console of met de Power shell -cmdlet resize-VHD .In this case, resize the VM using either the Hyper-V Manager console or the Resize-VHD PowerShell cmdlet. Als u niet in een Windows-omgeving wordt uitgevoerd, raden we u qemu-img aan om (indien nodig) te converteren en de grootte van de VHD te wijzigen.If you aren't running in a Windows environment, we recommend using qemu-img to convert (if needed) and resize the VHD.

Notitie

Er is een bekende fout in qemu-img- versies >= 2.2.1 dat resulteert in een VHD met een onjuiste indeling.There is a known bug in qemu-img versions >=2.2.1 that results in an improperly formatted VHD. Het probleem is opgelost in QEMU 2,6.The issue has been fixed in QEMU 2.6. We raden u qemu-img aan om 2.2.0 of lager of 2,6 of hoger te gebruiken.We recommend using either qemu-img 2.2.0 or lower, or 2.6 or higher.

  1. Het formaat van de VHD rechtstreeks wijzigen met behulp van hulpprogram ma's zoals qemu-img of vbox-manage kan leiden tot een niet-opstartbaar VHD.Resizing the VHD directly using tools such as qemu-img or vbox-manage may result in an unbootable VHD. U wordt aangeraden eerst de VHD te converteren naar een onbewerkte schijf installatie kopie.We recommend first converting the VHD to a RAW disk image. Als de VM-installatie kopie is gemaakt als een onbewerkte schijf installatie kopie (de standaard instelling voor sommige Hyper visors zoals KVM), kunt u deze stap overs Laan.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. Bereken de vereiste grootte van de schijf installatie kopie zodat de virtuele grootte wordt uitgelijnd op 1 MB.Calculate the required size of the disk image so that the virtual size is aligned to 1 MB. Het volgende bash-shell script gebruikt qemu-img info om de virtuele grootte van de schijf installatie kopie te bepalen, waarna de grootte wordt berekend op de volgende 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. Wijzig de grootte van de onbewerkte schijf met de $rounded_size bovenstaande set.Resize the raw disk using $rounded_size as set above.

    qemu-img resize MyLinuxVM.raw $rounded_size
    
  4. Converteer nu de onbewerkte schijf terug naar een VHD met een vaste grootte.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
    

    Of, met qemu versie 2.6 +, ook de force_size optie.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
    

Vereisten voor Linux-kernelLinux Kernel Requirements

De LIS-Stuur programma's (Linux Integration Services) voor Hyper-V en Azure zijn rechtstreeks aan de upstream Linux-kernel bijgedragen.The Linux Integration Services (LIS) drivers for Hyper-V and Azure are contributed directly to the upstream Linux kernel. Veel distributies die een recente versie van de Linux-kernel bevatten (zoals 3. x), hebben deze Stuur Programma's al beschikbaar of bieden Backported-versies van deze Stuur Programma's aan hun kernels.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. Deze Stuur Programma's worden voortdurend bijgewerkt in de upstream-kernel met nieuwe oplossingen en functies. als dat mogelijk is, wordt u aangeraden een officiële distributie uit te voeren die deze oplossingen en updates bevat.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.

Als u een variant van Red Hat Enterprise Linux versie 6,0 tot 6,3 uitvoert, moet u de meest recente Lis-Stuur Programma's voor Hyper-Vinstalleren.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. Vanaf RHEL 6.4 + (en derivaten) zijn de LIS-Stuur Programma's al opgenomen in de kernel en zijn er geen aanvullende installatie pakketten nodig.Beginning with RHEL 6.4+ (and derivatives) the LIS drivers are already included with the kernel and so no additional installation packages are needed.

Als een aangepaste kernel vereist is, raden we u aan een recente kernel-versie (zoals 3.8 +) te vinden.If a custom kernel is required, we recommend a recent kernel version (such as 3.8+). Voor distributies of leveranciers die hun eigen kernel onderhouden, moet u regel matig de LIS-Stuur Programma's van de upstream-kernel naar uw aangepaste kernel backport.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. Zelfs als u al een relatief recente kernel-versie uitvoert, raden wij u ten zeerste aan om eventuele upstream-oplossingen in de LIS-Stuur Programma's bij te houden en ze zo nodig te backport.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. De locaties van de bron bestanden van het LIS-stuur programma zijn opgegeven in het bestand Maintainers in de bron structuur van de 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/

De volgende patches moeten zijn opgenomen in de kernel.The following patches must be included in the kernel. Deze lijst kan niet worden voltooid voor alle distributies.This list can't be complete for all distributions.

De Azure Linux-agentThe Azure Linux Agent

De Azure Linux-agent waagent richt zich op een virtuele Linux-machine in Azure.The Azure Linux Agent waagent provisions a Linux virtual machine in Azure. U kunt de meest recente versie, bestands problemen of pull-aanvragen indienen via de Linux-agent github opslag plaats.You can get the latest version, file issues, or submit pull requests at the Linux Agent GitHub repo.

  • De Linux-agent wordt uitgebracht onder de Apache 2,0-licentie.The Linux agent is released under the Apache 2.0 license. Veel distributies leveren al RPM-of deb-pakketten voor de agent, en deze pakketten kunnen eenvoudig worden geïnstalleerd en bijgewerkt.Many distributions already provide RPM or .deb packages for the agent, and these packages can easily be installed and updated.
  • De Azure Linux-agent vereist python v 2.6 +.The Azure Linux Agent requires Python v2.6+.
  • De agent vereist ook de module python-pyasn1.The agent also requires the python-pyasn1 module. De meeste distributies bieden deze module als een afzonderlijk pakket dat moet worden geïnstalleerd.Most distributions provide this module as a separate package to be installed.
  • In sommige gevallen is de Azure Linux-agent mogelijk niet compatibel met NetworkManager.In some cases, the Azure Linux Agent may not be compatible with NetworkManager. Veel van de RPM/deb-pakketten die worden verschaft door distributies, configureren NetworkManager als een conflict met het waagent-pakket.Many of the RPM/deb packages provided by distributions configure NetworkManager as a conflict to the waagent package. In dergelijke gevallen wordt NetworkManager verwijderd wanneer u het Linux-agent pakket installeert.In these cases, it will uninstall NetworkManager when you install the Linux agent package.
  • De Azure Linux-agent moet op of hoger zijn dan de Mini maal ondersteunde versie.The Azure Linux Agent must be at or above the minimum supported version.

Algemene Linux-systeem vereistenGeneral Linux System Requirements

  1. Wijzig de kernel-opstart regel in GRUB of GRUB2 zodat de volgende para meters worden toegevoegd, zodat alle console berichten naar de eerste seriële poort worden verzonden.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. Deze berichten kunnen ondersteuning voor Azure bieden bij het opsporen van problemen.These messages can assist Azure support with debugging any issues.

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

    We raden u ook aan de volgende para meters te verwijderen , indien aanwezig.We also recommend removing the following parameters if they exist.

    rhgb quiet crashkernel=auto
    

    Grafisch en stil opstarten zijn niet nuttig in een cloud omgeving, waar we alle logboeken willen verzenden naar de seriële poort.Graphical and quiet boot isn't useful in a cloud environment, where we want all logs sent to the serial port. De crashkernel optie kan indien nodig worden geconfigureerd, maar houd er rekening mee dat deze para meter de hoeveelheid beschikbaar geheugen in de virtuele machine met ten minste 128 MB reduceert. Dit kan problemen opleveren voor kleinere VM-grootten.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. Installeer de Azure Linux-agent.Install the Azure Linux Agent.

    De Azure Linux-agent is vereist voor het inrichten van een Linux-installatie kopie in Azure.The Azure Linux Agent is required for provisioning a Linux image on Azure. Veel distributies bieden de agent als een RPM-of deb-pakket (het pakket heet doorgaans WALinuxAgent of WALinuxAgent).Many distributions provide the agent as an RPM or .deb package (the package is typically called WALinuxAgent or walinuxagent). U kunt de agent ook hand matig installeren door de stappen in de Linux-agent gidste volgen.The agent can also be installed manually by following the steps in the Linux Agent Guide.

  3. Zorg ervoor dat de SSH-server is geïnstalleerd en is geconfigureerd om te starten tijdens het opstarten.Ensure that the SSH server is installed, and configured to start at boot time. Deze configuratie is doorgaans de standaard instelling.This configuration is usually the default.

  4. Maak geen wissel ruimte op de besturingssysteem schijf.Don't create swap space on the OS disk.

    De Azure Linux-agent kan tijdens het inrichten van Azure automatisch wissel ruimte configureren met de lokale bron schijf die aan de VM is gekoppeld.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. De lokale bron schijf is een tijdelijke schijf en kan worden leeg gemaakt wanneer de inrichting van de virtuele machine ongedaan is.The local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. Nadat u de Azure Linux-agent (stap 2 hierboven) hebt geïnstalleerd, wijzigt u de volgende para meters in/etc/waagent.conf naar behoefte.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. Voer de volgende opdrachten uit om de inrichting van de virtuele machine ongedaan te maken.Run the following commands to deprovision the virtual machine.

    sudo waagent -force -deprovision
    export HISTSIZE=0
    logout
    

    Notitie

    Op VirtualBox ziet u mogelijk de volgende fout na het uitvoeren van de waagent -force -deprovision tekst [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. Dit fout bericht is niet kritiek en kan worden genegeerd.This error message is not critical and can be ignored.

  • Sluit de virtuele machine af en upload de VHD naar Azure.Shut down the virtual machine and upload the VHD to Azure.