Megosztás a következőn keresztül:


Ubuntu rendszerű virtuális gép előkészítése az Azure-beli használatra

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

Az Ubuntu mostantól hivatalos Azure-beli virtuális merevlemezeket (VHD-ket) tesz közzé letöltésre az Ubuntu Cloud Images weblapján. Ha az alábbi manuális eljárás helyett saját speciális Ubuntu-rendszerképet kell létrehoznia az Azure-hoz, kezdje ezekkel az ismert működő virtuális merevlemezekkel, és szükség szerint testre szabja őket. A legújabb képkiadásokat mindig a következő helyeken találja:

Előfeltételek

Ez a cikk feltételezi, hogy már telepített egy Ubuntu Linux operációs rendszert (OS) egy VHD-re. A .vhd-fájlok létrehozásához több eszköz is létezik. Ilyen például egy virtualizálási megoldás, például a Hyper-V. Útmutatásért tekintse meg a Hyper-V szerepkör telepítését és egy virtuális gép (VM) konfigurálását.

Ubuntu telepítési megjegyzések

  • A Linux Azure-ra való előkészítésével kapcsolatos további tippekért tekintse meg a Linux általános telepítési megjegyzéseit.
  • A VHDX formátum az Azure-ban nem támogatott, csak rögzített VHD. A lemezt a Hyper-V Managerrel vagy a Convert-VHD parancsmaggal konvertálhatja VHD formátumba.
  • A Linux rendszer telepítésekor javasoljuk, hogy a Logikai kötetkezelő (LVM) helyett standard partíciókat használjon, ami gyakran sok telepítés esetében az alapértelmezett. Ezek a standard partíciók elkerülik a klónozott virtuális gépekkel való LVM-névütközéseket, különösen akkor, ha a hibaelhárításhoz egy operációsrendszer-lemezt egy másik virtuális géphez kell csatlakoztatni. Az LVM vagy a RAID adatlemezeken is használható.
  • Ne konfiguráljon felcserélési partíciót vagy fájlcserét az operációsrendszer-lemezen. A kiépítési cloud-init ügynök konfigurálható úgy, hogy swapfájlt vagy swappartíciót hozzon létre az ideiglenes erőforráslemezen. A folyamatról további információt az alábbi lépésekben talál.
  • Az Azure összes virtuális merevlemezének 1 MB-hoz igazított virtuális méretnek kell lennie. Amikor nyers lemezről VHD-re konvertál, az átalakítás előtt győződjön meg arról, hogy a nyers lemez mérete 1 MB többszöröse. További információkért tekintse meg a Linux telepítési megjegyzéseit.

Manuális lépések

Feljegyzés

Mielőtt saját egyéni Ubuntu-rendszerképet próbál létrehozni az Azure-hoz, fontolja meg az előre összeállított és tesztelt rendszerképek használatát az Ubuntu Cloud Images weblapjáról .

  1. A Hyper-V Manager középső paneljén válassza ki a virtuális gépet.

  2. Válassza a Csatlakozás lehetőséget a virtuális gép ablakának megnyitásához.

  3. Cserélje le a képen lévő aktuális adattárakat az Ubuntu Azure-adattárának használatára.

    A szerkesztés /etc/apt/sources.listelőtt javasoljuk, hogy készítsen biztonsági másolatot:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
    sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
    sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
    sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
    sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
    sudo apt-get update
    
  4. Az Ubuntu Azure-rendszerképek mostantól az Azure-ra szabott kernelt használják. Frissítse az operációs rendszert a legújabb Azure-ra szabott kernelre, és telepítse az Azure Linux-eszközöket (beleértve a Hyper-V-függőségeket is):

    sudo apt update
    sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure
    sudo apt full-upgrade
    sudo reboot
    
  5. Módosítsa a GRUB rendszermag-rendszerindító sorát úgy, hogy további kernelparamétereket tartalmazzon az Azure-hoz. A lépés végrehajtásához nyissa meg /etc/default/grub egy szövegszerkesztőben, keresse meg a hívott GRUB_CMDLINE_LINUX_DEFAULT változót (vagy szükség esetén adja hozzá), és szerkessze a következő paramétereket:

    GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"
    
  6. Mentse és zárja be a fájlt, majd futtassa a fájlt sudo update-grub. Ez a lépés biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet az Azure technikai támogatásának a hibakeresési problémák megoldásában.

  7. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el. Ez a beállítás általában az alapértelmezett beállítás.

  8. Telepítse cloud-init (a kiépítési ügynököt) és az Azure Linux-ügynököt (a vendégbővítmény-kezelőt). Cloud-initA rendszer hálózati konfigurációjának konfigurálására (az üzembe helyezés és az azt követő rendszerindítás során) és gdisk az erőforráslemezek particionálására használjanetplan.

    sudo apt update
    sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagent
    

    Feljegyzés

    Ha walinuxagent telepítve vannak, a csomag eltávolíthatja a NetworkManager csomagokat és NetworkManager-gnome a csomagokat.

  9. Távolítsa el cloud-init az azure-beli kiépítéssel cloud-init ütköző alapértelmezett konfigurációkat és maradék netplan összetevőket:

    sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
    sudo rm -f /etc/cloud/ds-identify.cfg
    sudo rm -f /etc/netplan/*.yaml
    
  10. Konfigurálja cloud-init a rendszer kiépítését az Azure-adatforrás használatával:

    cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
    datasource_list: [ Azure ]
    EOF
    
    cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg
    system_info:
       package_mirrors:
         - arches: [i386, amd64]
           failsafe:
             primary: http://archive.ubuntu.com/ubuntu
             security: http://security.ubuntu.com/ubuntu
           search:
             primary:
               - http://azure.archive.ubuntu.com/ubuntu/
             security: []
         - arches: [armhf, armel, default]
           failsafe:
             primary: http://ports.ubuntu.com/ubuntu-ports
             security: http://ports.ubuntu.com/ubuntu-ports
    EOF
    
    cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg
    reporting:
      logging:
        type: log
      telemetry:
        type: hyperv
    EOF
    
  11. Konfigurálja az Azure Linux-ügynököt a cloud-init kiépítés végrehajtásához. Ezekről a lehetőségekről további információt a WALinuxAgent projektben talál.

    sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
    sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf
    sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
    sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
    
    cat <<EOF | sudo tee -a /etc/waagent.conf
    # For Azure Linux agent version >= 2.2.45, this is the option to configure,
    # enable, or disable the provisioning behavior of the Linux agent.
    # Accepted values are auto (default), waagent, cloud-init, or disabled.
    # A value of auto means that the agent will rely on cloud-init to handle
    # provisioning if it is installed and enabled, which in this case it will.
    Provisioning.Agent=auto
    EOF
    
  12. Tiszta cloud-init és Azure Linux-ügynök futtatókörnyezeti összetevői és naplói:

    sudo cloud-init clean --logs --seed
    sudo rm -rf /var/lib/cloud/
    sudo systemctl stop walinuxagent.service
    sudo rm -rf /var/lib/waagent/
    sudo rm -f /var/log/waagent.log
    
  13. Bontsa ki a virtuális gépet, és készítse elő az Azure-beli üzembe helyezésre.

    Feljegyzés

    A sudo waagent -force -deprovision+user parancs általánosítja a rendszerképet azáltal, hogy megpróbálja megtisztítani a rendszert, és alkalmassá teszi az újraépítésre. A +user beállítás törli az utolsó kiosztott felhasználói fiókot és a kapcsolódó adatokat.

    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    

    Figyelmeztetés

    Az előző parancs használatával végzett leépítés nem garantálja, hogy a rendszerkép minden bizalmas információtól törlődik, és alkalmas az újraterjesztésre.

  14. Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben.

  15. Az Azure csak rögzített méretű virtuális merevlemezeket fogad el. Ha a virtuális gép operációsrendszer-lemeze nem rögzített méretű VHD, használja a Convert-VHD PowerShell-parancsmagot, és adja meg a -VHDType Fixed beállítást. További információt a Convert-VHD Convert-VHD dokumentációjában talál.

  16. Ha 2. generációs virtuális gépet szeretne üzembe helyezni az Azure-ban, kövesse az alábbi lépéseket:

    1. Módosítsa a könyvtárat a boot EFI könyvtárra:

      cd /boot/efi/EFI
      
    2. Másolja a könyvtárat ubuntu egy új, a következő nevű bootkönyvtárba:

      sudo cp -r ubuntu/ boot
      
    3. Módosítsa a könyvtárat az újonnan létrehozott rendszerindító könyvtárra:

      cd boot
      
    4. Nevezze át a shimx64.efi fájlt:

      sudo mv shimx64.efi bootx64.efi
      
    5. Nevezze át a fájlt a grub.cfg következőre bootx64.cfg:

      sudo mv grub.cfg bootx64.cfg
      

Most már készen áll arra, hogy az Ubuntu Linux VHD használatával új virtuális gépeket hozzon létre az Azure-ban. Ha ez az első alkalom, hogy feltölti a .vhd fájlt az Azure-ba, olvassa el a Linux rendszerű virtuális gép létrehozása egyéni lemezről című témakört.