3. Parti Yazılımlar

Veeam Backup for Microsoft Azure 1.0 Bölüm 2 ‘İlk Yedekleme Görevini Oluşturma ve Çalıştırma’

İçinde bulunduğumuz bu sıkıntılı süreçte hepinizin güvenli ve sağlıklı durumda olduğunuzu ümit ediyorum. Veeam Backup for Azure ürünü yayınlanalı sadece iki gün oldu ama ben bu makale serisine başlayarak ne kadar doğru bir işe kalkıştığımı daha ikinci gününde anladım.

Malum Ramazan ayındayız ve bu 1 aylık süre içerisinde, özellikle benim görev yaptığım Ortadoğu bölgesinde kolay kolay toplantı organize etmek, hele ki uzun sürecek POC ve Demo çalışmaları için onay almak mümkün değil. Genelde de organize edilen toplantıların çoğu son dakika da iptal edilir ve Bayram sonrasına ertelenir.

Ancak neredeyse ülkelerin tamamında evden çalışma durumu geçerliliğini koruduğu için bu her yıl yaşanılan rehavet bu sene yaşanmıyor ve online toplantı trafiği son hızıyla devam ediyor.

İşin ilginç ve aynı zamanda sevindirici tarafı, henüz yayınlanalı 2 gün olmuş bir ürün için hemen birçok müşterimizden Demo ve POC talebi gelmesi. İşte bu yüzden ‘iyi ki ürünü iyice inceleyerek makaleleri yazmaya başlamışım’ diyorum.

Ama ürüne de hakkını vermem lazım, kolay anlaşılan bu sade ve işlevsel arayüzü öğrenmek, bir iki gün içinde ezbere anlatıp sunumunu ve demosunu yapıyor hale gelebilmek çok önemli.

Keyifle okuyacağınızı ve çalışmalarınıza olumlu katkı yaratacağını umuyorum…

Murat AÇINCI
Principal Systems Engineer
Veeam Software, Middle East

[email protected]
[email protected]

Veeam Backup for Microsoft Azure (VBA) içerisinde bir yedekleme görevi yaratmaya başlamadan önce, çözüm içerisinde sunulan iki önemli seçenekten ve çözümün basit olarak nasıl çalıştığından aşağıda hazırladığım diyagram üzerinden bahsetmek istiyorum.

  1. Bir yedekleme görevini çalıştırdığınızda VBA, görev içerisine eklenmiş Azure Sanal Makinelerinin konfigürasyonunu ve VHD, yani disk bilgilerini alır.
  2. Görev içerisindeki her bir sanal makinenin konfigürasyon ve VHD bilgisi VBA’nın kendi içerisindeki konfigürasyon veri tabanına kaydedilir.

Bu aşamadan sonra, görev içerisindeki seçiminize göre kısa süreli Azure Snapshot’ları veya normal veeam yedek dosyaları yaratılır.

3. Snapshot’lar VHD’lerin tipine göre iki farklı şekilde depolanır.

  • VM’in diskleri ‘Managed’ VHD ise Azure Compute API aracılığı ile VM ile aynı kaynak havuzunda (Resource Group) snapshot yaratılır ve görev içinde tanımlanan sayıda saklanır. Süresi dolan Snapshot otomatik olarak silinir.
  • VM’in diskleri ‘Unmanaged’ VHD ise, Blob Service API ve Veeam VM Backup API kullanılarak snaphost oluşturulur ve VHD’nin bağlı olduğu ‘storage account’ içerisine kaydedilir.


4. VM’in disk tipinden bağımsız olarak tüm yedekler Blob Service API ve Veeam VM Backup API kullanılarak yaratılarak görev içerisinde tanımlanmış Backup Repository içerisinde Blob olarak saklanır.

3. ve 4. Adımlarda görüldüğü üzere bir yedekleme görevi içerisinde SNAPSHOT ve YEDEKLEME şeklinde iki farklı yaklaşım sunuluyor.

Bu iki yaklaşımın zamanlaması ve saklama süreleri birbirinden tamamen bağımsız olarak ayarlanabiliyor.

Dilerseniz ikisinden sadece birini veya ikisini aynı anda kullanabiliyorsunuz.

Benim önerdiğim uygulama şu şekilde; kısa süreli saklama ve kurtarma işlemleri için snapshot’ların (örneğin son 5 gün), daha uzun süreli saklamak ve hatta farklı ortamlara aktararak 3-2-1 (3 kopya, 2 farklı medya, 1 ortam dışı) kuralını uygulamak için de yedek dosyası olarak saklama opsiyonunun tercih edilmesi.

Son olarak, snapshot ve yedek zincirlerinden kısaca bahsetmek istiyorum.

Her bir snapshot, VM’in o anki durumunu barındıran bağımsız snapshot dosyaları olarak saklanıyor. Süresi dolan snapshot otomatik olarak siliniyor ve bu işlem ‘Sessions’ bölümünde ve ana ‘Overview’ ekranında görüntüleniyor. Ortamınızda kaynak tüketen ve kullanılmayan geçmişe dönük bir snapshot kalmadığından emin oluyorsunuz.

Yedekleme dosyaları içinde geriye dönük saklama kuralları benzer şekilde çalışıyor.

Örneğin Yedekleme görevi içerisinde 14 yedek noktası tanımladıysanız, diskte her zaman 1 Full ve 13 Incremental (artımlı) yedek dosyanız olacak demektir. Zincire yeni bir nokta eklendiğinde en eski nokta otomatik olarak storage account içerisinden siliniyor.

VBA içerisinde, Veeam Backup & Replication’da sunulan farklı yedekleme zinciri türleri yer almıyor. Ancak makale serisinin 4.yayını Veeam Backup & Replication ile Entegrasyon’ içerisinde bu konuya detaylı değineceğimiz. Yedeklerin bir kopyasını kendi ortamımıza alıp burada 3-2-1 kuralını uygulayacağız. Hatta 5.makalemizde de Azure VM yedeklerini anında Vmware VM’i olarak çalıştıracağız…

Bu genel bilgileri de sunduktan sonra artık VBA içerisindeki ilk yedeğimizi oluşturmak için web arayüzümü de bağlanabiliriz. Bir web tarayıcı açarak bir köşeye kaydettiğimiz IP adresi ile VBA konsoluna bağlanıyoruz. Karışımıza login ekranı geliyor.

Kullanıcı adı ve şifremi girerek arayüze, ‘Overview’ ekranına ulaşıyorum.
Yedekleme görevlerini tanımlayacağım ve yöneteceğim ‘Policies’ bölümüne ilerliyorum.

+Add butonuna tıklayarak yeni yedekleme görevi oluşturma sihirbazını başlatıyorum.

Policy Name’ – İlk adımda görevime bir isim ve tanımlamamda yardımcı olacak bir açıklama girerek bir sonraki adıma ilerliyorum.

‘Directory’ – Bu adımda yedekleme görevi içine ekleyeceğim Azure Sanal Makinelerimin ait olduğu Azure Active Directory – dizin servisini seçerek görev tanımlamaya devam ediyorum.

Regions’ – Bu bölümde yedekleyeceğim Azure Sanal Makinelerimin bulunduğu Azure bölgelerini belirtmem gerekiyor. Sadece seçtiğim bölgelerdeki sanal makineler listeleneceği için bölgenin doğru seçilmesi gerekiyor.

+Add butonuna tıklayarak bölge listesine ulaşıyorum.

Regions’ – Sanal Makinelerimin bulunduğu bölgeleri seçtikten sonra ‘Add’ butonu ile sihirbazın Regions adımına geri dönüyorum. Bölge seçimimi kontrol ettikten sonra ‘Next’ ile bir sonraki adıma ilerliyorum.

Specify Resources’ – Bu görev içinde koruyacağım kaynakları belirleyeceğim en önemli adıma geldik. Veeam burada iki seçenek sunuyor.

All Resources’ seçeneği ile seçtiğim Azure Active Directory ve Bölgedeki tüm Sanal Makineleri koruyabilirim. Yeni eklenecek her bir Sanal makine otomatik olarak koruma altına alınacaktır. Tüm kaynakları seçsem dahi, bir sonraki adım olan ‘Exclude Resources’ bölümünde görevin kapsamından istediğim makineleri çıkartma opsiyonum da mevcut.

Bu özellikle sanal makine sayısının yüksek olduğu ortamlarda görev yönetimini kolaylaştırmak için faydalı olacaktır.

Ikinci opsiyonda ise korunacak kaynakları kendim seçebiliyorum. Bunun için 4 kriter kullanabilirim.

  • Subscription – Azure Aboneliği belirterek
  • Resource Group – Kaynak grubu belirterek
  • Tags – Etiketler belirterek
  • Virtual Machines – Doğrudan sanal makine seçerek

Ben açıkçası hem Sanal hem Bulut ortamlarında yedekleme görevleri yaratırken TAGS – etiket kullanmayı tercih edenlerdenim.

Yeri gelmişken bu konuda biraz bilgi vereyim.

Zira Sanallaştırma teknolojisi ile bir donanım yatırım, tedarik ve hazırlama sürecini beklemeden hızlıca bir sunucuyu devreye alabiliyoruz. Aynı avantaj bulut platformlarında da geçerli. Eğer birden fazla kişinin yetkisi var ise, bir sistem veya yedekleme yöneticisi olarak ortamınızda yeni sunucular oluşturulduğunu fark etmeniz biraz zaman alabilir. Hele ki ortamınızı izleyen, raporlayan ve sizi gelişmelerden haberdar eden bir izleme ve raporlama çözümü kullanamıyorsanız bu daha da uzun sürebilir ve bu süreçte yedeklenmeyen sanal makineler risk teşkil ederek başınıza daha büyük dertler açabilirler.

Eğer ortamınızda sanal makine yaratılırken (yerel veya bulut) etiketleme alışkanlığını edinirseniz ve bunu prosedürlerinizde bir standart olarak belirlerseniz yedekleme görevlerinizin yönetimini kolaylaştırmış, korunmayan veya gereksiz korunan sunucu durumunu kontrol altında tutarak verimliliğinizi arttırmış olursunuz.

Özetle, görevi yaratırken Tags – etiketleri kullanarak yaratırsanız, o etikete sahip tüm makineler otomatik olarak bu görev içerisinde yedeklenirler. Ortama yeni makine eklenirken ilgili etiketleme yapılırsa, yedekleme görevini değiştirmeden bu makinenin bir sonraki yedekleme zamanında korunması sağlanacaktır. Sunucuların kritikliklerine, saklama lokasyonlarına, kopya sayılarına, saklama süresi politikalarına göre etiketleme yapılabilir.

Nacizane tavsiyem olarak burada belirtmiş olayım ama sanki bu konuda da bir kısa makale yazılabilir diye düşünüyorum.

Ben önerdiğim şekilde etiket kullanarak kaynak seçim sürecine devam etmek istiyorum. Bu nedenle TAGS’e tıklıyorum.

Ben örnek olması açısından bir etiket yarattım. Sadece Azure Blob üzerinde yedeklemesini istediğim sanal makinelerimi ayırt edebilmek için bu etiketi kullandım.

Ortamımda var olan tüm etiketlerin içerisinden istediklerimi seçebilirim. ‘Add’ diyerek bu pencereyi kapatıyorum.

‘Ben etiketleri kullanmak istemiyorum, az sanal makinem var, kendim seçerim tek tek’ diyenlerdenseniz o zaman ‘Virtual Machines’ seçeneğini tıklayıp açılan bu pencereden istediğiniz sanal makineleri de seçebilirsiniz.

Dilerseniz birden fazla ekleme yöntemini de kullanarak kaynakları farklı şekilde ekleyebilirsiniz.. Örnek. ‘abcd’ etiketine sahip makineler + F kaynak grubundaki makineler + x, y,z isimli sanal makineler… tek bir görev altına eklenebilirler.

Pencereyi kapatıp, ‘Next’ butonuna tıklayarak bir sonraki adım ile devam ediyorum.

Exclusions’ – adımında ise seçtiğim kaynaklar içerisinde görevin kapsamı dışında tutulmasını, yani yedeklenmesini istemediğim kaynakları belirtebiliyorum.

Örneğin bir önceki adımda ‘All Resources’ yani Tüm Kaynakları yedeklemeyi seçmiş olalım ve içerisinde sadece x ve y makinelerinin yedeklenmemesini istiyorsam, bu kuralı işte bu bölümde tanımlıyorum.

Geri kalan tüm makineleri tek tek eklemek yerine, tamamını ekleyip sadece bu 2 makineyi hariç tutmak daha kolay olacaktır.

Next’ ile devam ediyorum.

Bir önemli adıma daha geldik.

Yazımın başlangıcında iki farklı yedeğin olduğundan bahsetmiştim.
Kısa süreli yedekler – Azure Snapshot’lar olarak saklanırlar.
Uzun süreli yedekler ise bir Azure Storage Account içerisinde saklanırlar.

Snapshot Settings’ bölümünde işte bu kısa süreli yedekleri planlayacağız.

Bu seçenek opsiyoneldir, ‘ben snapshot kullanmak istemiyorum, yedek dosyaları olsun yeterli’ diyebilirsiniz. O zaman ilk kutucuğu seçmeden bir sonraki adıma ilerleyebilirsiniz.

Snapshot’ların hızlı oluşturma ve hızlı kurtarma özelliklerini kullanmak isteyenlerdenseniz, ‘Create Snapshots’ kutusunu tıklamanız yeterli.

Kaç snapshot saklamanız gerektiği ve bunların ne zaman ve hangi sıklıkta oluşturulmasını istedğinizi belirttikten sonra bir sonraki adıma ilerleyebilirsiniz.

Çok sorulacağını tahmin ettiğim bir soruyu yeri gelmişken yanıtlayalım.

Burada seçeceğimiz görevin çalışacağı saat hangi zaman dilimine göre seçilmelidir?’
ya da sorunun farklı bir geliş biçimi…  ‘Hocam biz görevi akşam 8’de başlasın diye ayarladık, 8’de çalışmadı… gitti gece 11’de çalıştı’

Örnek güzel açıkladı aslında. Belirtilen saat, VBA sunucunuzun saati, bu da UTC olarak ayarlı. Yani 0 derece boylamındaki saat, bir başka deyişle Greenwich mean time. Ülkemizin UTC+3 diliminde olduğunu düşünürsek saat 8pm olarak ayarladığımız görevin 11pm’de başlaması normal J

Burada ufak bir ek bilgi daha vermek istiyorum.
En alttaki ‘Peridocally every…’ seçeneğini kullanarak örneğin, her bir saatte bir snapshot alınmasını sağlayabilirsiniz. Ancak bu sunucunun sadece günün belirli saatlerinde erişilen bir sunucu olduğunu düşünelim. Bu durumda o belirli saatler dışında saatte bir alınacak snapshot’ların bana bir faydası değil, aksine bir maliyeti olacaktır. Işte bu nedenle, en sağdaki ‘Schedule’ seçeneği ile bu saatlik snapshot’ların hangi zaman aralığında alınmasına izin verdiğimi belirleyebiliyorum…

‘Bu seçtiğim snapshot’ların bana maliyeti nedir?’ sorusu hemen aklımıza geliyor.

Bu makinenin boyutu ile doğru orantılı ama üzülmeyin, bu maliyeti sizin için hesaplayan ve bu sihirbazın devamında size bunu gösteren bir adım mevcut.

Ayarlarımı kontrol ettikten sonra yine ‘Next’ ile ‘Backup Settings’ adımına ilerliyorum.

Backup Settings’ – işte bu bölüm gerçek Veeam yedek dosyalarını oluşturacağımız bölüm.

Gördüğünüz gibi bu adım da opsiyonel.

‘Ne demek yani, yedek almayacaksak bu görevi neden oluşturuyoruz ?’ sorusunu duyar gibiyim.

Bir önceki adımdaki ‘Kısa Süreli Snapshotlar’ ve bu adımdaki ‘Yedekler’.

Birlikte veya ayrı ayrı kullanılabilirler.

Bazı sunucular için sadece kısa süreli snapshot’ları kullanan görevler tanımlayabilirsiniz.

Ancak ‘Ben Blob Container üzerinde kalıcı yedekler oluşturmak, bunların bir kopyasını başka bir bulut sağlayıcı da saklamak veya yerel veri merkezime de göndermek istiyorum’ diyorsanız o zaman bu adımda kalıcı yedeklerin hangi ‘Repository’ye gönderileceğini, geriye dönük kaç AY veya kaç GÜN boyunca saklanacağını ve görevin hangi sıklıkta saklanacağını bu adımda belirlemeniz gerekiyor.

Saatin UTC formatında olduğunu unutmayalım.

Ayarlarımı kontrol edip artık görev tanımlama sihirbazının son 3 adımına ilerlemek için ‘Next’ butonunu tıklıyorum.

Cost’ – ‘Yapmış olduğum bu ayarlar ile bu yedekleme işleminin bana aylık maliyeti ne olacak ?’

Bulut kaynaklarını kullanarak bir şeyler yaparken hepimizin kafasını kurcalayan en önemli konu maliyettir. Hep ‘aman bir yerden hiç hesapta olmayan sürpriz bir maliyet çıkıp herşeyi alt üst etmesin’ deriz. Ve çoğu zaman da hiç düşünmediğimiz maliyetlerle karşı karşıya kalırız.

Bulut kaynaklarının ücretlendirilmesi sadece sanal makine kaynağı olarak düşünülmemelidir.

Snapshot’ların bir maliyeti vardır, aynı şekilde buluttan dışarı yönde çıkan ağ trafiğinin veya disk üzerindeki işlem sayısının da olduğu gibi.

Veeam bu görev için kullanılacak tüm kaynakları göz önüne alarak size aylık bir maliyet tahmini sunmaktadır. Bunun sadece tahmin olduğunu lütfen göz ardı etmeyin.

Dilerseniz ‘Export’ butonunu kullanarak bu tabloyu .csv veya .xml formatında dışarıya aktarabilirsiniz.

Görev ile ilgili son ayarları yapmak üzere bir sonraki adıma ilerliyorum.

Policy Settings’ bölümünde görevimizin otomatik tekrar deneme ve bildirim ayarlarını düzenleyebiliyoruz.

Eğer bu yedekleme görevi herhangi bir nedenden dolayı başarısızlıkla sonuçlanırsa ve siz Veeam’in bunu tekrar denemesini istiyorsanız ‘Automatic retry’ kutusunu işaretlemeniz yeterli.

Veeam 60sn aralıkla görevi belirlediğiniz sayıda tekrar deneyecektir. Varsayılan ayar 3’tür.

Bu seçimin aktif olabilmesi için görevin otomatik çalışma zamanlama ayarlarının yapılmış olması gerekmektedir.

Notifications’ bölümünde ise görev sonrası Veeam’in hangi koşullarda hangi eposta adreslerine mesaj göndermesini istediğinizi tanımlayabilirsiniz.

Noktalı virgül kullanarak birden fazla eposta adresi tanımlayabilirsiniz.

Bu özelliğin kullanılabilmesi için VBA genel ayarlarda (‘Configuration’) ‘E-Mail Settings’ bölümünde SMTP sunucu bilgilerinin girilmiş olması gerekir.

(Not. Yukarıdaki ekran Yedekleme Görevi Sihirbazının bir adımı değil, uygulama genel ayarlar ekranındandır. Görevi yarattıktan sonra da tanımlayabilirsiniz.)

Yine sık karşılaştığım bir soruya burada yanıt vereyim.

‘VBA’nın ana menüsündeki Genel Bildirim Ayarlarında da aynı seçenekler mevcut. Görev içerisinde bildirim ayarlarını tekrar tanımlamanın gerekçesi veya farkı nedir?’

Genel ayarlarda tanımladığınız seçeneklere göre, belirttiğiniz eposta adreslerine her bir seans sonrası bilgilendirme eposta olarak gönderilir.

Görev içerisinde farklı seçenek sunulmasının amacı, görev özelinde farklı kişilere bildirim gönderme ihtiyacıdır.

Siz hem genel ayarlarda hem görev içerisinde aynı e-posta adresini girerseniz, görev bitiminde aynı adrese 2 e-posta gidecektir.

Kullanım örneği şu şekilde olabilir:

Genel ayarlarda her seans sonrası Yedekleme Yöneticisine e-posta gönderilsin.
A görevi için A uygulamasının sahibine ayrıca e-posta gönderilsin.

Ve sıra geldi son adıma..

Summary’ – Özet ekranında yaptığım tüm ayarların bir listesini gördükten ve doğruladıktan sonra ‘Finish’ ile sihirbazı sonlandırıyorum.

VBA burada bize bu ayarları bir şablon olarak saklama ve ileride başka görevleri yaratırken kullanma imkanı sunuyor. ‘Export template’ seçeneği ile bu ayarları bir .json şablon dosyası olarak kaydedebilirim.

Tebrikler, 10 Adımlı bir sihirbazın sonunda yedekleme görevimizi oluşturduk.

Backup Policies’ ekranında görevimizin başarıyla yaratıldığını görüp teyit ediyoruz.

Bu ekrandaki butonları kullanarak;

  • Yarattığım görevi planlanan zamanından önce çalıştırabilirim ‘Start’,
  • Çalışmakta olan bir görevi durdurabilirim ‘Stop’
  • Aktif bir görevi geçici bir süreliğine devre dışı bırakabilirim. ‘Disable’
  • Ve devre dışı bıraktığım bir görevi tekrar aktif hale getirebilirim. ‘Enable’
  • Yeni bir yedekleme görevi ekleyebilirim. ‘Add’
  • Var olan bir görevi değiştirebilirim ‘Edit’
  • Veya komple silebilirim ‘Remove’

Ayrıca birden fazla tanımlanmış görevim olması durumunda bu görevleri öncelik sırasına koyabilirim.         

Bu durumda, eğer bir Azure Sanal Makinesi birden fazla görev içinde yer alıyorsa, sadece önceliği diğerlerine göre yüksek olan görev içerisinde yedeklenecektir. Görevi seçtikten sonra okları kullanarak görevin sırasını değiştirebilir ve ayarları ‘Apply’ ile uygulayarak ana ekrana dönebilirsiniz.

Artık tanımladığımız görevin zamanı geldiğinde çalışmasını bekleyebiliriz.

Bu makalemizin de sonuna geldik. Serinin üçüncü makalesi olan ‘VBA Yedeklerinden Sanal Makine, Disk ve Dosya Kurtarma’ konulu makalemizde görüşmek dileğiyle…

Sağlıkla ve mutlulukla kalın.

İlgili Makaleler

2 Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu