Dela via


Översikt över Vm-agenten för Azure Linux

Microsoft Azure Linux VM Agent (waagent) hanterar Linux- och FreeBSD-etablering, tillsammans med interaktion med den virtuella datorn (VM) med Azure Fabric-kontrollanten. Förutom att Linux-agenten tillhandahåller etableringsfunktioner ger Azure möjlighet att använda cloud-init för vissa Linux-operativsystem.

Linux-agenten tillhandahåller följande funktioner för Linux- och FreeBSD Azure Virtual Machines-distributioner. Mer information finns i Azure Linux VM Agent readme på GitHub.

Avbildningsetablering

  • Skapar ett användarkonto
  • Konfigurerar SSH-autentiseringstyper
  • Distribuerar offentliga SSH-nycklar och nyckelpar
  • Anger värdnamnet
  • Publicerar värdnamnet till plattformens DNS
  • Rapporterar SSH-värdnyckelns fingeravtryck till plattformen
  • Hanterar resursdisken
  • Formaterar och monterar resursdisken
  • Konfigurerar växlingsutrymme

Nätverk

  • Hanterar vägar för att förbättra kompatibiliteten med DHCP-plattformsservrar
  • Säkerställer stabiliteten för nätverksgränssnittets namn

Kernel

  • Konfigurerar virtuell NUMA (inaktiverat för kernel 2.6.37)
  • Förbrukar Hyper-V-entropi för /dev/random
  • Konfigurerar SCSI-timeouter för rotenheten, som kan vara fjärransluten

Diagnostik

  • Tillhandahåller konsolomdirigering till serieporten

System Center Virtual Machine Manager-distributioner

  • Identifierar och startar Virtual Machine Manager-agenten för Linux när den körs i en System Center Virtual Machine Manager 2012 R2-miljö

VM-tillägg

  • Matar in komponenter som skapats av Microsoft och partner i virtuella Linux-datorer för att aktivera automatisering av programvara och konfiguration

Du hittar en referensimplementering för VM-tillägg på GitHub.

Kommunikation

Informationsflödet från plattformen till agenten sker via två kanaler:

  • En dvd för starttid för VM-distributioner. Den här DVD-skivan innehåller en OVF-kompatibel konfigurationsfil (Open Virtualization Format) som innehåller all etableringsinformation förutom SSH-nyckelparen.
  • En TCP-slutpunkt som exponerar ett REST-API som används för att få distributions- och topologikonfiguration.

Krav

Testningen har bekräftat att följande system fungerar med Vm-agenten för Azure Linux.

Kommentar

Den här listan kan skilja sig från de godkända Linux-distributionerna i Azure.

Distribution x64 ARM64
Alma Linux 9.x+ 9.x+
Debian 10+ 11.x+
Flatcar Linux 3374.2.x+ 3374.2.x+
Azure Linux 2.x 2.x
openSUSE 12.3+ Stöds ej
Oracle Linux 6.4+, 7.x+, 8.x+ Stöds ej
Red Hat Enterprise Linux 6.7+, 7.x+, 8.x+, 9.x+ 8.6+, 9.0+
Rocky Linux 9.x+ 9.x+
SLES 12.x+, 15.x+ 15.x SP4+
Ubuntu (LTS-versioner) 18.04+, 20.04+, 22.04+, 24.04+ 20.04+, 22.04+, 24.04+

Viktigt!

RHEL/Oracle Linux 6.10 är den enda RHEL/OL 6-versionen med utökad livscykelsupport tillgänglig. Det utökade underhållet upphör den 30 juni 2024.

Andra system som stöds:

  • Agenten fungerar på fler system än de som anges i dokumentationen. Vi testar dock inte eller ger stöd för distributioner som inte finns med på listan över godkända distributioner. I synnerhet stöds inte FreeBSD. Kunden kan prova FreeBSD 8 och om de stöter på problem kan de öppna ett problem på vår GitHub-lagringsplats och vi kanske kan hjälpa till.

Linux-agenten är beroende av dessa systempaket för att fungera korrekt:

  • Python 2.6+
  • OpenSSL 1.0+
  • OpenSSH 5.3+
  • Filsystemverktyg: sfdisk, fdisk, mkfs, parted
  • Lösenordsverktyg: chpasswd, sudo
  • Textbearbetningsverktyg: sed, grep
  • Nätverksverktyg: ip-route
  • Kernelstöd för montering av UDF-filsystem

Kontrollera att den virtuella datorn har åtkomst till IP-adressen 168.63.129.16. Mer information finns i Vad är IP-adress 168.63.129.16?.

Installation

Den metod som stöds för att installera och uppgradera vm-agenten för Azure Linux använder en RPM eller ett DEB-paket från distributionens paketlagringsplats. Alla godkända distributionsleverantörer integrerar Azure Linux VM Agent-paketet i sina avbildningar och lagringsplatser. Vissa Linux-distributioner kan inaktivera funktionen För automatisk uppdatering av Azure Linux VM Agent och vissa av lagringsplatserna kan också innehålla äldre versioner. Dessa kan ha problem med moderna tillägg, så vi rekommenderar att du har den senaste stabila versionen installerad. För att säkerställa att Azure Linux VM-agenten uppdateras korrekt rekommenderar vi att du har alternativet AutoUpdate.Enabled=Y i /etc/waagent.conf filen eller bara kommenterar ut det alternativet kommer att resultera i dess standardvärden också. Att ha AutoUpdate.Enabled=N tillåter inte att Azure Linux VM-agenten uppdateras korrekt.

Avancerade installationsalternativ, till exempel installation från en källa eller anpassade platser eller prefix, finns i Microsoft Azure Linux VM Agent. Förutom dessa scenarier stöder eller rekommenderar vi inte att du uppgraderar eller installerar om Azure Linux VM-agenten från källan.

Alternativ för kommandoraden

Flaggor

  • verbose: Ökar verbositeten för det angivna kommandot.
  • force: Hoppar över interaktiv bekräftelse för vissa kommandon.

Kommandon

  • help: Visar de kommandon och flaggor som stöds.

  • deprovision: Försöker rensa systemet och göra det lämpligt för ometablering. Åtgärden tar bort:

    • Alla SSH-värdnycklar, om Provisioning.RegenerateSshHostKeyPair de finns y i konfigurationsfilen.
    • Nameserver konfiguration i /etc/resolve.conf.
    • Rotlösenordet från /etc/shadow, om Provisioning.DeleteRootPassword det finns y i konfigurationsfilen.
    • Cachelagrade DHCP-klientlån.

    Klienten återställer värdnamnet till localhost.localdomain.

    Varning

    Avetablering garanterar inte att avbildningen rensas från all känslig information och är lämplig för omdistribution.

  • deprovision+user: Utför allt i deprovision och tar bort det senast etablerade användarkontot (hämtat från /var/lib/waagent) och associerade data. Använd den här parametern när du avetablera en avbildning som tidigare etablerades i Azure så att den kan avbildas och återanvändas.

  • version: Visar versionen av waagent.

  • serialconsole: Konfigurerar GRUB för att markera ttyS0, den första serieporten, som startkonsol. Det här alternativet säkerställer att kernel-startloggar skickas till serieporten och görs tillgängliga för felsökning.

  • daemon: Kör waagent som en daemon för att hantera interaktion med plattformen. Det här argumentet anges till waagent i init-skriptet waagent.

  • start: Kör waagent som en bakgrundsprocess.

Konfiguration

Konfigurationsfilen /etc/waagent.conf styr waagent-åtgärderna. Här är ett exempel på en konfigurationsfil:

Provisioning.Enabled=y
Provisioning.DeleteRootPassword=n
Provisioning.RegenerateSshHostKeyPair=y
Provisioning.SshHostKeyPairType=rsa
Provisioning.MonitorHostName=y
Provisioning.DecodeCustomData=n
Provisioning.ExecuteCustomData=n
Provisioning.AllowResetSysUser=n
Provisioning.PasswordCryptId=6
Provisioning.PasswordCryptSaltLength=10
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.MountOptions=None
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
LBProbeResponder=y
Logs.Verbose=n
OS.RootDeviceScsiTimeout=300
OS.OpensslPath=None
HttpProxy.Host=None
HttpProxy.Port=None
AutoUpdate.Enabled=y

Konfigurationsalternativen är av tre typer: Boolean, Stringeller Integer. Du kan ange konfigurationsalternativen Boolean som y eller n. Det särskilda nyckelordet None kan användas för vissa konfigurationsposter av strängtyp.

Provisioning.Enabled

Type: Boolean
Default: y

Med det här alternativet kan användaren aktivera eller inaktivera etableringsfunktionen i agenten. Giltiga värden är y och n. Om etableringen är inaktiverad bevaras SSH-värden och användarnycklarna i avbildningen och konfigurationen i Azure-etablerings-API:et ignoreras.

Kommentar

Parametern Provisioning.Enabled är standard på n Ubuntu Cloud Images som använder cloud-init för etablering.

Provisioning.DeleteRootPassword

Type: Boolean
Default: n

Om värdet är yraderar agenten rotlösenordet i /etc/shadow-filen under etableringsprocessen.

Provisioning.RegenerateSshHostKeyPair

Type: Boolean
Default: y

Om värdet är ytar agenten bort alla SSH-värdnyckelpar från /etc/ssh/ under etableringsprocessen, inklusive ECDSA, DSA och RSA. Agenten genererar ett enda nytt nyckelpar.

Konfigurera krypteringstypen för det nya nyckelparet Provisioning.SshHostKeyPairType med hjälp av posten . Vissa distributioner återskapar SSH-nyckelpar för eventuella krypteringstyper som saknas när SSH-daemonen startas om, till exempel efter en omstart.

Provisioning.SshHostKeyPairType

Type: String
Default: rsa

Du kan ange det här alternativet till en krypteringsalgoritmtyp som SSH-daemonen stöder på den virtuella datorn. De värden som vanligtvis stöds är rsa, dsaoch ecdsa. Filen putty.exe i Windows stöder ecdsainte . Om du tänker använda putty.exe i Windows för att ansluta till en Linux-distribution använder du rsa eller dsa.

Provisioning.MonitorHostName

Type: Boolean
Default: y

Om värdet är yövervakar waagent den virtuella Linux-datorn för en ändring av värdnamnet, som returneras av hostname kommandot. Waagent uppdaterar sedan nätverkskonfigurationen i avbildningen automatiskt för att återspegla ändringen. Om du vill skicka namnändringen till DNS-servrarna startas nätverket om på den virtuella datorn. Den här omstarten resulterar i en kort förlust av Internetanslutningen.

Provisioning.DecodeCustomData

Type: Boolean
Default: n

Om värdet är yavkodar CustomData waagenten från Base64.

Provisioning.ExecuteCustomData

Type: Boolean
Default: n

Om värdet är ykörs CustomData waagenten efter etableringen.

Provisioning.AllowResetSysUser

Type: Boolean
Default: n

Det här alternativet gör att lösenordet för systemanvändaren kan återställas. Som standard är den inaktiverad.

Provisioning.PasswordCryptId

Type: String
Default: 6

Det här alternativet anger den algoritm som crypt används när den genererar en lösenordshash. Giltiga värden är:

  • 1: MD5
  • 2a:Blowfish
  • 5: SHA-256
  • 6: SHA-512

Provisioning.PasswordCryptSaltLength

Type: String
Default: 10

Det här alternativet anger längden på slumpmässigt salt som används för att generera en lösenordshash.

ResourceDisk.Format

Type: Boolean
Default: y

Om värdet är y, formaterar waagent och monterar resursdisken som plattformen tillhandahåller, såvida inte filsystemtypen som användaren begärde i ResourceDisk.Filesystem är ntfs. Agenten gör en enda Linux-partition (ID 83) tillgänglig på disken. Den här partitionen är inte formaterad om den kan monteras.

ResourceDisk.Filesystem

Type: String
Default: ext4

Det här alternativet anger filsystemtypen för resursdisken. Värden som stöds varierar beroende på Linux-distribution. Om strängen är Xska den mkfs.X finnas på Linux-avbildningen.

ResourceDisk.MountPoint

Type: String
Default: /mnt/resource

Det här alternativet anger den sökväg där resursdisken är monterad. Resursdisken är en tillfällig disk och kan tömmas när den virtuella datorn avetableras.

ResourceDisk.MountOptions

Type: String
Default: None

Det här alternativet anger vilka alternativ för diskmontering som ska skickas till mount -o kommandot. Värdet är en kommaavgränsad lista med värden, till exempel nodev,nosuid. Mer information finns på den mount(8) manuella sidan.

ResourceDisk.EnableSwap

Type: Boolean
Default: n

Om du anger det här alternativet skapar agenten en växlingsfil (/swapfile) på resursdisken och lägger till den i systemväxlingsutrymmet.

ResourceDisk.SwapSizeMB

Type: Integer
Default: 0

Det här alternativet anger storleken på växlingsfilen i megabyte.

Logs.Verbose

Type: Boolean
Default: n

Om du anger det här alternativet ökas loggverositeten. Waagent loggar till /var/log/waagent.log och använder systemfunktionerna logrotate för att rotera loggar.

ÅS. AktiveraRDMA

Type: Boolean
Default: n

Om du anger det här alternativet försöker agenten installera och läser sedan in en RDMA-kerneldrivrutin som matchar versionen av den inbyggda programvaran på den underliggande maskinvaran.

ÅS. RootDeviceScsiTimeout

Type: Integer
Default: 300

Det här alternativet konfigurerar SCSI-tidsgränsen i sekunder på OS-disken och dataenheterna. Om den inte har angetts används systemets standardvärden.

ÅS. OpensslPath

Type: String
Default: None

Du kan använda det här alternativet för att ange en alternativ sökväg för opensl-binärfilen som ska användas för kryptografiska åtgärder.

HttpProxy.Host, HttpProxy.Port

Type: String
Default: None

Om du anger det här alternativet använder agenten den här proxyservern för att få åtkomst till Internet.

AutoUpdate.Enabled

Type: Boolean
Default: y

Aktivera eller inaktivera automatisk uppdupdate för bearbetning av måltillstånd. Standardvärdet är y.

Automatisk logginsamling i Azure Linux-gästagenten

Från och med version 2.7+ har Azure Linux-gästagenten en funktion för att automatiskt samla in vissa loggar och ladda upp dem. Den här funktionen kräver systemdför närvarande . Den använder en ny systemd sektor med namnet azure-walinuxagent-logcollector.slice för att hantera resurser medan samlingen utförs.

Syftet är att underlätta offlineanalys. Agenten skapar en .zip fil med vissa diagnostikloggar innan de laddas upp till den virtuella datorns värd. Teknikteam och supportpersonal kan hämta filen för att undersöka problem för den virtuella datorns ägare. Teknisk information om de filer som Azure Linux-gästagenten samlar in finns i filen azurelinuxagent/common/logcollector_manifests.py i agentens GitHub-lagringsplats.

Du kan inaktivera det här alternativet genom att redigera /etc/waagent.conf. Uppdatera Logs.Collect till n.

Ubuntu Cloud Images

Ubuntu Cloud Images använder cloud-init för att utföra många konfigurationsuppgifter som Den virtuella Azure Linux-agenten annars skulle hantera. Följande skillnader gäller:

  • Provisioning.Enabled som standard på n Ubuntu Cloud Images som använder cloud-init för att utföra etableringsuppgifter.

  • Följande konfigurationsparametrar påverkar inte Ubuntu Cloud Images som använder cloud-init för att hantera resursdisken och växla utrymme:

    • ResourceDisk.Format
    • ResourceDisk.Filesystem
    • ResourceDisk.MountPoint
    • ResourceDisk.EnableSwap
    • ResourceDisk.SwapSizeMB

Information om hur du konfigurerar resursdiskens monteringspunkt och växlingsutrymme på Ubuntu Cloud Images under etableringen finns i följande resurser: