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:
- Ubuntu 18.04/Bionic: bionic-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 20.04/Focal: focal-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.zip
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 .
A Hyper-V Manager középső paneljén válassza ki a virtuális gépet.
Válassza a Csatlakozás lehetőséget a virtuális gép ablakának megnyitásához.
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.list
elő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
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
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ívottGRUB_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"
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.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.
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-init
A 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) ésgdisk
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 aNetworkManager
csomagokat ésNetworkManager-gnome
a csomagokat.Távolítsa el
cloud-init
az azure-beli kiépítésselcloud-init
ütköző alapértelmezett konfigurációkat és maradéknetplan
ö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
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
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
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
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.
Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben.
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 aConvert-VHD
Convert-VHD dokumentációjában talál.Ha 2. generációs virtuális gépet szeretne üzembe helyezni az Azure-ban, kövesse az alábbi lépéseket:
Módosítsa a könyvtárat a
boot EFI
könyvtárra:cd /boot/efi/EFI
Másolja a könyvtárat
ubuntu
egy új, a következő nevűboot
könyvtárba:sudo cp -r ubuntu/ boot
Módosítsa a könyvtárat az újonnan létrehozott rendszerindító könyvtárra:
cd boot
Nevezze át a
shimx64.efi
fájlt:sudo mv shimx64.efi bootx64.efi
Nevezze át a fájlt a
grub.cfg
következőrebootx64.cfg
:sudo mv grub.cfg bootx64.cfg
Kapcsolódó tartalom
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.