Azure File Sync ile On-Premises File Server, Cloud’a nasıl taşınır?

Okuma süresi - 10 dk.


Şirket içinde kullandığınız file server içerisinde çok sayıda dosyanız olabilir ve bu dosyalarınızı hepsi, yönetilmesi, yedeklenmesi ve kurtarılması zor olan dağınık şubelerde bulunabilir. Böyle bir senaryoya sahipseniz eğer dosyalarınızın tamamını bulutta birleştirebilirsiniz.

Azure File Sync nedir?

Azure File Sync, Azure Platform as a Service (PaaS) ve Azure Files üzerine oluşturulan karma bir çözümdür. Azure File Sync ile artık dosyalarınızı Azure’da merkezileştirebilir ve ardından Azure File Sync aracını şirket içi bir Windows Server’a yükleyerek bulut dosyalarınıza hızlı şekilde erişim sağlayabilirsiniz. Local sunucunuz ve Azure sürekli olarak senkronize edilir. Bu nedenle hızlı local önbellekler ve bulut katmanlama ile desteklenen çoklu site erişimi ile dosyalarınız için tek bir merkezi konuma sahip olursunuz.

Cloud Tiering nedir?

Zamanla disklerinizde hangi dosyaların kullanıldığına, hangi dosyaların yazıldığına dair bir heat map oluşturur ve ardından diskler dolduğunda dosyalar buluta taşınır. Yalnızca namespace’ler diskler üzerinde local olarak saklanır ve kullanıcı dosyayı tıkladığında, doğrudan disklerden açmak yerine buluttan sorunsuz bir şekilde indirilir.

Bir sunucu herhangi bir nedenle şirket içinde kullanılamaz hale gelirse, Azure File Sync’i başka bir sunucuya veya sanal makineye yüklemeniz yeterlidir. Kullanıcılarınız ve uygulamalarınız dosyaya dakikalar içinde yeniden erişebilir. Azure Backup hizmetinin entegrasyonuyla, şirket içi yedekleme çözümleri konusunda endişelenmeden buluttaki verilerinizi koruyabilirsiniz. Bir uygulamayı buluta taşımak isterseniz, uygulamanız Azure Dosya paylaşımına ağınızdaki local bir dosya paylaşımı gibi erişebilir.

Bu yazıda, şirket içi dosya sunucularını buluta genişletmek için Azure File Sync (AFS) nasıl hızlı bir şekilde kullanmaya başlayacağınızı göstereceğim.

Azure File Sync önkoşulları

Başlamadan önce, doğrulamanız gereken birkaç ön koşul vardır.

Şirket için (On-premises)

Azure File Sync tarafından desteklenen Windows Server sürümleri şunlardır.

  • Windows Server 2019 (Datacenter and Standard) – Server with Desktop Experience
  • Windows Server 2016 (Datacenter and Standard) – Server with Desktop Experience
  • Windows Server 2012 R2 (Datacenter and Standard) – Server with Desktop Experience
  • Microsoft, Windows Server Core SKU’nun Azure File Sync ile de desteklendiğini onayladı.

PowerShell sürüm 5.1, Azure File Sync için gereken minimum değerdir. Windows Server 2012 R2 kullanıyorsanız, en azından PowerShell 5.1’i kurduğunuzdan emin olmanız gerekir. Windows Server 2016 ve Windows Server 2019’da bu kontrolü atlayabilirsiniz.

Azure’de

Bu yazının yazıldığı sırada Azure File Sync yalnızca 32 bölgede kullanılabilir. Microsoft, yakın gelecekte daha fazla bölge için destek eklemeye devam edecek. Bölge kullanılabilirliğini buradan kontrol edebilirsiniz.

Azure File Sync’i dağıtma

Aşağıdaki bölümde Azure File Sync’i PowerShell ile otomatikleştirmek ve dağıtmak için gerekli adımları açıklayacağım. Aynı adımlar, UI ve Azure Portal aracılığıyla gerçekleştirilebilir.

On-premises File Server’i Azure File Sync kullanacak şekilde hazırlama

PowerShell konsolu açın ve Internet Explorer Enhanced Security’i administrator ve normal kullanıcılarda devre dışı bırakmak için aşağıdaki komutları çalıştırın.

# Disable Internet Explorer Enhanced Security Configuration for Administrators
Set-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}” -Name “IsInstalled” -Value 0 -Force
# Disable Internet Explorer Enhanced Security Configuration for Users
Set-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}” -Name “IsInstalled” -Value 0 -Force

Value değerini 1 yaparak yeniden etkinleştirebilirsiniz.

Azure File Sync Agent’ı indirme

Sonraki adım, Azure File Sync aracını indirmektir. Windows sunucu üzerinde PowerShell konsolu açın ve aşağıdaki komutu çalıştırın. Bu, İşletim Sistemi sürümünüze (Windows Server 2012 R2, Windows Server 2016 ve Windows Server 2019) bağlı olarak uygun Azure File Sync aracısını indirecektir.

# Gather the OS version
$osver = [System.Environment]::OSVersion.Version# Download the appropriate version of the Azure File Sync agent for your OS.
# Azure File Sync Version 10.0
# Windows Server 2019
if ($osver.Equals([System.Version]::new(10, 0, 17763, 0))) {
Invoke-WebRequest `
-Uri https://download.microsoft.com/download/1/8/D/18DC8184-E7E2-45EF-823F-F8A36B9FF240/StorageSyncAgent_WS2019.msi `
-OutFile “StorageSyncAgent.msi”
}
# Windows Server 2016
elseif ($osver.Equals([System.Version]::new(10, 0, 14393, 0))) {
Invoke-WebRequest `
-Uri https://download.microsoft.com/download/1/8/D/18DC8184-E7E2-45EF-823F-F8A36B9FF240/StorageSyncAgent_WS2016.msi `
-OutFile “StorageSyncAgent.msi”
}
# Windows Server 2012 R2
elseif ($osver.Equals([System.Version]::new(6, 3, 9600, 0))) {
Invoke-WebRequest `
-Uri https://download.microsoft.com/download/1/8/D/18DC8184-E7E2-45EF-823F-F8A36B9FF240/StorageSyncAgent_WS2012R2.msi `
-OutFile “StorageSyncAgent.msi”
}
else {
throw [System.PlatformNotSupportedException]::new(“Azure File Sync is only supported on Windows Server 2012 R2, Windows Server 2016, and Windows Server 2019”)
}

Azure File Sync aracısını yükleme

Windows sunucunuzda PowerShell konsolu açın ve aşağıdaki komutu çalıştırın.

# Install the MSI package in quiet mode
Start-Process -FilePath “.\StorageSyncAgent.msi” -ArgumentList “/quiet” -Wait

Azure File Sync aracısı üç ana bileşenden oluşmaktadır.

FileSyncSvc.exe: Server Endpoints’lerde ki değişiklikleri izlemekten ve Azure ile eşitleme oturumlarını başlatmaktan sorumlu olan Windows servisidir.

StorageSync.sys: Cloud tiering etkinleştirildiğinde dosyaların, Azure Files’e tiering’den sorumlu Azure File Sync file system filter.

PowerShell management cmdlets: Microsoft.StorageSync Azure Resource Provider ile etkileşim için PowerShell cmdlet’leri.

Cmdlet’ler aşağıdaki konumlarda bulunabilir.

%ProgramFiles%\Azure\StorageSyncAgent\StorageSync.Management.PowerShell.Cmdlets.dll
%ProgramFiles%\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll

Azure’da Storage Sync Service oluşturma

Sonraki adım, Azure’da Storage Sync Service oluşturmaktır, ancak bunu yapmadan önce Storage Sync Service context oluşturmanız gerekir.

Windows sunucunuzda PowerShell konsolu açın ve aşağıdaki komut dosyasını çalıştırın.

Try {
# Login to Azure
$AzureSubName = Read-Host “`n Enter Azure Subscription name”
$AzAcctInfo = Login-AzureRmAccount -Subscription $AzureSubName
Write-Output “Connecting to Azure Cloud…”
}
Catch {
Write-Output “Cannot connect to Azure environment. Please check your credentials and Azure Subscription name. Exiting!”
Break
}# The default location of the Azure File Sync Agent
$AFSAgentPath = “C:\Program Files\Azure\StorageSyncAgent”# Import the Azure File Sync PowerShell management cmdlets
Import-Module “$AFSAgentPath\StorageSync.Management.PowerShell.Cmdlets.dll”

# Get the Azure subscription ID and store it in a variable
$AzureSubID = $AzAcctInfo.Context.Subscription.Id

# Get the Azure Active Directory tenant ID and store it in a variable
$AzTenantID = $AzAcctInfo.Context.Tenant.Id

# Enter any of the supported Azure region you want to deploy Azure File Sync into
# https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-planning#region-availability
$AzRegion = Read-Host “`n Enter Azure Region name”

# Enter the resource group name to deploy the Storage Sync Service into
$AzResourceGroup = Read-Host “`n Enter Azure Resource Group name”
New-AzureRmResourceGroup -Name $AzResourceGroup -Location $AzRegion

# The following command creates an AFS context
Login-AzureRmStorageSync `
–SubscriptionId $AzureSubID `
-ResourceGroupName $AzResourceGroup `
-TenantId $AzTenantID `
-Location $AzRegion

# Create Azure Storage Sync Service
$AFSStorageSyncName = Read-Host “`n Enter the desired name of your Storage Sync Service”
New-AzureRmStorageSyncService -StorageSyncServiceName $AFSStorageSyncName

Yukarıdaki komut dosyasını çalıştırdıktan sonra PowerShell oturumunu kapatmayın. Bu, parametrelerin ve kimlik doğrulamanın minimum tekrarıyla sonraki Azure Storage Sync PowerShell komutlarının çalıştırılmasına yardımcı olacaktır.

Windows Sunucusunu Storage Sync Service kaydettirme (register)

Bu adımda, sunucunuzu şirket içinde Storage Sync Service ile kaydetmeniz gerekir. Windows sunucunuzda PowerShell konsolu açın ve aşağıdaki komutu çalıştırın.

$RegisteredServer = Register-AzureRmStorageSyncServer -StorageSyncServiceName $AFSStorageSyncName

Windows sunucunuzu bir Storage Sync Service kaydettirmek, şirket içi sunucunuz ile Azure’daki Storage Sync Service arasında bir güven ilişkisi kurar. Azure File Sync’i bir Failover Cluster’in üyesi olan bir node üzerinde dağıtıyorsanız, bir Failover Cluster içindeki her sunucu nodu için yukarıda açıklanan adımları tekrarlamanız gerekir.

Bir Storage account ve dosya paylaşımı oluşturun

Bu makalenin başlarında bahsedildiği gibi, senkronizasyona başlamadan önce Azure’da bir storage account ve dosya paylaşımı oluşturmamız gerekiyor. PowerShell konsolu açın ve aşağıdaki komut dosyasını çalıştırın.

# Create a storage account with desired name
$AzStorageAccountName = Read-Host “`n Enter the desired storage account name in lowercase letters only”$AzStorageAccount = New-AzureRmStorageAccount `
-Name $AzStorageAccountName `
-ResourceGroupName $AzresourceGroup `
-Location $Azregion `
-SkuName Standard_LRS `
-Kind StorageV2 `
-EnableHttpsTrafficOnly:$true# Create an Azure file share within the desired storage account
$FileShareName = Read-Host “`n Enter the desired Azure file share name in lowercase letters only”
$FileShare = New-AzureStorageShare -Context $AzStorageAccount.Context -Name $fileShareName

Sync Group oluşturma

Bu adımda bir senkronizasyon grubu oluşturmamız gerekiyor. Bir eşitleme grubu, Azure File Sync’in temel topoloji birimidir ve sync partnership ilişkisini tanımlar.

PowerShell konsolu açın ve aşağıdaki komutu çalıştırın.

$SyncGroupName = Read-Host “`n Enter the desired Sync Group Name”
New-AzureRmStorageSyncGroup -SyncGroupName $SyncGroupName -StorageSyncService $AFSStorageSyncName

Cloud Endpoint oluşturma

Bu adımda, bir Cloud Endpoint oluşturmamız gerekiyor. Cloud Endpoint, Azure dosya paylaşımına yönelik bir işaretleyicidir. Tüm server endpoint’ler, cloud endpoint’i merkez haline getirerek bir cloud endpoint ile senkronize olacaktır.

PowerShell konsolu açın ve aşağıdaki komutu çalıştırın.

# Create a cloud endpoint
New-AzureRmStorageSyncCloudEndpoint `
-StorageSyncServiceName $AFSStorageSyncName `
-SyncGroupName $SyncGroupName `
-StorageAccountResourceId $AzStorageAccount.Id `
-StorageAccountShareName $fileShare.Name

Server Endpoint oluşturma

Son adımda, bir server endpoint oluşturmamız gerekiyor. Bir server endpoint, bir sunucu birimindeki bir klasör gibi, on-premises sunucuda kayıtlı bir diskte bulunan path’i temsil eder. Cloud Tiering’i etkinleştirmeyi planlıyorsanız path, non-system volume üzerinde olmalıdır. Cloud Tiering, system volume biriminde etkinleştirilemez.

PowerShell konsolu açın ve aşağıdaki komut dosyasını çalıştırın.

$ServerEndpointPath = Read-Host “`n Enter the desired path on your registered server which is not on the system volume”$DriveLetter = $ServerEndpointPath.Substring(0,1)
$volume = Get-Volume -DriveLetter $DriveLetter
$volumeFreeSpace = “{0:P0}” –F ($volume.SizeRemaining/$volume.Size)
$volumeFreeSpace = $volumeFreeSpace.Substring(0,3)
$volumeFreeSpacePercentage=[int]$volumeFreeSpace# Create server endpoint
New-AzureRmStorageSyncServerEndpoint `
-StorageSyncServiceName $AFSStorageSyncName `
-SyncGroupName $syncGroupName `
-ServerId $registeredServer.Id `
-ServerLocalPath $serverEndpointPath `
-CloudTiering $true `
-VolumeFreeSpacePercent $volumeFreeSpacePercentage

Azure File Sync’i test etme

Artık Azure File Sync’i kullanıma hazırsınız. Bir önceki adımda belirtilen yol altında ki bazı dosyaları server endpoint’e kopyalayabilirsiniz. İnternet bant genişliğinize ve dosyaların boyutuna bağlı olarak, depolama senkronizasyonu otomatik olarak başlayacak ve dosyalar aşağıdaki ekran görüntüsünde gösterildiği gibi Azure File share ile senkronize edilecektir.

Aşağıdaki ekran görüntüsü, dosyanın gerçek boyutunu ve diskteki local boyutu gösterir.

Özet

Azure File Sync, şirket içi dosya sunucularını Azure’a genişleterek performansı ve uyumluluğu korurken bulut avantajları sağlar.

Sonuç olarak Azure File Sync size aşağıdaki avantajları sunabilir.

  • Multi-site access – Windows sunucuları ve Azure files arasında aynı verilere yazma erişimi sağlar.
  • Cloud tiering – yalnızca son erişilen verileri local sunucularda depolayabilirsiniz.
  • Azure yedeklemesiyle bütünleşir – verilerinizi şirket içinde yedeklemenize gerek yoktur.
  • Hızlı olağanüstü durum kurtarma – dosya meta verilerini hemen geri yükleyebilir ve gerektiğinde bu verileri kullanabilirsiniz.