Nem támogatott disztribúciókra vonatkozó információk

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Rugalmas méretezési készletek

Az Azure platform SLA-ja csak akkor vonatkozik a Linux operációs rendszert futtató virtuális gépekre, ha a támogatott disztribúciók valamelyikét használják. Ezekhez a támogatott disztribúciókhoz előre konfigurált Linux-rendszerképeket biztosítunk a Azure Marketplace.

Az Azure-ban futó összes disztribúciónak számos előfeltétele van. Ez a cikk nem lehet átfogó, mivel minden eloszlás eltérő. Még ha az alábbi feltételeknek is megfelel, előfordulhat, hogy jelentősen finomhangolnia kell a Linux-rendszert ahhoz, hogy megfelelően fusson.

Javasoljuk, hogy az Azure által támogatott disztribúciók egyikében kezdjen linuxos környezetben. A következő cikkek azt mutatják be, hogyan készítheti elő az Azure-ban támogatott különböző támogatott Linux-disztribúciókat:

Ez a cikk a Linux-disztribúció Azure-ban való futtatásához nyújt általános útmutatást.

Általános Linux-telepítési megjegyzések

  • A Hyper-V virtuális merevlemez (VHDX) formátum nem támogatott az Azure-ban, csak a rögzített VHD-k. A lemezt VHD formátumra konvertálhatja a Hyper-V kezelője vagy a Convert-VHD parancsmag használatával. Ha VirtualBoxot használ, a lemez létrehozásakor az alapértelmezett (dinamikusan lefoglalt) helyett válassza a Rögzített méret lehetőséget.
  • Az Azure támogatja a Gen1 (BIOS-rendszerindítás) & Gen2 (UEFI-rendszerindítás) virtuális gépeket.
  • A virtuális merevlemez maximális mérete 1023 GB.
  • A Linux rendszer telepítésekor azt javasoljuk, hogy a logikaikötet-kezelő (LVM) helyett használjon standard partíciókat, amely számos telepítés alapértelmezett beállítása. A standard partíciók használatával elkerülhetők az LVM-névütközések a klónozott virtuális gépekkel, különösen akkor, ha egy operációsrendszer-lemez egy másik azonos virtuális géphez van csatlakoztatva hibaelhárításhoz. Az LVM vagy RAID adatlemezen is használható.
  • Az UDF fájlrendszerek csatlakoztatásának kerneltámogatása szükséges. Az Azure-ban az első rendszerindításkor a kiépítési konfigurációt a rendszer a vendéghez csatolt UDF formátumú adathordozó használatával továbbküldi a Linux rendszerű virtuális gépnek. Az Azure Linux-ügynöknek csatlakoztatnia kell az UDF fájlrendszert, hogy beolvassa a konfigurációját, és kiépítse a virtuális gépet.
  • A 2.6.37-esnél korábbi Linux-kernelverziók nem támogatják a NUMA-t nagyobb méretű Hyper-V-n. Ez a probléma elsősorban a régebbi, a felfelé irányuló Red Hat 2.6.32 kernelt használó disztribúciókat befolyásolja, és az Red Hat Enterprise Linux (RHEL) 6.6-os (kernel-2.6.32-504) verzióban javítva lett. A 2.6.37-esnél régebbi egyéni kerneleket vagy a 2.6.32-504-esnél régebbi RHEL-alapú kerneleket futtató rendszereknek be kell állítaniuk a rendszerindítási paramétert a numa=off grub.conf kernel parancssorában. További információ: Red Hat KB 436883.
  • Ne konfigurálja a felcserélési partíciót az operációsrendszer-lemezen. A Linux-ügynök konfigurálható úgy, hogy felcserélési fájlt hozzon létre az ideiglenes erőforráslemezen az alábbi lépésekben leírtak szerint.
  • Az Azure-ban minden virtuális merevlemeznek 1 MB-hoz igazított virtuális méretűnek kell lennie. Amikor nyers lemezről VHD-re konvertál, győződjön meg arról, hogy a nyers lemez mérete 1 MB többszöröse az átalakítás előtt, az alábbi lépésekben leírtak szerint.

Kernelmodulok telepítése Hyper-V nélkül

Az Azure a Hyper-V hipervizoron fut, így a Linuxnak bizonyos kernelmodulokat kell futtatnia az Azure-ban. Ha olyan virtuális gépe van, amely a Hyper-V-n kívül lett létrehozva, előfordulhat, hogy a Linux-telepítők nem tartalmazzák a Hyper-V illesztőprogramját a kezdeti ramdiskben (initrd vagy initramfs), kivéve, ha a virtuális gép azt észleli, hogy Hyper-V-környezetben fut. Ha egy másik virtualizálási rendszert (például VirtualBox, KVM stb.) használ a Linux-rendszerkép előkészítéséhez, előfordulhat, hogy újra kell építenie a rendszerképet, hogy legalább az hv_vmbus- és hv_storvsc kernelmodulok elérhetők legyen a kezdeti ramdiskban. Ez az ismert probléma a felfelé irányuló Red Hat-disztribúción alapuló rendszerekre, és esetleg más rendszerekre is ki van ásva.

Az initrd vagy initramfs rendszerkép újraépítési mechanizmusa az eloszlástól függően változhat. A megfelelő eljárás érdekében tekintse meg a disztribúció dokumentációját vagy támogatási szolgálatát. Példa a initrd újraépítésére a mkinitrd segédprogrammal:

  1. Biztonságimentés a meglévő rendszerképről:

    cd /boot
    sudo cp initrd-`uname -r`.img  initrd-`uname -r`.img.bak
    
  2. Építse újra az initrd modult a hv_vmbus és hv_storvsc kernelmodulokkal:

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

Virtuális merevlemezek átméretezése

Az Azure-beli VHD-lemezképek virtuális méretének 1 MB-hoz igazodva kell lennie. A Hyper-V használatával létrehozott VHD-k általában megfelelően vannak igazítva. Ha a virtuális merevlemez nincs megfelelően igazítva, a következő hibaüzenethez hasonló hibaüzenet jelenhet meg, amikor lemezképet próbál létrehozni a VHD-ről.

  • A VHD http: .blob.core.windows.net/vhds/MyLinuxVM.vhd nem támogatott virtuális mérete 21475270656 / / <mystorageaccount> bájt. A méretnek egész számnak kell lennie (mb-ban).

Ebben az esetben méretezze át a virtuális gépet a Hyper-V kezelője konzol vagy a Resize-VHD PowerShell-parancsmag használatával. Ha nem egy új környezetben futtatja a Windows, javasoljuk, hogy a használatával konvertálja (ha szükséges) és méretezze át a qemu-img virtuális merevlemezt.

Megjegyzés

A qemu-img verziókban egy ismert hiba >=2.2.1, amely nem megfelelően formázott VHD-t ad vissza. A probléma megoldva lett a QEMU 2.6-ban. Javasoljuk a qemu-img 2.2.0-s vagy újabb, illetve a 2.6-os vagy újabb verzió használatát.

  1. A VHD közvetlen átméretezése olyan eszközökkel, mint a vagy a, a vhd nem qemu-img vbox-manage lehet rendszer nélküli. Javasoljuk, hogy először konvertálja a VHD-t RAW lemezképre. Ha a virtuálisgép-rendszerkép RAW lemezképként lett létrehozva (egyes hipervizorok, például a KVM alapértelmezett beállítása), akkor kihagyhatja ezt a lépést.

    qemu-img convert -f vpc -O raw MyLinuxVM.vhd MyLinuxVM.raw
    
  2. Számítsa ki a lemezkép szükséges méretét úgy, hogy a virtuális méret 1 MB-hoz igazodik. A következő Bash-rendszerhéj-szkript a használatával határozza meg a lemezkép virtuális méretét, majd kiszámítja a méretet a qemu-img info következő 1 MB-ig.

    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. Méretezze át a nyers lemezt a $rounded_size fenti beállításokkal.

    qemu-img resize MyLinuxVM.raw $rounded_size
    
  4. Most konvertálja vissza a RAW lemezt rögzített méretű VHD-ként.

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

    Vagy a qemu 2.6-os vagy újabb verziója esetén használja a force_size lehetőséget.

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

Linux-kernelkövetelmények

A Hyper-V és az Azure Linux Integration Services- (LIS-) illesztőprogramjai közvetlenül a linuxos kernelhez vannak hozzájárulva. Számos disztribúció, amely tartalmaz egy újabb Linux-kernelverziót (például 3.x), már elérhetőek ezek az illesztőprogramok, vagy egyéb módon biztosítja ezeknek az illesztőprogramoknak a támogatott verzióit a kernelekkel. Ezek az illesztőprogramok folyamatosan frissülnek a felfelé irányuló kernelben új javításokkal és funkciókkal, ezért ajánlott egy támogatott disztribúció futtatása, amely tartalmazza ezeket a javításokat és frissítéseket.

Ha az Red Hat Enterprise Linux 6.0-s és 6.3-as verzióinak egy változatát futtatja, akkor telepítenie kell a Hyper-V legújabb LIS-illesztőprogramját. Az RHEL 6.4+-tól (és származékaitól) kezdve a LIS-illesztőprogramok már szerepelnek a kernelben, így nincs szükség további telepítőcsomagra.

Ha egyéni kernelre van szükség, a legújabb kernelverzió (például 3.8+) használatát javasoljuk. A saját kernelt karbantartó disztribúciók vagy szállítók esetében rendszeresen vissza kellportálnia a LIS-illesztőprogramokat a felfelé irányuló kernelből az egyéni kernelbe. Még ha már viszonylag friss kernelverziót futtat is, javasoljuk, hogy kövesse nyomon a LIS-illesztőprogramok összes upstream javítását, és szükség szerint háttérbeportálja őket. A LIS-illesztőprogram forrásfájlja a Linux kernel forrásfában található KARBANTARTÓK fájlban van megadva:

    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 következő javításokat kell tartalmazni a kernelben. Ez a lista nem lehet teljes az összes disztribúcióhoz.

Az Azure Linux-ügynök

Az Azure Linux-ügynök waagent linuxos virtuális gépet hoz létre az Azure-ban. Lekéréses kérelmeket a Linux-ügynökhöz vagy a(GitHub kérhet le.

  • A Linux-ügynök apache 2.0-licenccel érhető el. Számos disztribúció már tartalmaz RPM- vagy .deb-csomagokat az ügynökhöz, és ezek a csomagok könnyen telepíthetők és frissíthetők.
  • Az Azure Linux-ügynök használatához Python v2.6+szükséges.
  • Az ügynökhöz a python-pyasn1 modul is szükséges. A legtöbb disztribúció különálló csomagként biztosítja ezt a modult, amely telepítve van.
  • Bizonyos esetekben előfordulhat, hogy az Azure Linux-ügynök nem kompatibilis a NetworkManagerrel. A disztribúciók által biztosított RPM/Deb-csomagok közül sok ütközésként konfigurálja a NetworkManager-t a waagent csomaggal való ütközésként. Ezekben az esetekben a Rendszer eltávolítja a NetworkManager eszközt a Linux-ügynökcsomag telepítésekor.
  • Az Azure Linux-ügynöknek legalább a támogatott verziónál kell lennie.

A Linux rendszerkövetelményei

  1. Módosítsa úgy a GRUB vagy GRUB2 kernel-rendszerindító sorát, hogy tartalmazza a következő paramétereket, hogy minden konzolüzenetet az első soros portra küld. Ezek az üzenetek segíthetnek Azure-támogatás problémák hibakeresésében.

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

    Javasoljuk továbbá, hogy távolítsa el a következő paramétereket, ha léteznek.

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes rendszerindítás nem hasznos felhőalapú környezetben, ahol minden naplót a soros portra szeretnénk küldeni. A beállítás szükség esetén konfigurálva hagyható, de vegye figyelembe, hogy ez a paraméter a virtuális gépen rendelkezésre álló memória mennyiségét legalább 128 MB-rel csökkenti, ami kisebb virtuálisgép-méretek esetén problémás crashkernel lehet.

  2. Telepítse az Azure Linux-ügynököt.

    Linux-rendszerkép Azure-beli üzembe telepítéséhez Azure Linux-ügynök szükséges. Számos disztribúció biztosítja az ügynököt RPM- vagy .deb-csomagként (a csomag neve általában WALinuxAgent vagy walinuxagent). Az ügynök manuálisan is telepíthető a Linux-ügynök útmutatója lépéseit követve.

  3. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és a rendszerindításkor való indításra van konfigurálva. Ez általában az alapértelmezett konfiguráció.

  4. Ne hozzon létre felcserélési területet az operációsrendszer-lemezen.

    Az Azure Linux-ügynök automatikusan konfigurálhatja a felcserélési területet a virtuális géphez csatolt helyi erőforráslemezzel az Azure-beli üzembehelyezés után. A helyi erőforráslemez egy ideiglenes lemez, amely a virtuális gép megszüntetésekor kiürítődhet. Az Azure Linux-ügynök telepítése után (a fenti 2. lépés) szükség szerint módosítsa a következő paramétereket az /etc/waagent.conf fájlban.

        ResourceDisk.Format=y
        ResourceDisk.Filesystem=ext4
        ResourceDisk.MountPoint=/mnt/resource
        ResourceDisk.EnableSwap=y
        ResourceDisk.SwapSizeMB=2048    ## NOTE: Set this to your desired size.
    
  5. Futtassa az alábbi parancsokat a virtuális gép megszüntetése.

    sudo waagent -force -deprovision
    export HISTSIZE=0
    logout
    

    Megjegyzés

    A Virtualboxban a következő hibaüzenet jelenhet meg a futtatása waagent -force -deprovision után: [Errno 5] Input/output error . Ez a hibaüzenet nem kritikus fontosságú, és figyelmen kívül hagyható.

  • Állítsa le a virtuális gépet, és töltse fel a virtuális merevlemezt az Azure-ba.