Vai al contenuto

Strategie per Ottimizzare Azure Backup per SQL Server in VM Azure

Scopri come migliorare le prestazioni di Azure Backup per SQL Server in VM Azure attraverso configurazioni avanzate e best practice.

Utilizzare Azure Backup per proteggere un server SQL in una macchina virtuale (VM) Azure può essere una soluzione efficace per garantire la continuità operativa e la sicurezza dei dati aziendali. Tuttavia, la configurazione e l’ottimizzazione di questo servizio possono presentare delle sfide. Esploriamo alcune strategie e suggerimenti per affrontare questi ostacoli e migliorare le prestazioni del backup.

Configurazione dell’Azure Backup Vault

Quando si configura un Azure Backup Vault per proteggere i carichi di lavoro di un database SQL, ci sono tre aspetti cruciali da considerare: accesso alla rete privata, risoluzione DNS e limitazioni del vault stesso. Per molte aziende, soprattutto in settori regolamentati, è essenziale disabilitare l’accesso pubblico alla rete del vault, il che richiede configurazioni aggiuntive.

Per creare un endpoint privato corretto, è fondamentale selezionare il tipo di risorsa giusto. Il Recovery Services Vault supporta endpoint privati per Azure Backup e Azure Site Recovery. Assicurati di scegliere il vault dei servizi di ripristino come risorsa e AzureBackup come tipo di sotto-risorsa target.

Inoltre, gli endpoint privati per le risorse target devono essere integrati in una zona DNS privata di Azure. La corretta risoluzione dei nomi è necessaria affinché i database configurati per la protezione possano identificare l’endpoint privato del vault. Per aiutarti, la guida Azure Private Endpoint DNS integration offre una panoramica su come integrare gli endpoint privati nelle zone DNS di Azure.

Considera anche le limitazioni di Azure Backup. Ad esempio, utilizzare più Azure Recovery Services Vaults può migliorare la sicurezza dei dati e la prontezza per il disaster recovery, ma aumenta la complessità della gestione. Un giusto equilibrio tra numero di vault e obiettivi di ripristino è essenziale per evitare sovraccarichi amministrativi.

Determinazione della Dimensione della VM Azure

Nel selezionare la dimensione appropriata della VM per un carico di lavoro, è essenziale prendere in considerazione i requisiti di continuità aziendale e backup. Le metriche di performance raccolte devono riflettere l’attività di backup per garantire che l’IOPS, la velocità di throughput del disco e di rete siano adeguate.

Ad esempio, Azure Backup per SQL Server supporta fino a 20 backup simultaneamente. Se i database sono di grandi dimensioni, il processo di backup iterativo potrebbe durare molto tempo. Prima di configurare il numero di backup simultanei, considera applicazioni che potrebbero essere in esecuzione contemporaneamente ai backup e verifica la capacità IOPS e di throughput richieste.

Puoi anche configurare il numero di backup concorrenti modificando il file ExtensionSettingsOverrides.json nel server. Un esempio di configurazione:

 { "DefaultBackupTasksThreshold": 5 } 

Ricorda di riavviare il servizio AzureWLBackupCoordinatorSvc dopo aver apportato modifiche.

Considerazioni sulla Politica di Backup

La politica di backup supporta backup completi, differenziali e dei log delle transazioni. È importante notare che le impostazioni di compressione del backup nella politica sovrascrivono quelle a livello di istanza del server SQL. Considera anche l’opzione di auto-protezione, che esegue un processo di scoperta ogni 8 ore per individuare nuovi database e avvia il backup entro 32 ore.

Per configurare il write simultaneous dei backup su storage locale e vault di recupero, crea un file PluginConfigSettings.json:

 {   "EnableLocalDiskBackupForBackupTypes": ["Log"],  "LocalDiskBackupFolderPath": "E:\\LocalBackup"} 

Strumenti e Suggerimenti per il Troubleshooting

Usare le metriche per identificare i colli di bottiglia nella larghezza di banda non cacheata della VM può aiutare a migliorare le prestazioni del backup. Rivedi la metrica “VM Uncached Bandwidth Consumed Percentage” per determinare se la VM è limitata dall’I/O. Se raggiunge il 100%, il backup sarà influenzato negativamente.

Un ulteriore strumento utile è lo script per correlare i database ai task pianificati. Esegui questo script sulla VM per ottenere un output dei database e dei relativi ID di backup, aiutandoti a pianificare e ottimizzare i backup:

 # Script to associate database name and type of backup to GUID$tasks = Get-ScheduledTask -TaskPath *\IaaSWorkloadBackup* | ? { $_.taskpath -notlike "*HKTask*" -and $_.taskpath -notlike "*Telemetry*" -and $_.taskpath -notlike "*WorkloadInquiry*" -and $_.state -ne "Disabled" }$dirlist = dir "C:\Program Files\Azure Workload Backup\Catalog\WorkloadExtDatasourceCatalog\WorkloadExtDatasourceTable\*"$tasklist = @()foreach ($datasource in $dirlist){ $json = Get-Content -Path $datasource.fullname | ConvertFrom-Json$schedules = @($tasks | ? { $_.taskpath -like ('*' + $json.datasourceId + '*')})foreach ($task in $schedules) {$jobsobject = New-Object PSObjectAdd-Member -InputObject $jobsobject -MemberType NoteProperty -Name poname -Value $json.poNameAdd-Member -InputObject $jobsobject -MemberType NoteProperty -Name datasourceid -Value $json.datasourceIdAdd-Member -InputObject $jobsobject -MemberType NoteProperty -Name TaskName -Value $task.URI.Split("\")[-1] Add-Member -InputObject $jobsobject -MemberType NoteProperty -Name Container -Value $json.containerUniqueNameswitch ($task.Triggers){{$_.repetition.interval -ne $null} {Add-Member -InputObject $jobsobject -MemberType NoteProperty -Name Type -Value "Log"; break}{$_.DaysOfWeek -gt 1} {Add-Member -InputObject $jobsobject -MemberType NoteProperty -Name Type -Value "Differential"; break}DEFAULT {Add-Member -InputObject $jobsobject -MemberType NoteProperty -Name Type -Value "Full"}}$tasklist += $jobsobject}}$tasklist | Sort-Object poname | ft -AutoSize

Questo output permette di visualizzare la pianificazione dei backup e ottimizzare il numero di backup concorrenti in base alla capacità di throughput della macchina virtuale e della configurazione del disco.