Azure FileSync – Bölüm 2

Makalemin ilk bölümünde daha çok alt yapı olarak Azure
File Sync servisini anlatmaya çalıştım. Bu bölümde ise servisin gerçek hayatta
nasıl kullanılacağını sizlerle paylaşacağım. Kurulum aşamasından önce bu servis
için bilmemiz gereken kavramları ve ön gereksinimleri sizler ile paylaşıyor
olacağım. Ayrıca bu servisi mevcut ortamlarınızda hangi şartlarda hangi
özellikleri ile kullanabileceğinizi anlatacağım.

Öncelikle bu servis ile Çözümpark’ ın Radore veri
merkezindeki sunucu ve storage sistemlerindeki tüm yedeklerini Azure dosya
sistemine taşıdığımı söylemek istiyorum. Yani bu servis ile Türkiye de (belki
de Dünya da)şu ana kadar en çok veri taşımış bir uzman tecrübesi ile bu
makaleyi kaleme alıyorum. Toplam 15TB üstü 10 yıllık bir veriyi buluta
çıkardım. Bu sürede bana destek olan Radore veri merkezindeki arkadaşlara çok
teşekkür ediyorum.

Aslında benim için yıllandırılmış bu dosyaları
saklamak, sunucu’ dan sunucuya, storage’ dan storage’ a hatta malum 10 yıl
içerisinde 3 veri merkezi değiştirmiş birisi olarak bir veri merkezinden
diğerine taşıma bir maliyetli ve yorucu oluyordu. Artık eski yedeklerimiz bulut
ortamındaki bu bana büyük bir esneklik kazandırdı. Aslında bizim gibi
teknolojiyi yakından takip edenler için Azure File Sync servisi çok yeni değil
ondan bende henüz ilk duyduğumdan beri böyle bir proje için kullanmak
istiyordum ve kullandım. Her zaman olduğu gibi beğendiğim bir teknoloji veya
ürün var ise mutlaka makalesini yazmak isterim. Benim bu makaleye başlama
hikayemde böyle oldu anlayacağınız.

Peki bu kadar hikâye yeter biraz iş yapalım.

Azure File Sync servisini kullanmak istiyorsanız
öncelikle aşağıdaki kavramları bilmeniz gerekli;

·        Storage Sync Service

·        Sync
group

·        Registered server

·        Azure
File Sync agent

·        Server endpoint

·        Cloud
endpoint

·        Cloud
tiering

 

Storage Sync Service

Azure File Sync servisinin en üst seviye kaynağıdır.
Bildiğiniz gibi azure portalında kaynaklar yani resource bilinen bir kavram olup
aslında ilk olarak en üst seviyede Azure depolama senkronizasyon hizmetini
tanımlıyoruz.

Storage sync servisi, Azure File Sync servisi için bir
kaynaktır (ilk olarak tanımlanan bir kaynak olduğu için top-level resource
olarak da bilinir). Bu kaynak aynı zamanda storage hesaplarının kaynakları ile
çifttir. Azure resource group içerisine tanımlanabilir. Bir abonelik içerisinde
birden çok storage sync service olabilir. Çünkü temel olarak Storage sync
servisi birden çok sync group ile birden çok storage hesabını
eşitleyebilir.

Sync Group

Bir sync grup, bir dosya kümesinin senkronizasyon
topolojisini tanımlar. Örneğin iki endpoint (dosya sunucusu veya klasör gibi
düşünebilirsiniz) eğer aynı sync group içerisinde ise birbirini eşitleyecek
şekilde dosyaları iletir. Sync group mutlaka bir storage account’ a bağlı
olmalıdır. Çünkü dosya eşitleme işlemini azure storage üzerinde
gerçekleştirecektir.

Registered server

Storage sync servis ile güven ilişkisi kuran sunucu
veya cluster ortamlarını temsil eder. Bir sunucu aynı anda sadece bir tane
storage sync servis’ e kayıt olabilir.

Azure File Sync agent

Azure File Sync aracı, Windows Server’ ın bir Azure
dosya paylaşımı ile senkronize edilmesini sağlayan indirilebilir bir pakettir.
Azure Dosya Senkronizasyonu aracısının üç ana bileşeni vardır:

FileSyncSvc.exe: Sunucu uç noktalarındaki
değişikliklerin izlenmesinden ve Azure’ a eşitleme oturumlarının
başlatılmasından sorumlu arka plan Windows hizmeti.

StorageSync.sys: Azure File Sync file system filter
olarak geçer ve eğer cloud tiering özelliği açık ise dosyaların hot veya cool
olarak filtrelenmesi işleminden sorumludur.

PowerShell management
cmdlets
: Son
bileşeni ise Microsoft.StorageSync kaynak sağlayıcıyla etkileşimde bulunmak için
kullandığınız PowerShell cmdlet’leridir ki bunları aşağıdaki (varsayılan)
konumlarda bulabilirsiniz:

C:\Program
Files\Azure\StorageSyncAgent\StorageSync.Management.PowerShell.Cmdlets.dll

C:\Program
Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll

Server endpoint

Kayıtlı bir sunucu üzerindeki belirli bir konumu temsil
eder. Yani üst kısımda registered server olarak ifade ettiğimiz bir sunucunun
dosya sunucunuz olduğunu düşünün. Bu dosya sunucusu üzerindeki D:\

 E:\
veya F:\SQLYedek gibi eşitlenmesini istediğini klasörleri tanımladığınız kısım
Server endpoint olarak geçmektedir.

Çakışma olmadığı sürece bir sunucu üzerinde birden çok
endpoint tanımlanabilir.

Sadece kaldırılamayan yani Türkçesi belki garip
gelebilir çünkü sürekli kullandığımız bir tabi değil ama sadece non-removable
birimler desteklenir. Uzak bir paylaşımdan eşlenen sürücüler Server endpoint
olarak tanımlanamaz.

Hemen aklınıza sistem diskini eşitleme için endpoint
olarak gösterebilir miyim gibi bir soru gelebilir. Evet gösterebilirsiniz ancak
iki limitasyon ile;

Cloud tiering özelliğini kullanamazsınız.

Rapid namespace restore olarak isimlendirdiğimiz kötü
durum senaryolarında hızlı geri dönüş için kullandığımız bu özelliği de
kullanamazsınız. Bu özellik için ayrı bir makale yazacağım.

Eğer eklediğiniz lokasyondaki dosyalar ile file sync
group içerisindeki diğer endpoint lokasyonu aynı olur ise bu durumda dosyalar
birleştirilir.

Cloud endpoint

Cloud endpoint, senkronizasyon grubunun ( Sync Group)
bir parçası olan Azure dosya paylaşımıdır (Azure File Share). Azure File Share
sadece bir tane cloud endpoint’ e üye olabilir. Bundan dolayı azure file share
sadece bir tane sync group’ a üye olabilir.

Eğer bir sync group içerisine mevcut bir azure file
share cloud endpoint olarak eklenir ise, sync group içerisinde yer alan diğer
dosyalar ile eklenen dosyalar birleştirilir.

Cloud tiering

Agent sayesinde dosya sunucularınız üzerinde en çok
kullanılan ve yine en az kullanılan dosyalar hot ve cool olarak
işaretlenmektedir. Azure File Sync servisindeki endpoint ayarlarında
belirttiğiniz % değerine göre ilgili dizin içerisinde boş yer açmaya çalışır.
Örneğin cloud tiering için %20 değerini verdiniz ve 1TB’ lık bir disk
gösterdiniz. Disk üzerinde %20 boş alan açılana kadar eski verileri azure file
sync servisi ile azure file share’ a alır. Bu sayede disk üzerinde yer açılmış
olur. En sık kullandığınız dosyaları on-premdeki sunucu üzerinde eski dosyaları
ise bulut üzerinden çağırabilirsiniz.

Peki temel kavramları öğrendiysek artık kurulumlara
başlayabiliriz.

Öncelikle büyük bir projeye başlıyorsanız eğer bu
konuda size tavsiyem “Azure File Sync evaluation” aracını kullanarak mevcut alt
yapınızın azure file sync için hazır olup olmadığını kontrol edin.

Not: Azure file sync şu anda Server 2012, 2016 ve 2019
desteklemektedir. 2008 desteklemediği gibi planda da böyle bir şey yoktur. Ancak
zaman ne gösterir bilemeyiz.

Peki bu aracı nasıl kullanıyoruz;

Not: Aşağıdaki komut setleri için öncelikle AzureRM
yüklemeniz gereklidir.

https://docs.microsoft.com/en-us/powershell/azure/install-azurerm-ps?view=azurermps-6.12.0

Install-Module -Name PackageManagement -Repository
PSGallery -Force

Install-Module -Name PowerShellGet -Repository
PSGallery -Force

clip_image002

Daha sonra powershell konsolunu kapatıp tekrar açıyoruz
ve module yüklemesini yapıyoruz

Install-Module -Name AzureRM.StorageSync
-AllowPrerelease

clip_image004

Aşağıdaki komut ile sync etmek istediğimiz path +
sistem kontrolü yapabilirsiniz

Invoke-AzureRmStorageSyncCompatibilityCheck -Path
F:\

clip_image006

Burada gördüğünüz gibi temelde bu path içerisindeki iki
dosya desteklenen dosya boyutundan büyük. Ek olarak ReFS dosya sistemi ile
formatlandığı için bu zaten desteklenmiyor.

Şimdi bu ürünü kullanarak makale yazmanın bir güzelliği
bu olsa gerek. Burada 100GB üstü dosyaların desteklenmediği yazıyor gördüğünüz
gibi, ancak ben bu sunucudan ortalama boyutları 600GB üstü komple sanallaştırma
sistemi imaj yedeklerini taşıdım. Yani neden böyle bir uyarı verdiğini açıkçası
bilmiyorum ama böyle bir limit yok. Düşüncem ise muhtemel ürün henüz GA olmadan
önce böyle bir limit vardı ancak şu anda ben sorunsuz tek bir dosya olarak
600GB+ taşıdım. Ama 700GB lık tek dosya hiç denemedim.

Örneğin C için denediğimde hiçbir sorun
görünmüyor

clip_image008

Ancak sadece NTFS desteği olması şu anda biraz kötü.
Fakat sektörde bizler gibi teknoloji çok çok yakından takip edebilen şirket çok
olmadığı için bu şu anda şirketler için bir sorun değil bence. Tahminim zaten
yakın zamanda bu konuda da destek gelecektir. Çünkü özellikle sınıflandırma
işleminde sınıflandırılmış veriler dosya sunucularımızdan kopyalanamıyordu.
Ancak azure file sync agent 3.0.12.0 ve üstü sürümde artık sınıflandırılmış ve
azure ortamına atılmış cool dosyaların sunucu dışına kopyalanması durumunda
azure’ dan bu dosyalar geri çağırılmaktadır.

Ya da bir parametre ile bundan sonra sadece path
kontrolü için aşağıdaki komut setini kullanabiliriz

Invoke-AzureRmStorageSyncCompatibilityCheck -Path F:\
-SkipSystemChecks

Ya da sadece sistem kontrolü yapabilirsiniz

Invoke-AzureRmStorageSyncCompatibilityCheck
-ComputerName cozumpark

Eğer path noktasında özellikle isim ile ilgili sorunlar
çok ise bunu csv olarak almanızda fayda var;

Peki bu gereksinimleri çözdüyseniz eğer devam
edelim.

Hangi dosyaları varsayılan olarak
eşitlemiyor;

clip_image010

Windows Server Failover cluster desteği senaryo bazlı
bulunmaktadır. Eğer cluster kurulumunu “File Server for general use” şeklinde
yaparsanız her iki node üzerinde azure file sycn agent kurmanız yeterlidir.
Ancak kurulumu “Scale-Out File Server for application data” (SOFS) veya
Clustered Shared Volumes (CSVs) üzerinde yaparsanız
desteklenmemektedir.

Veri tekilleştirme desteği yer alıyor mu?

Eğer tiering açık değil ise kullandığınız file server
üzerinde data dedplication açık olması sorun değil. Ancak cloud tiering
yapılacak ise bu durumda dedup desteklenmemektedir.

DFS Namespace DFS-N ve DFS replication DFS-R desteği
bulunmaktadır. Yani bu ortamlar ile beraber kullanabiliyoruz. Sadece DFS-R
aslında Azure file sync ile aynı işi gördüğü için önerimiz DFS-R dan azure file
sync e geçiş yapmanızdır.

Eğer azure file sync agent yüklü makineye sysprep
yaparsanız ne yazık ki terkar registration yapmanız gereklidir.

Cloud tiering açık ise Windows server search indeks bu
dosyaları indeksleyemez.

Gelelim yine çok önemli konulardan birine, anti virüs.
Hemen hemen piyasadaki pek çok üretici offline çalışma mantığını bildiği için
sorunsuz bir şekilde bu tarz dosyalar için ( offline attiribute olan ) tarama
işleminden harici tutabiliyor. Aksi halde bu dosyaların her taramada tekrar
sunucuya indirilmesi sunucu ve internet performansı için tavsiye edilen bir
özellik değildir.

Aşağıdaki ürünler ile sorunsuz bir şekilde Azure file
sync uygulamasını kullanabilirsiniz. Ancak her uygulama için bu özelliği yani
offline file mantığını tarama dışı bırakacak seçeneği seçmeniz
gerekli.

·        Windows Defender

·        System Center Endpoint Protection (SCEP)

·        Symantec Endpoint Protection

·        McAfee EndPoint Security

·        Kaspersky Anti-Virus

·        Sophos Endpoint Protection

·        TrendMicro OfficeScan

Benzer durum yedekleme çözümleri içinde geçerli olup
on-prem yedekleme çözümleri yine dosyaları indirmek isteyecektir. Bunun için
tavsiyemiz şu anda cloup backup çözümleri. Ancak aynı anti virüslerde olduğu
gibi yakında on prem yedekleme yazılımlarında da böyle özellikleri
görebileceğiz.

Bir diğer önemli konu ise şifrelenmiş dosyalar. Tabiki
kendi teknolojilerini destekliyor;

BitLocker encryption

Azure Information Protection, Azure Rights Management
Services (Azure RMS), ve Active Directory RMS

Ancak NTFS Encrypted File System (EFS)
desteklenmemektedir.

Bir diğer önemli başlık ise firewall. Malum kurumsal
şirketlerin tamamında neredeyse sunucu ve istemci tarafında ayrımlar,
sunucuların internete çıkışındaki engellemeleri düşünürsek bu servis için
gerekli olan yapılandırmaları da paylaşmakta fayda var.

Öncelikli olarak sunucunun Azure veri merkezilerine 443
nolu porttan çıkması şart. Azure veri merkezi ip adreslerine aşağıdaki xml
dosyasından ulaşabilirsiniz

https://www.microsoft.com/en-us/download/details.aspx?id=41653

clip_image012

clip_image014

443 nolu portun dışında bir de Proxy şartı olabilir.
Yani sunucularınız Proxy ile internete çıkmaz zorunda ise aşağıdaki PS komutu
ile azure file sync agent’ a bu durumu öğretebilirsiniz

Import-Module “C:\Program
Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll”

Set-StorageSyncProxyConfiguration -Address< url>
-Port <port number> -ProxyCredential <credentials>

Eğer makine bazlı Proxy kullanıyorsanız durum biraz
daha karışık olup bu linki inceleyebilirsiniz

https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-firewall-and-proxy

Evet makalemin bu bölümünün de sonuna geldik. Umarım
faydalı bir makale olmuştur. Makalemin devamında Azure File oluşturulması ve
Azure File Sync servisinin kurulumunu anlatacağım.

Bir sonraki makalemde görüşmek üzere.

 

 

Kaynak

https://www.cozumpark.com/blogs/cloud_computing/archive/2018/11/11/azure-file-sync-bolum-2.aspx