Onaylı olmayan dağıtımlar için bilgiInformation for Non-endorsed Distributions

Azure platformu SLA 'Sı, yalnızca bir onaylama dağılımından biri kullanıldığında Linux işletim sistemini çalıştıran sanal makinelere uygulanır.The Azure platform SLA applies to virtual machines running the Linux OS only when one of the endorsed distributions is used. Bu onaylı dağıtımlar için, önceden yapılandırılmış Linux görüntüleri Azure Marketi 'nde sunulmaktadır.For these endorsed distributions, pre-configured Linux images are provided in the Azure Marketplace.

Azure üzerinde çalışan tüm dağıtımların sayıda önkoşulları vardır.All distributions running on Azure have a number of prerequisites. Her dağıtım farklı olduğu için bu makale kapsamlı olamaz.This article can't be comprehensive, as every distribution is different. Aşağıdaki tüm kriterleri karşılasanız bile, Linux sisteminizin düzgün şekilde çalışması için önemli ölçüde ince ayar gerekebilir.Even if you meet all the criteria below, you may need to significantly tweak your Linux system for it to run properly.

Azure tarafından onaylanan dağıtımlarla bir Linuxile başlamasını öneririz.We recommend that you start with one of the Linux on Azure Endorsed Distributions. Aşağıdaki makalelerde, Azure 'da desteklenen çeşitli desteklenen Linux dağıtımlarını nasıl hazırlayacağınız gösterilmektedir:The following articles show you how to prepare the various endorsed Linux distributions that are supported on Azure:

Bu makalede, Azure 'da Linux dağıtımınızı çalıştırmaya yönelik genel rehberlik ele alınmaktadır.This article focuses on general guidance for running your Linux distribution on Azure.

Genel Linux yükleme notlarıGeneral Linux Installation Notes

  • Hyper-V sanal sabit disk (VHDX) biçimi Azure 'da desteklenmiyor, yalnızca sabıt VHD.The Hyper-V virtual hard disk (VHDX) format isn't supported in Azure, only fixed VHD. Hyper-V Yöneticisi 'Ni veya Convert-VHD cmdlet 'ini kullanarak diski vhd biçimine dönüştürebilirsiniz.You can convert the disk to VHD format using Hyper-V Manager or the Convert-VHD cmdlet. VirtualBox kullanıyorsanız, disk oluştururken varsayılan (dinamik olarak ayrılan) yerine sabit boyut ' u seçin.If you're using VirtualBox, select Fixed size rather than the default (dynamically allocated) when creating the disk.
  • Azure, Gen1 (BIOS önyükleme) & Gen2 (UEFı önyüklemesi) sanal makinelerini destekler.Azure supports Gen1 (BIOS boot) & Gen2 (UEFI boot) Virtual machines.
  • VHD için izin verilen en büyük boyut 1.023 GB 'dir.The maximum size allowed for the VHD is 1,023 GB.
  • Linux sistemini yüklerken, çoğu yükleme için varsayılan olan mantıksal birim Yöneticisi (LVM) yerine standart bölümleri kullanmanızı öneririz.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. Standart bölümlerin kullanılması, özellikle de sorun giderme için bir işletim sistemi diski başka bir özdeş VM 'ye iliştirilmişse, kopyalanmış VM 'lerle LVM adı çakışmalarını önler.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 veya RAID veri disklerinde kullanılıyor olabilir.LVM or RAID may be used on data disks.
  • UDF dosya sistemlerini bağlamak için çekirdek desteği gereklidir.Kernel support for mounting UDF file systems is necessary. Azure 'da ilk önyüklemede sağlama yapılandırması, konuğa bağlı olan UDF biçimli medya kullanılarak Linux VM 'ye geçirilir.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 Aracısı, yapılandırmasını okumak ve VM 'yi sağlamak için UDF dosya sistemini takmalıdır.The Azure Linux agent must mount the UDF file system to read its configuration and provision the VM.
  • 2.6.37 ' den önceki Linux çekirdek sürümleri, Hyper-V üzerinde NUMA 'yı daha büyük VM boyutları ile desteklemez.Linux kernel versions earlier than 2.6.37 don't support NUMA on Hyper-V with larger VM sizes. Bu sorun öncelikle yukarı akış Red Hat 2.6.32 çekirdeğini kullanarak eski dağıtımları etkiler ve Red Hat Enterprise Linux (RHEL) 6,6 (Kernel-2.6.32-504) içinde düzeltilmiştir.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). 2.6.37 'den eski olan özel çekirdekler çalıştıran sistemler veya 2.6.32-504 ' den eski RHEL tabanlı çekirdekler, grub. conf içindeki çekirdek komut satırında numa=off önyükleme parametresini ayarlaması gerekir.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. Daha fazla bilgi için bkz. Red Hat KB 436883.For more information, see Red Hat KB 436883.
  • İşletim sistemi diski üzerinde takas bölümü yapılandırmayın.Don't configure a swap partition on the OS disk. Linux Aracısı, aşağıdaki adımlarda açıklandığı gibi geçici kaynak diskinde bir takas dosyası oluşturmak için yapılandırılabilir.The Linux agent can be configured to create a swap file on the temporary resource disk, as described in the following steps.
  • Azure 'daki tüm VHD 'Lerin 1 MB 'a hizalanmış bir sanal boyutu olmalıdır.All VHDs on Azure must have a virtual size aligned to 1 MB. Bir ham diskten VHD 'ye dönüştürme yaparken, aşağıdaki adımlarda açıklandığı gibi, ham disk boyutunun dönüştürmeden önce 1 MB 'tan fazla olduğundan emin olmanız gerekir.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.

Hyper-V içermeyen çekirdek modülleri yüklemeInstalling kernel modules without Hyper-V

Azure, Hyper-V hiper yöneticisinde çalışır, bu nedenle Linux bazı çekirdek modüllerinin Azure 'da çalıştırılmasını gerektirir.Azure runs on the Hyper-V hypervisor, so Linux requires certain kernel modules to run in Azure. Hyper-V dışında oluşturulmuş bir VM varsa, sanal makine Hyper-V ortamında çalıştığını algıladıkça, Linux yükleyicileri ilk Ramdisk (ınitrd veya initramfs) Hyper-V sürücülerini içermeyebilir.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. Linux görüntünüzü hazırlamak için farklı bir sanallaştırma sistemi (VirtualBox, KVM vb. gibi) kullanırken, ilk Ramdisk 'de en az hv_vmbus ve hv_storvsc çekirdek modüllerinin kullanılabilmesi için ınitrd 'yi yeniden oluşturmanız gerekebilir.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. Bu bilinen sorun, yukarı akış Red Hat dağıtımına ve belki de diğerlerine bağlı olarak sistemler içindir.This known issue is for systems based on the upstream Red Hat distribution, and possibly others.

Initrd veya initramfs görüntüsünü yeniden oluşturma mekanizması dağıtıma göre farklılık gösterebilir.The mechanism for rebuilding the initrd or initramfs image may vary depending on the distribution. Doğru yordam için dağıtım belgelerine veya desteğe başvurun.Consult your distribution's documentation or support for the proper procedure. mkinitrd yardımcı programını kullanarak ınitrd 'yi yeniden oluşturmak için bir örnek aşağıda verilmiştir:Here is one example for rebuilding the initrd by using the mkinitrd utility:

  1. Var olan ınitrd görüntüsünü yedekle:Back up the existing initrd image:

    cd /boot
    sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
    
  2. Initrd 'yi hv_vmbus ve hv_storvsc çekirdek modülleriyle yeniden oluşturun: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`
    

VHD 'leri yeniden boyutlandırmaResizing VHDs

Azure üzerinde VHD görüntülerinin 1 MB 'a hizalanmış bir sanal boyutu olmalıdır.VHD images on Azure must have a virtual size aligned to 1 MB. Genellikle, Hyper-V kullanılarak oluşturulan VHD 'ler doğru şekilde hizalanmıştır.Typically, VHDs created using Hyper-V are aligned correctly. VHD doğru hizalanmazsa, VHD 'nizden bir görüntü oluşturmaya çalıştığınızda aşağıdakine benzer bir hata iletisi alabilirsiniz.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/VHD/MyLinuxVM. vhd 'nin desteklenmeyen bir 21475270656 bayt sanal boyutu vardır.The VHD http://<mystorageaccount>.blob.core.windows.net/vhds/MyLinuxVM.vhd has an unsupported virtual size of 21475270656 bytes. Boyut bir tam sayı olmalıdır (MB cinsinden).The size must be a whole number (in MBs).

Bu durumda, Hyper-V Yöneticisi konsolunu veya Resize-VHD PowerShell cmdlet 'ini kullanarak VM 'yi yeniden boyutlandırın.In this case, resize the VM using either the Hyper-V Manager console or the Resize-VHD PowerShell cmdlet. Windows ortamında çalıştırmıyorsanız, (gerekirse) dönüştürmek ve VHD 'YI yeniden boyutlandırmak için qemu-img kullanmanızı öneririz.If you aren't running in a Windows environment, we recommend using qemu-img to convert (if needed) and resize the VHD.

Not

QEMU-img sürümlerindeki bilinen bir hata vardır > = 2.2.1, hatalı BIÇIMLI bir VHD ile sonuçlanır.There is a known bug in qemu-img versions >=2.2.1 that results in an improperly formatted VHD. Bu sorun QEMU 2,6 ' de düzeltildi.The issue has been fixed in QEMU 2.6. qemu-img 2.2.0 veya Lower ya da 2,6 ya da üstünü kullanmanızı öneririz.We recommend using either qemu-img 2.2.0 or lower, or 2.6 or higher.

  1. qemu-img veya vbox-manage gibi araçları kullanarak doğrudan VHD 'nin yeniden boyutlandırılması, önyükleme yapılamayan bir VHD ile sonuçlanabilir.Resizing the VHD directly using tools such as qemu-img or vbox-manage may result in an unbootable VHD. Önce VHD 'YI bir ham disk görüntüsüne dönüştürmeniz önerilir.We recommend first converting the VHD to a RAW disk image. VM görüntüsü ham disk görüntüsü olarak oluşturulduysa (KVM gibi bazı hiper Yöneticiler için varsayılan değer), bu adımı atlayabilirsiniz.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. Sanal boyutun 1 MB 'a hizalanması için, disk görüntüsünün gerekli boyutunu hesaplayın.Calculate the required size of the disk image so that the virtual size is aligned to 1 MB. Aşağıdaki Bash Shell betiği, disk görüntüsünün sanal boyutunu anlamak için qemu-img info kullanır ve ardından boyutu sonraki 1 MB olarak hesaplar.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. Yukarıda ayarlandığı gibi $rounded_size kullanarak ham diski yeniden boyutlandırın.Resize the raw disk using $rounded_size as set above.

    qemu-img resize MyLinuxVM.raw $rounded_size
    
  4. Şimdi, ham diski sabit boyutlu bir VHD 'ye geri dönüştürün.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
    

    Veya QEMU sürüm 2.6 + ile force_size seçeneğini içerir.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
    

Linux çekirdek gereksinimleriLinux Kernel Requirements

Hyper-V ve Azure için Linux Integration Services (LIS) sürücüleri doğrudan yukarı akış Linux çekirdeğine katkıda bulunur.The Linux Integration Services (LIS) drivers for Hyper-V and Azure are contributed directly to the upstream Linux kernel. Son Linux çekirdek sürümü (3. x gibi) içeren birçok dağıtım, bu sürücülere zaten erişilebilir veya bu sürücülerin kernels ile birlikte karşılanamayan sürümlerini sağlar.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. Bu sürücüler, yeni düzeltmeler ve özelliklerle yukarı akış çekirdeğinden sürekli olarak güncelleştirilir. bu nedenle, bu düzeltmeler ve güncelleştirmeler içeren bir onaylı dağıtım çalıştırmak tavsiye ederiz.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.

6,0 sürümünü 6,3 ' de bir Red Hat Enterprise Linux değişken çalıştırıyorsanız, Hyper-V için en son LIS sürücüleriniyüklemeniz gerekir.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. RHEL 6.4 + (ve türetmeleri) ile başlayarak, LIS sürücüleri zaten çekirdeğe dahil edilmiştir ve ek yükleme paketlerine gerek yoktur.Beginning with RHEL 6.4+ (and derivatives) the LIS drivers are already included with the kernel and so no additional installation packages are needed.

Özel bir çekirdek gerekiyorsa, yeni bir çekirdek sürümü (örneğin, 3.8 +) önerilir.If a custom kernel is required, we recommend a recent kernel version (such as 3.8+). Kendi çekirdeğini koruyacak dağıtımlar veya satıcılar için, LIS sürücülerinin yukarı akış çekirdeğinden özel çekirdeğe düzenli olarak geri bağlantı noktası oluşturmanız gerekir.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. Daha önce görece yeni bir çekirdek sürümü çalıştırıyor olsanız bile, LIS sürücülerinde yukarı akış düzeltmelerinin izlenmesini ve bunları gerektiği şekilde geri almanızı öneririz.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. LIS sürücü kaynak dosyalarının konumları, Linux çekirdek kaynak ağacındaki bakım dosyasında belirtilmiştir: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/

Aşağıdaki düzeltme eklerinin çekirdeğe dahil olması gerekir.The following patches must be included in the kernel. Bu liste tüm dağıtımlar için tamamlanamıyor.This list can't be complete for all distributions.

Azure Linux AracısıThe Azure Linux Agent

Azure Linux aracısı waagent Azure 'Da bir Linux sanal makinesi sağlar.The Azure Linux Agent waagent provisions a Linux virtual machine in Azure. Linux Aracısı GitHubdeposunda en son sürümü alabilir, sorunları değiştirebilir veya çekme istekleri gönderebilirsiniz.You can get the latest version, file issues, or submit pull requests at the Linux Agent GitHub repo.

  • Linux Aracısı Apache 2,0 lisansı altında serbest bırakılır.The Linux agent is released under the Apache 2.0 license. Birçok dağıtım, aracı için zaten RPM veya. Deb paketleri sağlıyor ve bu paketler kolayca yüklenip güncelleştirilemeyebilir.Many distributions already provide RPM or .deb packages for the agent, and these packages can easily be installed and updated.
  • Azure Linux Aracısı Python v 2.6 + gerektirir.The Azure Linux Agent requires Python v2.6+.
  • Aracı Ayrıca Python-pyasn1 modülünü de gerektirir.The agent also requires the python-pyasn1 module. Çoğu dağıtım bu modülü yüklenecek ayrı bir paket olarak sağlar.Most distributions provide this module as a separate package to be installed.
  • Bazı durumlarda, Azure Linux Aracısı NetworkManager ile uyumlu olmayabilir.In some cases, the Azure Linux Agent may not be compatible with NetworkManager. Dağıtımlar tarafından sunulan RPM/Deb paketlerinin birçoğu, NetworkManager 'ı waagent paketine bir çakışma olarak yapılandırır.Many of the RPM/deb packages provided by distributions configure NetworkManager as a conflict to the waagent package. Bu durumlarda, Linux Aracısı paketini yüklediğinizde NetworkManager kaldırılır.In these cases, it will uninstall NetworkManager when you install the Linux agent package.
  • Azure Linux aracısının En düşük desteklenen sürümdeolması gerekir.The Azure Linux Agent must be at or above the minimum supported version.

Genel Linux sistem gereksinimleriGeneral Linux System Requirements

  1. Tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesi için, GRUB veya GRUB2 ' deki çekirdek önyükleme satırını aşağıdaki parametreleri içerecek şekilde değiştirin.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. Bu iletiler, her türlü sorunu gidermek için Azure desteğine yardımcı olabilir.These messages can assist Azure support with debugging any issues.

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

    Ayrıca, varsa aşağıdaki parametreleri kaldırmanızı öneririz.We also recommend removing the following parameters if they exist.

    rhgb quiet crashkernel=auto
    

    Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istiyoruz bir bulut ortamında yararlı değildir.Graphical and quiet boot isn't useful in a cloud environment, where we want all logs sent to the serial port. crashkernel seçeneği, gerekirse yapılandırılmış olabilir, ancak bu parametrenin VM 'deki kullanılabilir bellek miktarını en az 128 MB ile azalttığını ve bu parametrenin daha küçük VM boyutları için sorunlu olabileceğini unutmayın.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. Azure Linux aracısını yükler.Install the Azure Linux Agent.

    Azure Linux Aracısı, Azure 'da bir Linux görüntüsü sağlamak için gereklidir.The Azure Linux Agent is required for provisioning a Linux image on Azure. Birçok dağıtım aracıyı RPM veya. deb paketi olarak sağlar (paket genellikle Walınuxagent veya walınuxagent olarak adlandırılır).Many distributions provide the agent as an RPM or .deb package (the package is typically called WALinuxAgent or walinuxagent). Aracı, Linux Aracısı kılavuzundakiadımları izleyerek el ile de yüklenebilir.The agent can also be installed manually by following the steps in the Linux Agent Guide.

  3. SSH sunucusunun yüklü olduğundan ve önyükleme sırasında başlatılacak şekilde yapılandırıldığından emin olun.Ensure that the SSH server is installed, and configured to start at boot time. Bu yapılandırma genellikle varsayılandır.This configuration is usually the default.

  4. İşletim sistemi diskinde takas alanı oluşturmayın.Don't create swap space on the OS disk.

    Azure Linux Aracısı, Azure 'da sağlamaktan sonra sanal makineye bağlı yerel kaynak diskini kullanarak takas alanını otomatik olarak yapılandırabilir.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. Yerel kaynak disk geçici bir DISKTIR ve VM 'nin sağlaması tamamlandığında boşaltılır.The local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. Azure Linux aracısını yükledikten sonra (yukarıdaki 2. adım),/etc/waagent.exe içindeki aşağıdaki parametreleri gerektiği şekilde değiştirin.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. Sanal makineyi sağlamayı kaldırmak için aşağıdaki komutları çalıştırın.Run the following commands to deprovision the virtual machine.

    sudo waagent -force -deprovision
    export HISTSIZE=0
    logout
    

    Not

    VirtualBox üzerinde, [Errno 5] Input/output errorbildiren waagent -force -deprovision çalıştırdıktan sonra aşağıdaki hatayı görebilirsiniz.On Virtualbox you may see the following error after running waagent -force -deprovision that says [Errno 5] Input/output error. Bu hata iletisi kritik değildir ve yoksayılabilir.This error message is not critical and can be ignored.

  • Sanal makineyi kapatın ve VHD 'yi Azure 'a yükleyin.Shut down the virtual machine and upload the VHD to Azure.