Bulut tabanlı vm'nin başlatılması uzun sürüyor
Bu makalede , cloud-init özelliğini kullanan bir Azure Sanal Makinesinde (VM) beklenmeyen başlatma gecikmesinin nasıl giderildiğini açıklar. Bu gecikme, bulut tabanlı bir Azure VM dağıtımının başlatılması için iki dakikadan (120 saniye) uzun süre gerektirebilir.
Belirtiler
Aşağıdaki ürünler gibi yerel kısa ömürlü diskler sağlamayan VM ürünlerinin Azure VM'sini başlatma işleminin tamamlanması iki dakikadan fazla sürer:
/var/log/cloud-init.log ve /var/log/waagent.log (init stage) gibi günlük dosyalarını denetlerseniz aşağıdaki örneğe benzer bir çıkış görürsünüz:
# grep "did not appear after 120 seconds" *
cloud-init.log:2021-12-01 19:35:50,455 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
cloud-init.log:2021-12-01 21:19:58,531 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
cloud-init-output.log:2021-12-01 19:35:50,455 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
cloud-init-output.log:2021-12-01 21:19:58,531 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
messages:Dec 1 19:35:50 redhat84noephstor01 cloud-init[1065]: 2021-12-01 19:35:50,455 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
messages:Dec 1 21:19:58 redhat84noephstor01 cloud-init[931]: 2021-12-01 21:19:58,531 - DataSourceAzure.py[WARNING]: ephemeral device '/dev/disk/cloud/azure_resource' did not appear after 120 seconds.
# /var/log/cloud-init.log
2021-12-01 19:35:50,481 - util.py[WARNING]: Failed partitioning operation
Device /dev/disk/cloud/azure_resource did not exist and was not created with a udevadm settle.
2021-12-01 19:35:50,481 - util.py[DEBUG]: Failed partitioning operation
Device /dev/disk/cloud/azure_resource did not exist and was not created with a udevadm settle.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/cloudinit/config/cc_disk_setup.py", line 141, in handle
func=mkpart, args=(disk, definition))
File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2292, in log_time
ret = func(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/cloudinit/config/cc_disk_setup.py", line 780, in mkpart
assert_and_settle_device(device)
File "/usr/lib/python3.6/site-packages/cloudinit/config/cc_disk_setup.py", line
Neden
VM başlatma sırasında cloud-init Python'daDataSourceAzure.py dosyasını çalıştırır ve ardından yerel kısa ömürlü disklerin (/mnt/azure_resource) kullanılabilir olmasını bekler. Yerel kısa ömürlü diskleri olmayan bir Azure VM kullandığınızdan, cloud-init işlemin zaman aşımına uğradıktan sonra beklemesi gerekir. Kısa ömürlü diskler için zaman aşımı aralığı, başlatma işlemi devam etmeden önce 120 saniyedir.
Çözüm
cloud-init kopyanızı 21.2 veya sonraki bir sürüme yükseltin.
Geçici Çözüm
cloud-init sürümünü 21.2 veya sonraki bir sürüme yükseltemiyorsanız, zaman aşımı değerini kısaltmak için DataSourceAzure.py dosyasını düzenleyebilirsiniz. Aşağıdaki örnek, zaman aşımı değerini 120 saniyeden iki saniyeye değiştirir:
sudo sed -i 's/maxwait=120/maxwait=2/g' $(locate DataSourceAzure.py)
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin