Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Agente de VM do Linux do Azure (waagent) gerencia o provisionamento do Linux e do FreeBSD, juntamente com a interação de máquina virtual (VM) com o controlador de malha do Azure. Além do agente do Linux fornecendo a funcionalidade de provisionamento, o Azure fornece a opção de usar cloud-init para alguns sistemas operacionais do Linux.
Importante
Para obter o suporte mais recente do FIPS 140-3 no Agente Convidado da VM e extensões, acesse aka.ms/linuxagentfipssupport.
O agente Linux fornece a seguinte funcionalidade para implantações do Linux e do FreeBSD em Máquinas Virtuais do Azure. Para obter mais informações, consulte o leiame do Agente de VM do Linux do Azure no GitHub.
Observação
Experimente a assistência de VM para diagnósticos mais rápidos. Recomendamos que você execute VM assist for Windows ou VM assist for Linux. Essas ferramentas de diagnóstico baseadas em script ajudam você a identificar problemas comuns que afetam o Agente Convidado da VM do Azure e a integridade geral da VM.
Se você estiver enfrentando problemas de desempenho com máquinas virtuais, antes de entrar em contato com o suporte, execute essas ferramentas.
Provisionamento de imagem
- Cria uma conta de usuário.
- Configura tipos de autenticação SSH.
- Implanta chaves públicas do Secure Shell (SSH) e pares de chaves.
- Define o nome do host.
- Publica o nome do host no DNS (Sistema de Nomes de Domínio) da plataforma.
- Informa a impressão digital da chave de host SSH para a plataforma.
- Gerencia o disco de recursos.
- Formata e monta o disco de recurso.
- Configura o espaço de troca.
Rede
- Gerencia rotas para melhorar a compatibilidade com servidores DHCP de plataforma.
- Garante a estabilidade do nome da interface de rede.
Kernel
- Configura o NUMA virtual (desabilitado para kernel 2.6.37).
- Consome a entropia do Hyper-V para /dev/random.
- Configura tempos limite de SCSI para o dispositivo raiz, que pode ser remoto.
Diagnósticos
- Fornece o redirecionamento do console para a porta serial.
Implantações do System Center Virtual Machine Manager
- Detecta e inicializa o agente do Virtual Machine Manager para Linux quando ele está em execução em um ambiente do System Center Virtual Machine Manager 2012 R2.
Extensão de VM
- Injeta componentes criados pela Microsoft e parceiros em VMs do Linux para habilitar a automação de software e configuração.
Você pode encontrar uma implementação de referência de extensão de VM no GitHub.
Comunicação
Fluxo de informações da plataforma para o agente ocorre por meio de dois canais:
- Um DVD anexado ao tempo de inicialização para as implantações da máquina virtual. O DVD inclui um arquivo de configuração em conformidade com OVF (Open Virtualization Format) que contêm todas as informações de provisionamento que não sejam os pares de chaves SSH.
- Um ponto de extremidade TCP que expõe um REST API que é usado para obter implantação e configuração de topologia.
Requisitos
O teste confirma que os sistemas a seguir funcionam com o Agente de VM linux do Azure.
Observação
Essa lista pode ser diferente das distribuições endossadas do Linux no Azure.
| Publicador | Distribuição | x64 | ARM64 |
|---|---|---|---|
| Comunidade Alma Linux | Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
| Credativ | Debian | 10 e posteriores | 11.x+ |
| Kinvolk | Flatcar Linux | 3374.2.x e superior | 3374.2.x e superior |
| Microsoft | Azure Linux | 2. x | 2. x |
| Projeto openSUSE | openSUSE | 12.3+ | Sem suporte |
| Oracle | Oracle Linux | 6.4+, 7.x+, 8.x+ | Sem suporte |
| Red Hat | Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ | 8.6+, 9.0+, 10.x+ |
| CIQ | Rocky Linux | 9.x e superior | 9.x e superior |
| SUSE | SLES | 12.x+, 15.x+ | 15.x SP4+ |
| Canonical | Ubuntu (versões LTS) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Outros sistemas com suporte:
- O agente funciona em mais sistemas do que os listados na documentação. No entanto, não testamos nem fornecemos suporte para distribuições que não estão na lista endossada. Em particular, o FreeBSD não é endossado. Você pode experimentar o FreeBSD 8. Se você tiver problemas, poderá abrir um problema em nosso repositório GitHub e poderemos ajudar.
O agente do Linux depende desses pacotes de sistema para funcionar corretamente:
- Python 2.6+
- OpenSSL 1.0+
- OpenSSH 5.3+
- Utilitários de sistema de arquivos: sfdisk, fdisk, mkfs, parted
- Ferramentas de senha: chpasswd, sudo
- Ferramentas de processamento de texto: sed, grep
- Ferramentas de rede: roteamento ip
- Suporte a kernel para montar sistemas de arquivos UDF
Verifique se a VM tem acesso ao endereço IP 168.63.129.16. Para obter mais informações, consulte O que é o endereço IP 168.63.129.16?.
Instalação
O método compatível de instalação e atualização do Agente de VM do Linux do Azure usa um RPM ou um pacote DEB do seu repositório de pacote de distribuição. Todos os provedores de distribuição aprovados integram o pacote do Agente de VM do Linux do Azure em suas imagens e repositórios. Algumas distribuições do Linux podem desabilitar o recurso de Atualização Automática do Agente de VM linux do Azure. Alguns dos repositórios também podem conter versões mais antigas. Versões mais antigas podem ter problemas com extensões modernas, portanto, recomendamos que você instale a versão estável mais recente.
Você precisa verificar se o Agente de VM linux do Azure está sendo atualizado corretamente. Recomendamos que você tenha a opção AutoUpdate.Enabled=Y no arquivo /etc/waagent.conf, porque comentar essa opção também resulta em valores padrão. Ter AutoUpdate.Enabled=N não permite que o Agente de VM Linux do Azure seja atualizado corretamente.
Para obter opções avançadas de instalação, como instalar de uma origem ou para locais ou prefixos personalizados, consulte Agente de VM do Linux do Microsoft Azure. Além desses cenários, não damos suporte nem recomendamos a atualização ou reinstalação do Agente de VM do Azure Linux a partir da origem.
Opções de linha de comando
Flags
-
verbose: Aumenta o detalhamento do comando especificado. -
force: Ignora a confirmação interativa para alguns comandos.
Comandos
help: Lista os comandos com suporte e sinalizadores.deprovision: Tenta limpar o sistema e torná-lo adequado para o reprovisionamento. A operação exclui:- Todas as chaves de host SSH, se
Provisioning.RegenerateSshHostKeyPairestáyno arquivo de configuração. -
Configuração
Nameserverem /etc/resolv.conf. - A senha raiz de /etc/shadow, se
Provisioning.DeleteRootPasswordestáyno arquivo de configuração. - Concessões de cliente DHCP em cache.
O cliente redefine o nome do host para
localhost.localdomain.Aviso
O desprovisionamento não garante que a imagem estará livre de todas as informações confidenciais e adequadas para redistribuição.
- Todas as chaves de host SSH, se
deprovision+user: Executa tudo emdeprovisionexclui a última conta de usuário provisionado (obtida em /var/lib/waagent) e dados associados. Use esse parâmetro quando você desprovisionar uma imagem que foi provisionada anteriormente no Azure para que ela possa ser capturada e reutilizada.version: exibe a versão do waagent.serialconsole: configura GRUB para marcar ttyS0, a primeira porta serial como o console de inicialização. Essa opção garante que os logs de inicialização do kernel são enviados para a porta serial e disponibilizados para depuração.daemon: Executa waagent como um daemon para gerenciar a interação com a plataforma. Esse argumento é especificado para waagent no script de inicializaçãodo waagent.start: Executar waagent como um processo em segundo plano.
Configuração
Um arquivo de configuração / etc/waagent.conf controla as ações de waagent. Aqui está um exemplo de um arquivo de configuração:
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
As opções de configuração são de três tipos: Boolean, Stringou Integer. Você pode especificar as opções de configuração de Boolean como y ou n. A palavra-chave None pode ser usada para entradas de configuração de tipo cadeia de caracteres.
Provisioning.Enabled
Type: Boolean
Default: y
Isso permite que o usuário habilite ou desabilite a funcionalidade de provisionamento no agente. Os valores válidos são y e n. Se o provisionamento for desabilitado, as chaves SSH de host e usuário na imagem serão preservadas e a configuração na API de provisionamento do Azure será ignorada.
Observação
O parâmetro Provisioning.Enabled segue o padrão n do Ubuntu Cloud Images, que usa o cloud-init para provisionamento.
Provisioning.DeleteRootPassword
Type: Boolean
Default: n
Se o valor for y, o agente apaga a senha raiz no arquivo /etc/shadow durante o processo de provisionamento.
Provisioning.RegenerateSshHostKeyPair
Type: Boolean
Default: y
Se o valor for y, o agente exclui todos os pares de chaves de host SSH de /etc/ssh/ durante o processo de provisionamento, incluindo ECDSA, DSA e RSA. O agente gera um único par de chaves frescas.
Configura o tipo de criptografia para o par de chaves frescas usando a entradaProvisioning.SshHostKeyPairType. Algumas distribuições recriam pares de chaves SSH para qualquer tipo de criptografia ausente quando o daemon SSH é reiniciado. Um exemplo é após uma reinicialização.
Provisioning.SshHostKeyPairType
Type: String
Default: rsa
Você pode definir essa opção como um tipo de algoritmo de criptografia que o SSH daemon dá suporte na máquina virtual. Os valores normalmente compatíveis são rsa, dsae ecdsa. O arquivo putty.exe no Windows não dá suporte a ecdsa. Se você pretende usar o putty.exe no Windows para conectar-se a uma implantação do Linux, use rsa ou dsa.
Provisioning.MonitorHostName
Type: Boolean
Default: y
Se o valor for y, o waagent monitorará a VM do Linux para uma alteração de nome de host, conforme retornado pelo comando hostname. Em seguida, o waagent atualiza automaticamente a configuração de rede na imagem para refletir a alteração. Para enviar a alteração do nome para os servidores DNS, a rede reinicia na VM. Esse reiniciar resulta em uma perda de conectividade com a Internet.
Provisioning.DecodeCustomData
Type: Boolean
Default: n
Se o valor for y, o waagent decodifica CustomData de Base64.
Provisioning.ExecuteCustomData
Type: Boolean
Default: n
Se o valor for y, o waagent executa CustomData após o provisionamento.
Provisioning.AllowResetSysUser
Type: Boolean
Default: n
Essa opção permite que a senha do usuário do sistema seja redefinida. Isso está desabilitado por padrão.
Provisioning.PasswordCryptId
Type: String
Default: 6
Essa opção especifica o algoritmo que crypt usa quando está gerando um hash de senha. Os valores válidos são:
-
1: MD5 -
2a:Blowfish -
5: SHA-256 -
6: SHA-512
Provisioning.PasswordCryptSaltLength
Type: String
Default: 10
Essa opção especifica o comprimento do sal aleatório usado ao gerar um hash de senha.
ResourceDisk.Format
Type: Boolean
Default: y
Se o valor for y, o waagent formata e monta o disco de recurso que a plataforma fornece, a menos que o tipo de sistema de arquivo que o usuário solicitou em ResourceDisk.Filesystem seja ntfs. O agente disponibiliza uma única partição do Linux (ID 83) no disco. Esta partição não é formatada se ela pode ser montada com sucesso.
ResourceDisk.Filesystem
Type: String
Default: ext4
Essa opção especifica o tipo de sistema de arquivos para o disco do recurso. Valores aceitos variam de acordo com a distribuição do Linux. Se a cadeia de caracteres for X, em seguida,mkfs.X deve estar presente na imagem do Linux.
ResourceDisk.MountPoint
Type: String
Default: /mnt/resource
Essa opção especifica o caminho em que o disco do recurso é montado. O disco de recurso é um disco temporário e pode ser esvaziado quando a VM é desprovisionada.
ResourceDisk.MountOptions
Type: String
Default: None
Essa opção especifica opções de montagem de disco a serem passadas ao comando mount -o. O valor é uma lista separada por vírgulas de valores, por exemplo, nodev,nosuid. Para obter mais informações, consulte a página de manual mount(8).
ResourceDisk.EnableSwap
Type: Boolean
Default: n
Se você definir essa opção, o agente cria um arquivo de permuta (/swapfile) no disco de recurso e o adiciona ao espaço de troca do sistema.
ResourceDisk.SwapSizeMB
Type: Integer
Default: 0
Essa opção especifica o tamanho do arquivo de permuta em megabytes.
Logs.Verbose
Type: Boolean
Default: n
Se você definir essa opção, a verbosidade do log será aumentada. Waagent faz logs para var/log/waagent.log e usa a funcionalidade do sistema logrotate para girar os logs.
OS.EnableRDMA
Type: Boolean
Default: n
Se você definir essa opção, o agente tenta instalar e, em seguida, carregar um driver de kernel RDMA que corresponde à versão do firmware do hardware subjacente.
OS.RootDeviceScsiTimeout
Type: Integer
Default: 300
Essa opção configura o tempo limite do SCSI em segundos no disco do sistema operacional e nas unidades de dados. Se não estiver definido, os padrões do sistema serão usados.
OS.OpensslPath
Type: String
Default: None
Você pode usar essa opção para especificar um caminho alternativo para o openssl binário a ser usado para operações de criptografia.
HttpProxy.Host, HttpProxy.Port
Type: String
Default: None
Se você definir essa opção, o agente usa este servidor proxy para acessar a internet.
AutoUpdate.Enabled
Type: Boolean
Default: y
Habilitar ou desabilitar o preenchimento automático para processamento de estado de meta. O valor padrão é y.
Coleta automática de logs no Agente Convidado do Linux do Azure
A partir da versão 2.7+, o Agente Convidado do Linux do Azure tem um recurso para coletar automaticamente alguns logs e carregá-los. Atualmente, esse recurso requer systemd. Ela usa uma nova fatia systemd chamada azure-walinuxagent-logcollector.slice para administrar os recursos enquanto realiza a coleta.
A finalidade é facilitar a análise offline. O agente produz um arquivo .zip de alguns logs de diagnóstico antes de carregá-los no host da VM. Equipes de engenharia e profissionais de suporte podem recuperar o arquivo para investigar problemas do proprietário da VM. Para informações técnicas sobre os arquivos que o Agente Convidado do Linux do Azure coleta, consulte o arquivo azurelinuxagent/common/logcollector_manifests.py no repositório do GitHub do agente.
Você pode desabilitar essa opção editando /etc/waagent.conf. Atualize Logs.Collect para n.
Imagens de nuvem do Ubuntu
As Imagens de Nuvem do Ubuntu usam cloud-init para realizar muitas tarefas de configuração que o Agente de VM do Linux do Azure gerenciaria de outra forma. As seguintes diferenças aplicam:
Provisioning.Enabledsegue o padrãonnas Imagens de Nuvem do Ubuntu que usam cloud-init para executar tarefas de provisionamento.Os seguintes parâmetros de configuração não têm efeito nas Imagens de Nuvem do Ubuntu que usam cloud-init para gerenciar o disco de recurso e o espaço de troca:
ResourceDisk.FormatResourceDisk.FilesystemResourceDisk.MountPointResourceDisk.EnableSwapResourceDisk.SwapSizeMB
Para configurar o ponto de montagem do disco de recurso e o espaço de troca nas Imagens de Nuvem do Ubuntu durante o provisionamento, consulte os seguintes recursos: