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

Dikkat

Bu makalede, Kullanım Süresi Sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Lütfen kullanımınızı göz önünde bulundurun ve uygun şekilde planlayın. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

Microsoft 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.

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 bkz. GitHub'da Azure Linux VM Aracısı benioku.

Görüntü sağlama

  • Kullanıcı hesabı oluşturur
  • SSH kimlik doğrulama türlerini yapılandırıyor
  • SSH ortak anahtarlarını ve anahtar çiftlerini dağıtır
  • Konak adını ayarlar
  • Ana bilgisayar adını platform DNS'sinde yayımlar
  • SSH ana bilgisayar anahtarı parmak izini platforma bildirir
  • Kaynak diskini yönetir
  • Kaynak diskini biçimlendirip bağlar
  • Değiştirme alanını yapılandırıyor

  • 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ışı)
  • /dev/random için Hyper-V entropisini tüketir
  • Kök cihaz için uzak olabilecek SCSI zaman aşımlarını yapılandırıyor

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ı için önyükleme zamanı eklenmiş 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ı doğruladı.

Not

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

Dağıtım x64 ARM64
Alma Linux 9.x+ 9.x+
CentOS 7.x+, 8.x+ 7.x+
Debian 10+ 11.x+
Flatcar Linux 3374.2.x+ 3374.2.x+
Azure Linux 2.x 2.x
openSUSE 12.3+ Desteklenmiyor
Oracle Linux 6.4+, 7.x+, 8.x+ Desteklenmiyor
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 18.04+, 20.04+, 22.04+ 20.04+, 22.04+

Önemli

RHEL/Oracle Linux 6.10, Genişletilmiş Yaşam Döngüsü Desteği'ne sahip tek RHEL/OL 6 sürümüdür. Genişletilmiş bakım 30 Haziran 2024'te sona erer.

Desteklenen diğer sistemler:

  • Aracı, belgelerde listelenenlerden daha fazla sistem üzerinde çalışır. Ancak, onaylanan listede bulunmayan dağıtımları test etme veya desteklemeyiz. Özellikle, FreeBSD desteklenmez. Müşteri FreeBSD 8'i deneyebilir ve sorunlarla karşılaşırsa GitHub depomuzda bir sorun açabilir ve biz de 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 ve bazı depolar da eski sürümleri içerebilir; bunlar modern uzantılarla ilgili sorunlar olabilir, bu nedenle en son kararlı sürümün yüklü olmasını öneririz. Azure Linux VM Aracısı'nın düzgün güncelleştirildiğinden emin olmak için dosyada /etc/waagent.conf seçeneğinin AutoUpdate.Enabled=Y bulunmasını veya yalnızca bu seçeneğin açıklama satırı yapmasının da varsayılan değerlerine neden olmasını öneririz. Sahip olmak AutoUpdate.Enabled=N , Azure Linux VM Aracısı'nın düzgün güncelleştirilebilmesine 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 önermeyiz.

Komut satırı seçenekleri

Bayraklar

  • 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 getirme girişiminde bulunur. İşlem silinir:

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

    İstemci, ana bilgisayar adını olarak localhost.localdomainsı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: içinde deprovision her şeyi gerçekleştirir ve sağlanan son kullanıcı hesabını (/var/lib/waagent'dan alınan) 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 için 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 veya nolarak y belirtebilirsinizBoolean. Özel anahtar sözcük None bazı dize türü yapılandırma girdileri için kullanılabilir.

Sağlama.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'sindeki 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.DeleteRootPassword

Type: Boolean
Default: n

değeri isey, aracı sağlama işlemi sırasında /etc/shadow dosyasındaki kök parolayı siler.

Provisioning.RegenerateSshHostKeyPair

Type: Boolean
Default: y

değeri ise yaracı, sağlama işlemi sırasında ECDSA, DSA ve RSA dahil olmak üzere tüm SSH konak anahtar çiftlerini /etc/ssh/ içinden siler. Aracı 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 (örneğin, yeniden başlatmadan sonra) eksik şifreleme türleri için SSH anahtar çiftlerini yeniden oluşturur.

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 , dsave ecdsa'tirrsa. 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 veya dsakullanınrsa.

Provisioning.MonitorHostName

Type: Boolean
Default: y

değeri ise y, waagent komutu tarafından döndürülen bir konak adı değişikliği için Linux VM'sini hostname 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 ise y, waagent Base64'ten kodunu çözer CustomData .

Provisioning.ExecuteCustomData

Type: Boolean
Default: n

değer ise y, waagent sağlamadan sonra çalışır CustomData .

Provisioning.AllowResetSysUser

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

Provisioning.PasswordCryptSaltLength

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. Aracı, diskte tek bir Linux bölümü (ID 83) sağlar. Bu bölüm başarıyla bağlanabiliyorsa biçimlendirilmemiştir.

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. Dize iseXmkfs.X, Linux görüntüsünde mevcut olmalı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, komuta geçirilecek mount -o disk bağlama seçeneklerini belirtir. Değer, virgülle ayrılmış bir değer listesidir; örneğin, nodev,nosuid. Daha fazla bilgi için el ile sayfasına mount(8) 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 ayrıntı düzeyi 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.

OS. 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. Ayarlanmadıysa 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.

AutoUpdate.Enabled

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 Konuk 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 gerektirir systemd. Koleksiyonu gerçekleştirirken kaynakları yönetmek için adlı azure-walinuxagent-logcollector.slice yeni systemd bir dilim kullanır.

Amaç, çevrimdışı analizi kolaylaştırmaktır. Aracı, bazı tanılama günlüklerini VM'nin konağına yüklemeden önce .zip bir dosya 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 ngüncelleştirinLogs.Collect.

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 , sağlama görevlerini gerçekleştirmek için n cloud-init kullanan Ubuntu Bulut Görüntüleri'nde varsayılan olarak kullanılır.

  • 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: