Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Ubuntu publicerar nu officiella virtuella Azure-hårddiskar (VHD) för nedladdning på Ubuntu Cloud Images-webbsidan. Om du behöver skapa en egen specialiserad Ubuntu-avbildning för Azure i stället för att använda den manuella proceduren som följer börjar du med dessa kända fungerande virtuella hårddiskar och anpassar dem efter behov. Du hittar alltid de senaste avbildningsversionerna på följande platser:
- Ubuntu 20.04/Focal: focal-server-cloudimg-amd64-azure.vhd.tar.gz
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.tar.gz
- Ubuntu 24.04/Noble: noble-server-cloudimg-amd64-azure.vhd.tar.gz
Förutsättningar
Den här artikeln förutsätter att du redan har installerat ett Ubuntu Linux-operativsystem (OS) till en virtuell hårddisk. Det finns flera verktyg för att skapa VHD-filer. Ett exempel är en virtualiseringslösning som Hyper-V. Anvisningar finns i Installera Hyper-V-rollen och konfigurera en virtuell dator (VM).
Installationsanmärkningar för Ubuntu
- Fler tips om hur du förbereder Linux för Azure finns i Allmänna linux-installationsanteckningar.
- VHDX-formatet stöds inte i Azure, endast fast virtuell hårddisk. Du kan konvertera disken till VHD-format med hjälp av Hyper-V Manager eller cmdleten
Convert-VHD. - När du installerar Linux-systemet rekommenderar vi att du använder standardpartitioner i stället för Logical Volume Manager (LVM), vilket ofta är standard för många installationer. Dessa standardpartitioner undviker LVM-namnkonflikter med klonade virtuella datorer, särskilt om en OS-disk någonsin behöver anslutas till en annan virtuell dator för felsökning. LVM eller RAID kan också användas på datadiskar.
- Konfigurera inte en växlingspartition eller växlingsfil på OS-disken. Du kan konfigurera etableringsagenten
cloud-initför att skapa en växlingsfil eller en växlingspartition på den tillfälliga resursdisken. Mer information om den här processen finns i följande steg. - Alla virtuella hårddiskar i Azure måste ha en virtuell storlek som är justerad till 1 MB. När du konverterar från en rådisk till en virtuell hårddisk måste du se till att den råa diskstorleken är en multipel på 1 MB före konverteringen. Mer information finns i Installationsanteckningar för Linux.
Manuella steg
Kommentar
Innan du försöker skapa en egen anpassad Ubuntu-avbildning för Azure bör du överväga att använda de fördefinierade och testade bilderna från Ubuntu Cloud Images-webbsidan i stället.
I mittenfönstret i Hyper-V Manager väljer du den virtuella datorn.
Välj Anslut för att öppna fönstret för den virtuella datorn.
Ersätt de aktuella lagringsplatserna i avbildningen för att använda Ubuntus Azure-lagringsplats.
Innan du redigerar
/etc/apt/sources.listrekommenderar vi att du gör en säkerhetskopia:sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo 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 updateUbuntu Azure-avbildningarna använder nu den Azure-skräddarsydda kerneln. Uppdatera operativsystemet till den senaste Azure-skräddarsydda kerneln och installera Azure Linux-verktyg (inklusive Hyper-V-beroenden):
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Ändra kernel-startlinjen för GRUB så att den innehåller extra kernelparametrar för Azure. Om du vill göra det här steget öppnar
/etc/default/grubdu i en textredigerare, letar upp variabeln med namnetGRUB_CMDLINE_LINUX_DEFAULT(eller lägger till den om det behövs) och redigerar den så att den innehåller följande parametrar:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"Spara och stäng den här filen och kör
sudo update-grubsedan . Det här steget säkerställer att alla konsolmeddelanden skickas till den första serieporten, vilket kan hjälpa Azures tekniska support med felsökningsproblem.Kontrollera att SSH-servern är installerad och konfigurerad att starta vid start. Den här inställningen är vanligtvis standardinställningen.
Installera
cloud-init(etableringsagenten) och Azure Linux-agenten (gästtilläggshanteraren).Cloud-initanvändernetplanför att konfigurera systemnätverkskonfigurationen (under etableringen och varje efterföljande start) ochgdiskför att partitionera resursdiskar.sudo apt update sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagentKommentar
Paketet
walinuxagentkan ta bort paketenNetworkManagerochNetworkManager-gnomeom de är installerade.Ta bort
cloud-initstandardkonfigurationer och överblivnanetplanartefakter som kan vara i konflikt medcloud-initetablering i Azure: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/*.yamlKonfigurera
cloud-initför att etablera systemet med hjälp av Azure-datakällan:sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg <<EOF datasource_list: [ Azure ] EOF sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg <<EOF 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 sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg <<EOF reporting: logging: type: log telemetry: type: hyperv EOFKonfigurera Azure Linux-agenten att förlita sig på
cloud-initför att utföra etablering. Mer information om de här alternativen finns i WALinuxAgent-projektet.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.confsudo tee -a /etc/waagent.conf <<EOF # 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 EOFClean
cloud-initoch Azure Linux-agentens körningsartefakter och loggar: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.logAvetablera den virtuella datorn och förbered den för etablering i Azure.
Kommentar
Kommandot
sudo waagent -force -deprovision+usergeneraliserar avbildningen genom att försöka rensa systemet och göra det lämpligt för ometablering. Alternativet+usertar bort det senast etablerade användarkontot och associerade data.sudo waagent -force -deprovision+user sudo rm -f ~/.bash_historyVarning
Avetablering med hjälp av föregående kommando garanterar inte att avbildningen rensas från all känslig information och är lämplig för omdistribution.
Välj Åtgärden>stängs av i Hyper-V Manager.
Azure accepterar endast virtuella hårddiskar med fast storlek. Om den virtuella datorns OS-disk inte är en virtuell hårddisk med fast storlek använder du PowerShell-cmdleten
Convert-VHDoch anger alternativet-VHDType Fixed. Mer information finns i dokumentationen förConvert-VHDi Convert-VHD.Följ dessa steg för att ta med en virtuell dator av generation 2 i Azure:
Ändra katalogen till katalogen
boot EFI:cd /boot/efi/EFIubuntuKopiera katalogen till en ny katalog med namnetboot:sudo cp -r ubuntu/ bootÄndra katalogen till den nyligen skapade startkatalogen:
cd bootByt namn på
shimx64.efifilen:sudo mv shimx64.efi bootx64.efiByt namn på
grub.cfgfilen tillbootx64.cfg:sudo mv grub.cfg bootx64.cfg
Relaterat innehåll
Nu är du redo att använda din virtuella Ubuntu Linux-hårddisk för att skapa nya virtuella datorer i Azure. Om det är första gången du laddar upp VHD-filen till Azure läser du Skapa en virtuell Linux-dator från en anpassad disk.