SQL Server Üzerinden Alınan Yedekleri Azure Blob’a Rclone ile Yedekleme

SQL Server içerisinden aldığımız yedekleri sunucu ortamından yalıtılmış bir alana çıkarılması önem teşkil etmektedir. Sunucu üzerinde çalışırken art niyetli durumlardan ötürü sunucunun kullanılamaz hale gelmesi ya da disk donanımında meydana gelen bir arıza sebebi ile yedeklerimiz erişilemez ya da kullanılamaz hale gelebilme ihtimali göz önünde bulundurulmalıdır. Bu sıkıntılı durumların önüne geçebilmek adına aldığımız yedekleri direkt olarak sunucu içerisinden erişilemeyecek bir düzeyde dış kaynağa aktarabiliriz.

Yazı içerisinde senaryomuz şu şekilde kurgulanmıştır. SQL Server’dan .bak ve .trn yedekler bir klasör (C:\Backup) içerisinde konumlandırılmaktadır. Rclone konfigurasyonunu tamamladığımızda Azure Portal üzerinden kaynak olarak açtığımız Blob Storage üzerine yedeklerimiz upload edebilir hale geleceğiz.

Resim 1

Öncelikle Azure Portal giriş sağlıyoruz, arama kısmından destek alarak “Storage Accounts” hizmetini buluyoruz.

Resim 2

“Create Storage Account” tıklayarak hizmet ile alakalı tanımlama ve ayarlarımızı gerçekleştireceğimiz sayfaya yönlendiriliyoruz.

Resim 3

Bu yazı kapsamında Storage Account için fazla detaya girmeden direk “Review” butonuna tıklıyorum.

Resim 4

Bütün ayarlar için konfigurasyonların doğruluğunu onayladıktan sonra “Create” butonumuz aktif olduğunda hizmetimizi başlatabiliriz.

Resim 5

Oluşturmuş olduğumuz Storage Account hizmeti detaylarına gidiyoruz.

Resim 6

Access keys tabına tıklayarak Storage account name ve key1 alanında yer alan bilgileri Rclone konfigurasyonununda kullanacağımız için not alıyoruz.

Resim 7

Rclone download sayfasına eriştikten sonra işletim sistemimiz için uygun olan dosyayı indiriyoruz. Bu yazı hazırlığında Windows 11 64x işletim sistemi kullanıldığı için uygun olan dosya indirilmiştir.

Resim 8

Rclone uygula olarak C:\rclone dosyası altına .zip dosyası içerisinden çıkarılarak konumlandırılmıştır.

Resim 9

Rclone konfigurasyonu için C:\rclone dosyası altında Command Prompt (cmd) açarak rclone config parametresi ile kuruluma başlıyoruz. n) New remote adımını seçiyoruz. n yazıp giriş yapmanız yeterlidir. Akabinde “Enter name for new remote” adımında blob storage için tanımlayacağımız konfigurasyonlar için isimlendirme veriyoruz. azureblob olarak belirledik.

Resim 10

Yedekleme işlemleri için Azure Blob Storage türünde bir konfigurasyon yapacağımızı belirtiyoruz.

Resim 11

Resim 6’daki yer alan accountname ve key bilgilerini account ve key alanlarına sırası ile giriyoruz.

Devam eden parametreleri & tüm ayarlamaları varsayılan olarak ayarlıyoruz. Devam eden adımları bu şekilde tamamlayabilirsiniz, herhangi bir sorun çıkmayacaktır.

Resim 12

Tanımlamalarımız bittikten sonra q) quit config diyerek kurulumumuzu tamamlamış oluyoruz. Artık dosyalarımızı Blob Storage’a göndermeye başlayabiliriz.

Resim 13

rclone copy source:sourcepath dest:destpath

Rclone bulunduğu dosya konumunda copy parametresini kullanımı yukarıda alıntılıyorum. copy parametresini kendi tanımlamalarımıza uyarladığımızda:

rclone copy C:\Backup azureblob:backupfilesastorage

Tanımlamış olduğumuz dizinde container yok ise tanımlayacaktır. Bu container içerisine yedeklemelerimizi yükleyeceğimiz alandır.

Resim 14

Yedeklemelerimiz tamamlandı. Artık yedeklerimizi daha güvenli bir şekilde yüklemiş olduk. Container üzerinden kontrol sağladığımızda dosyalarımızın aktarıldığını gözlemlemiş olduk.

Kısıtlamalar

  • Blob Storage’a upload edilen yedeklerin internet upload hızımız ile doğrudan ilişkilidir. Dosyalarımızın geç yüklenmesi bu sebepten kaynaklı olabilir.
  • Blob Storage’a upload edilen yedeklerin dosya olarak boyutu doğrudan ilişkilidir. 1MB boyutunda bir yedek dosyası ile 1TB boyutunda olan bir dosyanın yüklenme süresi fark edecektir.
  • Rclone ile kopyalama başlattığımızda kopyalama tamamlandığında yeni oluşan dosyaları tekrar başlatmak için Windows Scheduler ya da rclone config dosyasına tanımlayarak ayarlayabilirsiniz. Bu sayede yeni dosyalar için kopyalama devam edecektir.
  • copy parametresi kaynaktan hedefe kopyalar ve bırakır, kaynaktan dosyalar silinse bile hedefte kalacaktır. Blob Storage üzerinde çok fazla dosya yedeklenmesi ve hiç silinmemesi gibi durumlarda size ekstra maliyet çıkabilir.
  • sync parametresi kaynaktan hedefe dosya durumlarını sürekli eşitler. Yani kaynaktan bir dosya silmeniz durumunda hedefden de dosyalar otomatik olarak silinecektir.

 

Leave a Reply

Your email address will not be published. Required fields are marked *