AZURE ALLOCATION HATALARI VE İYİLEŞTİRMELERİ
Azure üzerinde sanal makine oluşturduğunuzda, sanal makineleri de-allocated yaptığınızda, sanal makineleri yeniden boyutlandırdığınızda yada yeni bir web veya worker role eklediğinizde, Microsoft Azure sizin hesabınız için sanal makine kaynaklarından allocation (tahsis) yapar. Azure hesap limitinize ulaşmadan önce bile zaman zaman bu işlemleri yaparken hatalar alabilirsiniz. Bu yazımızda bazı allocation hatalarını ve önerilen olası iyileştirmelerden bahsetmeye çalışacağım. Bu bilgelere Azure üzerinde servisler dağıtırken ihtyiç duyabilirsiniz.
Azure veri merkezlerinde barındırılan sunucular kümeler halinde bölünmektedir. (Cluster) Normelde allocation isteği çoklu cluster yapıları üzerinde gerçekleşir ancak allocation isteğinin kuvvetli olduğu durumlarda istek sadece bir cluster üzerinde gerçekleşebilir. Aşağıdaki Diagram 1 üzerinde görebileceğiniz gibi allocation çoklu cluster üzerinde gösterilmektedir. Diagram 2’de ise allocation sadece Cluster 2 üzerinde yapılır çünkü Service CS_1 bu cluster üzerinde tutulmaktadır.
Bir allocation isteği yine bir cluster üzerinde tutulduğu zaman kaynak havuzu küçülmekte ve uygun kaynak bulma şansı azalmaktadır. Ayrıca allocation isteği tek bir clustera tutundurulduğu zaman ve istenen kaynağın türü bu cluster küme tarafından desteklenmiyorsa cluster içerisinde yeterli kaynak olsa bile hata alabilirsiniz. Aşağıda Diagram 3’te gösterildiği gibi cluster üzerinde yeterli kaynak olmadığı için allocation hata vermiştir. Diagram 4’te ise yeterli kaynak olmasına rağmen desteklenmeyen bir istek olduğu için hata vermiştir.
Allocation Senaryoları
Var olan Cloud Servise yeni bir VM eklemek, VM boyutunu değişitirmek yada role instance eklemek
Hata:
Upgrade_VMSizeNotSupported* yada GeneralError*
Neden: Yeni bir VM eklemek, VM boyutunu değiştirmek yada var olan Cloud Service’e yeni bir role instance ekleme sonucunda, var olan cloud service üzerinde tutulan orijinal clusterda verilen hatadır.
İyileştirme: Eğer aldığınız hata mesajı “Upgrade_VMSizeNotSupported” ise başka boyutta bir VM eklemeyi deneyin. Eğer seçenekleriniz arasında VM boyutunu değiştirmek yoksa, farkılı bir VIP kullanarak yeni bir cloud servis oluşturun ve VM’i burada host edin ve yeni oluşturduğunuz cloud servisi var olan VM ile aynı Regional Virtual Network içerisine koyun. Eğer var olan Cloud servisiniz Regional Virtual Network kullanmıyorsa yinede yeni bir Virtual Network oluşturup Vnet-to-Vnet bağlantısı kurabilirsiniz.
Eğer aldığınız hata mesajı GeneralError* ise istediğiniz kaynak cluster tarafından desteklenmekte ancak yeterli boş kaynağı olmadığındandır. Yukaridakine benzer bir şekilde yeni bir Cloud servis oluşturarak istenen kaynağı buraya eklemeyi deneyin( Cloud servisin farklı bir VIP’si olmalı) ve Regional Virtual Network kullanarak cloud servisinize bağlanın.
Restarting Stopped (De-allocated ) VM – Kısmi De-Allocation
Hata: GeneralError*
Neden: Kısmi de-allocation işlemi Cloud servis içerisindeki tüm VM’leri değil, sadece bir yada bir kısmını etkilemesidir. Cloud servis üzerinde sanal makineyi stop (de-allocate) ettiğinizde kullanılan kaynakları serbest bırakılacaktır. Restart ile birlikte stop ettiğinizde ise VM yeniden allocation isteğinde bulunacaktır. VM’i restart ederek kısmi olarak de-allocation yapmış olursunuz.
İyileştirme: Eğer farklı bir VIP kullanmak kabul edilebilirse, ilişkili disklerin kalması kaydıyla stopped olan VM’i silin ve VM’i tekrar ilişkili diskler ile farklı bir cloud servis içerisinde oluşturun. Regional virtual network kullanarak Cloud servisinize bağlanabilirsiniz.
Restarting Stopped (De-allocated ) VM – Tam De-Allocation
Hata: GeneralError*
Neden: Tam De-allocation’ın anlamı Cloud servisler içerisindeki tüm Vmlerin durdurulmasıdır.
İyileştirme: Eğer farklı bir VIP kullanmak kabul edilebilirse, ilişkili disklerin kalması kaydıyla stopped olan VM’i ve ilişkili cloud servisini silin ve VM’i tekrar ilişkili diskler ile farklı bir cloud servis içerisinde oluşturun.
Staging / Production Dağıtımları ( Sadece Platform-As-A-Service)
Hata: New_General* yada New_VMSizeNotSupported*
Neden: Cloud servis’in Stagin ve Production dağıtımları aynı cluster üzerinde gerçekleştirilir. İkinci bir dağıtım eklediğiniz, İlgili allocation isteği ilk dağıtım barındıran aynı clusterda çalışılacaktır.
İyileştirme: Orijinal Cloud servis ve ilk dağıtımın silinmesi kabul edilebilirse, cloud servisi yeniden dağıtın.
Affinitiy-Group Tabanlı Sanal Ağlar
Hata: New_General* yada New_VMSizeNotSupported*
Neden: Regional Virtual Network duyurulmadan önce Virtual Network ve Affinity Group’u ilişkilendirmek gerekmekteydi. Bunun sonucunda, kaynaklar tek bir kümeye bağlanmaktaydı.
İyileştirme: Eğer Affinity Group’a ihtiyacınız yoksa silin ve yeni kaynaklarınız için Regional Virtual Network oluşturun.