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 tesz közzé letöltésre a következő címen https://cloud-images.ubuntu.com/: . Ha saját speciális Ubuntu-rendszerképet kell létrehoznia az Azure-hoz, ahelyett, hogy az alábbi manuális eljárást használnám, javasoljuk, hogy az ismert működő virtuális merevlemezekkel kezdjen, és szükség szerint testre szabja. A legújabb képkiadások mindig a következő helyeken találhatók:

Előfeltételek

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

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 is.
  • A VHDX formátum az Azure-ban nem támogatott, csak rögzített VHD. A lemezt VHD formátumba konvertálhatja a Hyper-V Manager vagy a Convert-VHD parancsmag használatával.
  • A Linux rendszer telepítésekor javasoljuk, hogy az LVM helyett standard partíciókat használjon (gyakran sok telepítés esetén ez az alapértelmezett). Így elkerülhető a klónozott virtuális gépekkel való LVM-névütközés, különösen akkor, ha egy operációsrendszer-lemezt egy másik virtuális géphez kell csatlakoztatni a hibaelhárításhoz. Az LVM vagy a RAID igény szerint adatlemezeken is használható.
  • Ne konfiguráljon felcserélési partíciót vagy swapfile-t az operációsrendszer-lemezen. A cloud-init kiépítési ügynök konfigurálható úgy, hogy swapfájlt vagy swappartíciót hozzon létre az ideiglenes erőforráslemezen. Erről további információt az alábbi lépésekben talál.
  • Az Azure-ban minden virtuális merevlemeznek 1 MB-ra kell igazítania a virtuális méretet. Nyers lemezről VHD-re való konvertáláskor 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ót a Linux telepítési megjegyzéseiben talál.

Manuális lépések

Megjegyzés:

Mielőtt saját egyéni Ubuntu-rendszerképet próbál létrehozni az Azure-hoz, fontolja meg az előre elkészített és tesztelt rendszerképek https://cloud-images.ubuntu.com/ használatát.

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

  2. Kattintson a Csatlakozás 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 ajánlott biztonsági másolatot készíteni:

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
  1. 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) az alábbi parancsok futtatásával:
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
  1. Módosítsa a Grub rendszerindítási sorát úgy, hogy további kernelparamétereket is tartalmazzon az Azure-hoz. Ha ezt meg szeretné nyitni /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 úgy, hogy az tartalmazza a következő paramétereket:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"

Mentse és zárja be a fájlt, majd futtassa a fájlt sudo update-grub. Ez 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.

  1. 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 általában az alapértelmezett.

  2. Telepítse a cloud-initet (a kiépítési ügynököt) és az Azure Linux-ügynököt (a vendégbővítmény-kezelőt). A Cloud-init a rendszer hálózati konfigurációjának konfigurálására (a kiépíté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

Megjegyzés:

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

  1. Távolítsa el a cloud-init alapértelmezett konfigurációit és a hátrahagyott netplan összetevőket, amelyek ütközhetnek a cloud-init kiépítésével az Azure-ban:
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
  1. A cloud-init konfigurálása a rendszer üzembe helyezéséhez 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
  1. Konfigurálja az Azure Linux-ügynököt úgy, hogy a cloud-initre támaszkodjon a kiépítés végrehajtásához. Tekintse meg a WALinuxAgent projektet , amely további információt nyújt ezekről a lehetőségekrő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
  1. A cloud-init és az Azure Linux-ügynök futtatókörnyezeti összetevőinek és naplóinak tisztítása:
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
  1. Futtassa a következő parancsokat a virtuális gép kivonásához és az Azure-beli üzembe helyezés előkészítéséhez:

Megjegyzé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 újbóli üzembe helyezésre. A +user beállítás törli az utolsó kiosztott felhasználói fiókot és a kapcsolódó adatokat.

Figyelmeztetés:

A fenti 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.

sudo waagent -force -deprovision+user
sudo rm -f ~/.bash_history
  1. Kattintson a Művelet gombra –> Leállítás a Hyper-V kezelőben.

  2. 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. Tekintse meg a következő dokumentumokat Convert-VHD : Convert-VHD.

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

  4. Módosítsa a címtárat a rendszerindító EFI-könyvtárra:

cd /boot/efi/EFI
  1. Másolja az ubuntu könyvtárat egy rendszerindítás nevű új könyvtárba:
sudo cp -r ubuntu/ boot
  1. Módosítsa a könyvtárat az újonnan létrehozott rendszerindító könyvtárra:
cd boot
  1. Nevezze át a shimx64.efi fájlt:
sudo mv shimx64.efi bootx64.efi
  1. Nevezze át a grub.cfg fájlt bootx64.cfg fájlra:
sudo mv grub.cfg bootx64.cfg

Következő lépések

Most már készen áll arra, hogy az Ubuntu Linux rendszerű virtuális merevlemez 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.