Aracılığıyla paylaş


Azure Linux VM Aracısı'ne genel bakış

Azure Linux VM Aracısı (waagent), Linux ve FreeBSD sağlamanın yanı sıra Azure doku denetleyicisiyle sanal makine (VM) etkileşimini yönetir. Azure, sağlama işlevi sağlayan Linux aracısına ek olarak bazı Linux işletim sistemleri için cloud-init kullanma seçeneği sunar.

Önemli

VM Konuk Aracısı ve Uzantıları'nda FIPS 140-3 desteği hakkında en son sürümler için aka.ms/linuxagentfipssupport gidin.

Linux aracısı Linux ve FreeBSD Azure Sanal Makineler dağıtımları için aşağıdaki işlevleri sağlar. Daha fazla bilgi için, GitHub'daki Azure Linux VM Agent README dosyasını inceleyin.

Not

Daha hızlı tanılama için VM yardımını deneyin. Windows için VM yardımını veya Linux için VM yardımını çalıştırmanızı öneririz. Bu betik tabanlı tanılama araçları, Azure VM Konuk Aracısı'nı ve genel VM durumunu etkileyen yaygın sorunları belirlemenize yardımcı olur.

Sanal makinelerle ilgili performans sorunları yaşıyorsanız desteğe başvurmadan önce bu araçları çalıştırın.

Görüntü hazırlama

  • Bir kullanıcı hesabı oluşturur.
  • SSH kimlik doğrulama türlerini yapılandırıyor.
  • Secure Shell (SSH) ortak anahtarlarını ve anahtar çiftlerini dağıtır.
  • Ana bilgisayar adını ayarlar.
  • Konak adını platformun Etki Alanı Adı Sistemine (DNS) yayımlar.
  • SSH sunucu anahtarı parmak izini platforma bildirir.
  • Kaynak diskini yönetir.
  • Kaynak diskini biçimlendirip bağlar.
  • Takas alanı yapılandırır.

  • Platform DHCP sunucularıyla uyumluluğu geliştirmek için yolları yönetir.
  • Ağ arabirimi adının kararlılığını sağlar.

Çekirdek

  • Sanal NUMA'yi yapılandırıyor (çekirdek 2.6.37 için devre dışı bırakıldı).
  • /dev/random için Hyper-V entropiyi tüketir.
  • Kök cihaz için, uzak olabilen SCSI zaman aşımlarını yapılandırır.

Tanılama

  • Konsol yeniden yönlendirmesini seri bağlantı noktasına sağlar.

System Center Virtual Machine Manager dağıtımları

  • System Center Virtual Machine Manager 2012 R2 ortamında çalışırken Linux için Virtual Machine Manager aracısını algılar ve önyükler.

VM uzantısı

  • Yazılım ve yapılandırma otomasyonlarını etkinleştirmek için Microsoft ve iş ortakları tarafından yazılan bileşenleri Linux VM'lerine ekler.

GitHub'da bir VM uzantısı başvuru uygulaması bulabilirsiniz.

İletişim

Platformdan aracıya bilgi akışı iki kanal üzerinden gerçekleşir:

  • VM dağıtımları sırasında önyükleme sırasında bağlanan bir DVD. Bu DVD, SSH anahtar çiftleri dışındaki tüm sağlama bilgilerini içeren Açık Sanallaştırma Biçimi (OVF) uyumlu bir yapılandırma dosyası içerir.
  • Dağıtım ve topoloji yapılandırmasını almak için kullanılan bir REST API'yi kullanıma sunan bir TCP uç noktası.

Gereksinimler

Test, aşağıdaki sistemlerin Azure Linux VM Aracısı ile çalıştığını onaylar.

Not

Bu liste, Azure'da desteklenen Linux dağıtımlarından farklı olabilir.

Publisher Dağıtım x64 ARM64
Alma Linux Topluluğu Alma Linux 8.x+, 9.x+ 8.x+, 9.x+
Credativ Debian 10+ 11.x+
Kinvolk Flatcar Linux 3374.2.x+ 3374.2.x+
Microsoft Azure Linux 2.x 2.x
openSUSE Projesi openSUSE 12.3+ Desteklenmiyor
Oracle Oracle Linux 6.4+, 7.x+, 8.x+ Desteklenmiyor
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+ 9.x+
SUSE SLES 12.x+, 15.x+ 15.x SP4+
Kurallı Ubuntu (LTS sürümleri) 18.04+, 20.04+, 22.04+, 24.04+ 20.04+, 22.04+, 24.04+

Desteklenen diğer sistemler:

  • Aracı, belgelerde listelenenlerden daha fazla sistem üzerinde çalışır. Ancak, onaylananlar listesinde olmayan dağıtımları test etmez veya bu dağıtımlar için destek sağlamayız. Özellikle, FreeBSD desteklenmez. FreeBSD 8'i deneyebilirsiniz. Sorunlarla karşılaşırsanız GitHub depomuzda bir sorun açabilirsiniz ve size yardımcı olabiliriz.

Linux aracısı, düzgün çalışması için bu sistem paketlerine bağlıdır:

  • Python 2.6+
  • OpenSSL 1.0+
  • OpenSSH 5.3+
  • Dosya sistemi yardımcı programları: sfdisk, fdisk, mkfs, parted
  • Parola araçları: chpasswd, sudo
  • Metin işleme araçları: sed, grep
  • Ağ araçları: ip-route
  • UDF dosya sistemlerini bağlamak için çekirdek desteği

VM'nizin 168.63.129.16 IP adresine erişimi olduğundan emin olun. Daha fazla bilgi için bkz . IP adresi 168.63.129.16 nedir?.

Yükleme

Azure Linux VM Aracısı'nı yüklemek ve yükseltmek için desteklenen yöntem, dağıtımınızın paket deposundan bir RPM veya DEB paketi kullanır. Onaylanan tüm dağıtım sağlayıcıları, Azure Linux VM Aracısı paketini kendi görüntüleri ve depolarıyla tümleştirir. Bazı Linux dağıtımları Azure Linux VM Aracısı Otomatik Güncelleştirme özelliğini devre dışı bırakabilir. Depolardan bazıları eski sürümleri de içerebilir. Eski sürümlerde modern uzantılarla ilgili sorunlar olabilir, bu nedenle en son kararlı sürümü yüklemenizi öneririz.

Azure Linux VM Aracısı'nın düzgün güncelleştirildiğinden emin olmanız gerekir. AutoUpdate.Enabled=Y dosyasının içine /etc/waagent.conf seçeneğini eklemeniz önerilir, çünkü bu seçeneği yorum satırı yaparak devre dışı bırakmak da varsayılan değerlere neden olur. AutoUpdate.Enabled=N'e sahip olmak, Azure Linux VM Aracısı'nın düzgün güncelleştirilmesine izin vermez.

Bir kaynaktan veya özel konumlara veya ön eklere yükleme gibi gelişmiş yükleme seçenekleri için bkz . Microsoft Azure Linux VM Aracısı. Bu senaryolar dışında, Azure Linux VM Aracısı'nı kaynaktan yükseltmeyi veya yeniden yüklemeyi desteklemiyoruz veya önermiyoruz.

Komut satırı seçenekleri

Bayrak

  • verbose: Belirtilen komutun ayrıntı düzeyini artırır.
  • force: Bazı komutlar için etkileşimli onayı atlar.

Komutlar

  • help: Desteklenen komutları ve bayrakları listeler.

  • deprovision: Sistemi temizlemeye ve yeniden sağlama için uygun hale getirmeye çalışır. İşlem şu öğeleri siler:

    • Tüm SSH konak anahtarları, Provisioning.RegenerateSshHostKeyPairy yapılandırma dosyasındaysa.
    • Nameserver/etc/resolv.conf dosyasında yapılandırma.
    • Yapılandırma dosyasında Provisioning.DeleteRootPassword ise y dosyasındaki kök parola.
    • Önbelleğe alınmış DHCP istemci kiralamaları.

    İstemci, ana bilgisayar adını localhost.localdomain olarak sıfırlar.

    Uyarı

    Sağlamayı kaldırma, görüntünün tüm hassas bilgilerden temizlendiğini ve yeniden dağıtıma uygun olduğunu garanti etmez.

  • deprovision+user: deprovision içindeki her şeyi gerçekleştirir ve ile /var/lib/waagent'dan alınan son oluşturulan kullanıcı hesabını ve ilişkili verileri siler. Daha önce Azure'da sağlanan bir görüntünün yakalanması ve yeniden kullanılabilmesi için sağlamasını kaldırdığınızda bu parametreyi kullanın.

  • version: Waagent sürümünü görüntüler.

  • serialconsole: İLK seri bağlantı noktası olan ttyS0'yi önyükleme konsolu olarak işaretlemek için GRUB'yi yapılandırıyor. Bu seçenek, çekirdek önyükleme günlüklerinin seri bağlantı noktasına gönderilmesini ve hata ayıklama için kullanılabilir olmasını sağlar.

  • daemon: Platformla etkileşimi yönetmek için waagent'ı bir daemon olarak çalıştırır. Bu bağımsız değişken, waagent init betiğinde waagent'e belirtilir.

  • start: Waagent'ı arka plan işlemi olarak çalıştırır.

Yapılandırma

/etc/waagent.conf yapılandırma dosyası waagent eylemlerini denetler. Aşağıda bir yapılandırma dosyası örneği verilmişti:

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

Yapılandırma seçenekleri üç türdedir: Boolean, Stringveya Integer. Yapılandırma seçeneklerini Boolean veya y ya da n olarak belirtebilirsiniz. Özel anahtar sözcük None bazı dize türü yapılandırma girdileri için kullanılabilir.

Hazırlama Etkin

Type: Boolean
Default: y

Bu seçenek, kullanıcının aracıda sağlama işlevini etkinleştirmesine veya devre dışı bırakmasına olanak tanır. Geçerli değerler: y ve n. Sağlama devre dışı bırakılırsa, görüntüdeki SSH ana bilgisayarı ve kullanıcı anahtarları korunur ve Azure sağlama API'sinde yapılan yapılandırma yoksayılır.

Not

Provisioning.Enabled parametresi, sağlama için cloud-init kullanan Ubuntu Cloud Images'da varsayılan olarak n kullanılır.

Provisioning. Ana Parolayı Sil

Type: Boolean
Default: n

Eğer değer y ise, sağlama işlemi sırasında, aracı /etc/shadow dosyasındaki root parolayı siler.

SSHAnahtarÇiftiYenidenOluşturma

Type: Boolean
Default: y

** Eğer değer y olduğunda bir aracı, hazır hale getirme süreci sırasında ECDSA, DSA ve RSA dahil olmak üzere tüm SSH konak anahtar çiftlerini /etc/ssh/ içinden siler. Ajan tek bir yeni anahtar çifti oluşturur.

Girdisini kullanarak Provisioning.SshHostKeyPairType yeni anahtar çifti için şifreleme türünü yapılandırın. Bazı dağıtımlar, SSH daemon yeniden başlatıldığında eksik şifreleme türleri için SSH anahtar çiftlerini yeniden oluşturur. Yeniden başlatma sonrasında örnek olarak verilmiştir.

Provisioning.SshHostKeyPairType

Type: String
Default: rsa

Bu seçeneği SSH daemon'unun VM'de desteklediği bir şifreleme algoritması türüne ayarlayabilirsiniz. Genellikle desteklenen değerler , rsave dsa'tirecdsa. Windows'ta putty.exe dosyası desteklemez ecdsa. Bir Linux dağıtımına bağlanmak için Windows'ta putty.exe kullanmayı planlıyorsanız, rsa veya dsa kullanın.

Provisioning.MonitorHostName

Type: Boolean
Default: y

Eğer değer y ise, waagent hostname komutunun çıktısına göre bir konak adı değişikliği için Linux VM'sini izler. Waagent daha sonra görüntüdeki ağ yapılandırmasını değişikliği yansıtacak şekilde otomatik olarak güncelleştirir. Ad değişikliğini DNS sunucularına göndermek için sanal makinede ağ yeniden başlatılır. Bu yeniden başlatma, İnternet bağlantısının kısa süreli olarak kesilmesine neden olur.

Provisioning.DecodeCustomData

Type: Boolean
Default: n

Değer y ise, waagent CustomData'i Base64'ten çözümler.

Hazırlama.ÖzelVerileriYürüt

Type: Boolean
Default: n

Eğer değer y ise, waagent sağlama işleminden sonra CustomData çalıştırılır.

Yedekleme.SistemKullanıcısınıSıfırlamayıİzinVer

Type: Boolean
Default: n

Bu seçenek, sistem kullanıcısının parolasının sıfırlanması için izin verir. Varsayılan olarak devre dışıdır.

Provisioning.PasswordCryptId

Type: String
Default: 6

Bu seçenek, parola karması oluştururken kullanılan algoritmayı crypt belirtir. Geçerli değerler:

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

Sağlama.ŞifrelemeParolasıTuzUzunluğu

Type: String
Default: 10

Bu seçenek, parola karması oluştururken kullanılan rastgele tuzun uzunluğunu belirtir.

ResourceDisk.Format

Type: Boolean
Default: y

değeri ise y, kullanıcının içinde istediği ResourceDisk.Filesystemntfsdosya sistemi türü olmadığı sürece waagent platformun sağladığı kaynak diskini biçimlendirip bağlar. Etmen, diskte tek bir Linux bölümü (ID 83) sunar. Bu bölüm başarıyla bağlanabiliyorsa, henüz biçimlendirilmemiş demektir.

ResourceDisk.Filesystem

Type: String
Default: ext4

Bu seçenek, kaynak disk için dosya sistemi türünü belirtir. Desteklenen değerler Linux dağıtımına göre farklılık gösterir. Eğer dize X ise, mkfs.X Linux imajında bulunmalıdır.

ResourceDisk.MountPoint

Type: String
Default: /mnt/resource

Bu seçenek, kaynak diskin bağlandığı yolu belirtir. Kaynak disk geçici bir disktir ve VM'nin yetkisi kaldırıldığında boşaltılabilir.

ResourceDisk.MountOptions

Type: String
Default: None

Bu seçenek, disk bağlama seçeneklerini mount -o komutuna geçirilecek şekilde belirtir. Değer, virgülle ayrılmış bir değer listesidir; örneğin, nodev,nosuid. Daha fazla bilgi için mount(8) kılavuz sayfasına bakın.

ResourceDisk.EnableSwap

Type: Boolean
Default: n

Bu seçeneği ayarlarsanız, aracı kaynak diskte bir takas dosyası (/swapfile) oluşturur ve bunu sistem takas alanına ekler.

ResourceDisk.SwapSizeMB

Type: Integer
Default: 0

Bu seçenek, değiştirme dosyasının boyutunu megabayt cinsinden belirtir.

Logs.Verbose

Type: Boolean
Default: n

Bu seçeneği ayarlarsanız, günlük kaydetme ayrıntı seviyesi artırılır. Waagent günlüklerini /var/log/waagent.log'a kaydeder ve günlükleri döndürmek için sistem logrotate işlevselliğini kullanır.

OS.EnableRDMA

Type: Boolean
Default: n

Bu seçeneği ayarlarsanız aracı, temel donanımdaki üretici yazılımının sürümüyle eşleşen bir RDMA çekirdek sürücüsü yüklemeyi dener.

İşletim sistemi. RootDeviceScsiTimeout

Type: Integer
Default: 300

Bu seçenek, işletim sistemi diskinde ve veri sürücülerinde SCSI zaman aşımını saniyeler içinde yapılandırıyor. Ayarlı değilse sistem varsayılanları kullanılır.

OS.OpensslPath

Type: String
Default: None

Şifreleme işlemleri için kullanılacak openssl ikili dosyası için alternatif bir yol belirtmek için bu seçeneği kullanabilirsiniz.

HttpProxy.Host, HttpProxy.Port

Type: String
Default: None

Bu seçeneği ayarlarsanız, aracı internete erişmek için bu proxy sunucusunu kullanır.

OtomatikGüncelleme.Aktif

Type: Boolean
Default: y

Hedef durumu işleme için otomatik güncelleştirmesi etkinleştirin veya devre dışı bırakın. Varsayılan değer şudur: y.

Azure Linux Misafir Aracısı'nda otomatik günlük toplama

2.7+ sürümünden itibaren Azure Linux Konuk Aracısı'nın bazı günlükleri otomatik olarak toplayıp karşıya yükleme özelliği vardır. Bu özellik şu anda systemd gerektirir. Koleksiyonu gerçekleştirirken kaynakları yönetmek için systemd adlı yeni bir azure-walinuxagent-logcollector.slice dilim kullanır.

Amaç, çevrimdışı analizi kolaylaştırmaktır. Aracı, bazı tanılama günlüklerinin bir .zip dosyasını VM'nin konağına yüklenmesinden önce oluşturur. Mühendislik ekipleri ve destek uzmanları, VM sahibiyle ilgili sorunları araştırmak için dosyayı alabilir. Azure Linux Konuk Aracısı'nın topladığı dosyalar hakkında teknik bilgi için aracının GitHub deposundaki azurelinuxagent/common/logcollector_manifests.py dosyasına bakın.

/etc/waagent.conf dosyasını düzenleyerek bu seçeneği devre dışı bırakabilirsiniz. olarak Logs.Collectgüncelleştirinn.

Ubuntu Bulut Görüntüleri

Ubuntu Bulut Görüntüleri, Azure Linux VM Aracısı'nın yönetebileceği birçok yapılandırma görevini gerçekleştirmek için cloud-init kullanır. Aşağıdaki farklılıklar geçerlidir:

  • Provisioning.Enabled , cloud-init kullanan Ubuntu Bulut Görüntüleri'nde sağlama görevlerini gerçekleştiren n olarak varsayılan bir seçenek olur.

  • Aşağıdaki yapılandırma parametrelerinin kaynak diskini yönetmek ve alanı değiştirmek için cloud-init kullanan Ubuntu Bulut Görüntüleri üzerinde hiçbir etkisi yoktur:

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

Sağlama sırasında Ubuntu Bulut Görüntülerinde kaynak disk bağlama noktasını ve takas alanını yapılandırmak için aşağıdaki kaynaklara bakın: