Azure Linux VM Aracısı'ne genel bakış
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
Ağ
- 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ı.
Dağıtım | x64 | ARM64 |
---|---|---|
Alma Linux | 8.x+, 9.x+ | 8.x+, 9.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 (LTS sürümleri) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Önemli
FIPS 140-3 Zorlamalı, 'protectedSettings' kullanan uzantılarla RHEL/Ubuntu'da desteklenmez. Destek için ETA 2025'in ortasındadır.
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
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 getirme girişiminde bulunur. İşlem silinir:- Yapılandırma dosyasındaysa
Provisioning.RegenerateSshHostKeyPair
y
, tüm SSH konak anahtarları. -
Nameserver
/etc/resolv.conf dosyasında yapılandırma. - Yapılandırma dosyasındaysa
Provisioning.DeleteRootPassword
y
/etc/shadow dosyasındaki kök parola. - Önbelleğe alınmış DHCP istemci kiralamaları.
İstemci, ana bilgisayar adını olarak
localhost.localdomain
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.
- Yapılandırma dosyasındaysa
deprovision+user
: içindedeprovision
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
, String
veya Integer
. Yapılandırma seçeneklerini veya n
olarak 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 y
aracı, 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 , dsa
ve 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 dsa
kullanı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.Filesystem
ntfs
dosya 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 iseX
mkfs.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.
İşletim sistemi. 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. Ayarlanmadıysa sistem varsayılanları kullanılır.
İşletim sistemi. 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 n
gü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çinn
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: