XFS – Allargare il file system immutabile

In ambiente Veeam Backup & Replication può essere necessario espandere lo spazio allocato di un repository Linux.

Nel mio ambiente è presente un server Ubuntu 22.04 al quale è stato aggiunto  un secondo disco (dev/sdb), formattato come xfs e reso disponibile come mount point /mnt/backup/ .

Il server è utilizzato in modalità hardened repository (immutabilità)
(https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository.html?ver=120).

Vediamo la semplice procedura:

  • I pacchetti da installare sono cloud-guest-utils e gdisk:
    “sudo apt -y install cloud-guest-utils gdisk”
  • Per scoprire la struttura del file system utilizzate il comando:
    “sudo lsblk”

      • Il risultato mostra sizing, mount point del file system del server ubuntu:
        NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
        sda                         8:0    0   16G  0 disk
        ├─sda1                      8:1    0    1M  0 part
        ├─sda2                      8:2    0  1.8G  0 part /boot
        └─sda3                      8:3    0 14.2G  0 part
           └─ubuntu–vg-ubuntu–lv 253:0    0   10G  0 lvm  /
        sdb                         8:16   0  100G  0 disk.                                                                     └─sdb1                      8:17   0   80G  0 part /mnt/backup
        sr0                        11:0    1 1024M  0 rom 
  • Per scoprire se il file system ha spazio ulteriore da allocare:
    “sudo growpart /dev/sdb 1”

    • Il risultato mostra la voce changed
      CHANGED: partition=1 start=2048 old: size=167770079 end=167772126 new: size=209713119 end=209715166
  • Il comando finale che allarga il file system è: sudo “xfs_growfs /mnt/backup/”
  • Verificate il risultato attraverso il comando già visto: sudo lsblk”

Veeam + ReFS: Quanto spazio si risparmia

ReFS è il file system avanzato di Microsoft che migliora la disponibilità dei dati attraverso tecnologie in grado di:

  1. Garantire una maggiore resilienza dei dati memorizzati sul file system.
  2. Aumentare le prestazioni in lettura e scrittura.
  3. Migliorare la scalabilità (si parla di milioni di TB).

Una delle funzionalità più utili ed utilizzate in ambito backup è la tecnologia di Block-Cloning che permette a Veeam Backup & Replication di creare dei backup full di dimensione pari ad un incrementale.

La logica di funzionamento è semplice e consta di 3 fasi:

  1. L’avvio del processo di Backup copia nel Repository di destinazione (ReFS),  i dati incrementali delle VM / Istanze / Server Fisici/ Client da proteggere.
  2. Il File System ReFS si occuperà di memorizzare i nuovi blocchi e di creare i metadati relativi ai dati appena scritti.
  3. L’ opzione “create a Syntethic-full”  di fatto innesca un’operazione a livello di metadati.  ReFS aggiunge ai metadati appena creati, quelli relativi ai backup precedenti creando così un nuovo full figlio dell’unione di tutti i metadati necessari. Per ulteriormente semplificare è  creato un full logico senza che sia copiato/spostato alcun blocco.

Nota 1: Il risultato è non solo un risparmio di spazio ma anche di tempo necessario a realizzare il full.

Orbene, come è possibile quantificare lo spazio disco risparmiato nel repository (RefS)?

Timothy DeWin ha realizzato un tool (blockstat.exe) perfetto per questo calcolo, al quale vi rimando per tutte le opzioni possibili.

Nel mio caso ho risolto la necessità del cliente attraverso:

  1. Creazione attraverso powershell di un file di testo (formato unicode) che ricercasse tutti i file di Backup generati da Veeam Backup & Replication all’interno del repository ReFS. (Vedi immagine 1)
  2. Catturato l’output del comando bloclstat. (vedi immagine 2)

Immagine 1

Immagine 2

SQL Reporting Server – Self Certificate & Veeam ONE

Veeam One è uno splendido strumento di Analisi e Reportistica avanzata per ambienti virtuali e di backup.

In un’architettura Enterprise i ruoli di Veeam One, sono distribuiti su differenti Server.

Parliamo del DataBase (MS-SQL), del Reporting Server (SSRS) e ovviamente del Server Veeam ONE (VOS)

In questo articolo illustrerò come sia possibile ottimizzare la creazione dei report creando contestualmente una connessione cifrata tra Veeam ONE e il Reporting Server.

La procedura consta di tre macro fasi.

  1. Nella prima si crea il certificato che abilita la connessione cifrata HTTPS sul server SSRS.
  2. Nella seconda si configura SSRS in modo che possa accettare connessioni HTTPS.
  3. Nella terza si configura il server Veeam ONE ad utilizzare SSRS per la creazione dei report.

1- Creazione del certificato

Se nel vostro dominio non è installata alcuna autorità di certificazione (come nel mio), è necessario creare un Self-Signed certificate.

Vediamo come procedere:

Sul SSRS avviate come amministratori una console powershell e lanciate i seguenti comandi:

  1. New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\my -dnsname NAMESERVER -NotAfter (Get-Date).AddMonths(60) (sostituite NAMESERVER con il nome del vostro Server).
  2. $pwd=ConvertTo-SecureString “yourpassword” -asplainText -force (sostituire yourpassword con una complicata e di vostra scelta).
  3. $file=”C:\MyFolder\SQLcertificate.pfx” (è la location dove verrà esportato il certificato).
  4. Export-PFXCertificate -cert cert:\LocalMachine\My\<Thumbprint creato dall’output del primo comando> -file $file -Password $pwd (Copia il certificato nel file creato nel  punto 3).
  5. Import-PfxCertificate -FilePath $file cert:\LocalMachine\root -Password $pwd (importa all’interno del SSRS il certificato).

Ora è il momento di copiare il file SQLcertificate.pfx (punto 3) nel VOS e procedere alla sua installazione come indicato nelle prossime righe.

  1. Fare doppio click sul file e nella prima finestra scegliere “Macchina Locale”.
  2. Quando viene richiesta la password, fornite quella impostata nel passaggio 2.
  3. Nella schermata successiva selezionate “Posiziona tutti i certificati nel seguente archivio“, e dopo aver selezionato Sfoglia, selezionate dall’elenco “Autorità di certificazione radice attendibili“.
  4. Fate Ok e dopo aver selezionato Avanti,  terminate l’installazione.

2- Configurazione SSRS

Utilizzando il configuration manager di SSRS è possibile impostare la connessione https come illustrato nelle immagini 1,2 e 3.

Immagine 1

Immagine 2

 Immagine 3

3- Configurazione Veeam ONE

Le immagini 4 e 5 mostrano come configurare VOS in modo che debba utilizzare SSRS per generare i report.

Immagine 4

Immagine 5

Nota 1: Dall’immagine 5 possiamo osservare che è possibile testare la connessione tramite il pulsante Test Connection.

Nota 2: Il dettaglio su quali aprire sui firewall sono documentate nella guida. (helpcenter.veeam.com); ricordatevi di aggiungere la porta 443 🙂

A presto

MySQL Backup & Veeam Backup & Replication Parte 2

In questo secondo articolo è illustrato dove ricercare gli script per realizzare backup consistenti di DataBase MySQL con Veeam Backup & Replication.

Per scoprire perché sia necessario utilizzare script, vi raccomando di leggere il precedente articolo.

Hot Backup Database Online Dump (Linux)

L’opzione prevede di integrare negli script il comando mysqldump.

Due esempi sono consultabili al seguente sito:

HotBackup Database Freeze (Linux)

L’opzione prevede di effettuare a caldo il flush delle tabelle.

Due esempi sono consultabili al seguente sito:

Cold Backup Database Shutdown (Linux)

L’opzione prevede di fermare il servizion MySQL prima di realizzare il backup.

Due esempi sono consultabili al seguente sito:

Hot Backup Database Online Dump (Windows)

Il seguente esempio in poweshell è puramente dimostrativo. Il mio consiglio è quello di chiedere al vostro esperto in powershell di crearne uno che rispetti le politiche aziendali di gestione e sicurezza.

Pre command (avvia lo script mySQLdump.ps1 sul server YOURMYSQLSERVER)

$password = ConvertTo-SecureString “YOURPWD” -AsPlainText -Force

$Cred = New-Object System.Management.Automation.PSCredential (“DOMAIN\USER”, $password)

New-PSSession -ComputerName mySQL-WIN -Credential $Cred

#Enter-PSSession -ComputerName YOURMYSQLSERVER

#Invoke-Command -Session 6 -FilePath “C:\Script\script-7.ps1” -ComputerName mySQL-WIN

Invoke-Command -ComputerName mySQL-WIN -Credential $Cred -ScriptBlock { C:\Script\mySQLdump.ps1}

mySQLdump.ps1 (Crea il file .sql che viene memorizzato in una specifica cartella sul server YOURMYSQLSERVER)

# Declare variables

$path = “/backups”                      # path of backup folder

$logFile = “automate-mysqldump.log”     # path of log file

$configFile = “C:\ProgramData\MySQL\MySQL Server 5.6\my.ini”           # path of my.cnf file

# Navigate to the backups folder

Set-Location $path

# get today’s date to name today backup folder

$date = Get-Date -UFormat “%Y-%m-%d”

# Check for log file

# Create if not found

if (-NOT (Test-Path $logFile)) {

    New-Item -Path . -Name $logFile -ItemType “file”

    Add-Content $logFile “Created on: $date`n”

}

# enter directory

# create today’s backup directory if it does not exist

if (-NOT (Test-Path $date)) {

    New-Item -ItemType “directory” $date

    Add-Content $logFile “[$date]: New $date directory is created”

}

# Set-Location $date

Add-Content $logFile “[$date]: Starting mysqldump”

# invoke mysqldump – insert mysqldump statement

mysqldump –defaults-file=$configFile -r $date/database-backup.sql –all-databases

Add-Content $logFile “[$date]: Backup for databases are completed”

Add-Content $logFile “”

# pause

 Post command (chiude la sessione remota)

Remove-PSSession -ComputerName YOURMYSQLSERVER

Nel prossimo articolo sarà illustrato come integrare gli script in Veeam Backup & Replication.

MySQL Backup e Veeam Backup & Replication – Parte 1

Il presente articolo illustrerà come implementare una strategia di protezione dei dati in ambienti MySQL.

Partiamo da una considerazione.

Per realizzare backup consistenti da un punto di vista applicativo, è necessario che prima che sia avviato  il processo di copia, l’applicazione abbia scritto su disco tutti i dati in memoria (flush).

Ad esempio, le applicazioni Microsoft® utilizzano una tecnologia denominata Shadow Copy che attraverso il coordinamento di driver VSS realizza la consistenza applicativa.

Una tecnologia simile non è disponibile su Linux ed in più MySQL non la supporta in ambiente Microsoft®.

Come ovviare?

Attraverso la creazione di script che automatizzino la consistenza applicativa prima di avviare la creazione della Snapshot.

Compreso questo aspetto, torniamo all’ambito dell’articolo, introducendo le opzioni disponibili per MySQL.

Nota 1: La consistenza applicativa avviene prima della creazione della snapshot.

  • 1. Backup Logico: Lo script crea un file con l’estensione .sql che in caso di ripristino permette la ricreazione del database e dei suoi dati.

Il file .sql è creato attraverso il comando nativo MySQL “mysqldump”.

I vantaggi del backup logico possono essere riassunti in:

  • Non vi sono dipendenze con software di terze parti.
  • I backup possono essere ripristinati su altri server.
  • 2. Backup Fisico/Cold: Sono create copie a freddo dei file del DB (ad esempio: ibdata, .ibd, .frm, ib_logfile, my.cnf).

Per essere certi che i backup siano realizzati in modalità “consistenza applicativa“, prima di effettuare la snapshot, è      indispensabile fermare i servizi MySQL.

E’ una strategia di backup di norma implementata in ambienti che non richiedano operatività 24×7.

Nota 2: Il servizio viene fermato solo per il tempo necessario alla creazione della snapshot e non per l’intera durata del backup.

  • 3. Backup Fisico/Hot: Se è in esecuzione il motore InnoDB, lo script permette la realizzazione di copie consistenti senza fermare i servizi (utilizzando ad esempio il comando mysqlbackup componente della suite Enterprise di MySQL (MySQL Product)).

Ora che conosciamo le opzioni di scripting disponibili, vediamo come le soluzioni Veeam possano integrarsi nativamente con gli  ambienti MySQL.

La prima opzione disponibile è il Veeam Agent for Linux (VAL) che automatizza le seguenti quattro fasi:

  1. Flush dei dati dalla memoria al disco (consistenza applicativa).
  2. Creazione della snasphot.
  3. Rilascio delle tabelle.
  4. Avvio del processo di Backup.

Nota 3: Come indicato nella prima parte dell’articolo, se il DB è del tipo MyISAM è possibile effettuare il backup con il blocco di tutte le tabelle.

I pre-requisti del VAL sono:

  • Versione di MySQL maggiore o uguale alla 5.8.
  • Sistema operativo sia Linux.

Domanda: E’ possibile effettuare il backup in ambienti Windows e dove la versione di MySQL è inferiore alla versione 5.8?

La risposta è si e gli scenari disponibili sono:

Backup Logico -> Hot-Backup Database Online Dump -> Comando mysqldump.

Backup Fisico/Cold -> Cold-Backup Database Shutdown -> Fermo temporaneo dei Servizi.

Backup Fisico/Hot -> Hot-Backup Database Freeze -> Comandi nativi mysql.

Nota4: Esiste anche la possibilità di effettuare Backup Parziali. In questo scenario si effettua il backup di specifiche tabelle e database. E’ utile quando si devono realizzare strategie di protezione differenti sullo stesso Server.

Nel prossimo articolo scopriremo come creare gli script e come integrarli in Veeam Backup & Replication.

VMCE 2021 – La mia esperienza

Il 24 gennaio ho completato il percorso formativo VMCE 2021.

In questo articolo descriverò la metodologia che ho utilizzato al fine di superare l’esame finale.

I sei punti cardine della preparazione sono stati:

1- Porre la massima attenzione sui componenti di Veeam Backup & Replication (Backup Server, Proxy, Wan Acceleration, Gateway) comprendendone lo scopo, il funzionamento e le limitazioni. Ad esempio per i proxy conoscere gli scenari di utilizzo dei diversi transport mode (SAN, Virtual Appliance, Direct NFS, Network).

2- Comprendere il tema RPO (Recovery Point Object) e RTO (Recovery Time Object) analizzando:

    • Tipologia e topologia di protezione (Backup, Replica e Backup Copy Job)
    • Tipologia dei repository coinvolti (Stand-alone, XFS/ReFS, Immutabile, SOBR, capacity Tier e Archive Tier)
    • Catena di backup (Forever Forward Incremental, Reversed Incremental e Forward Incremental)

Nota 1: per verificare la preparazione il consiglio è quello di rispondere ad immaginarie richieste di protezione; ad esempio il cliente thegable.it ha richiesto un backup primario giornaliero delle proprie VM con un RPO di 31 giorni, con una retention di tipo GFS di 8 Settimane e 12 Mesi. Inoltre i dati di backup dovranno essere copiati in un secondo sito …

3- Rinforzare la conoscenza sulle opzioni disponibili di ripristino (manuale di VBR), attraverso i Veeam Explorer ponendo anche in questo caso particolare attenzione agli scenari di utilizzo e alle limitazioni.

4- Utilizzare massivamente il laboratorio per fissare non solo aspetti teorici ma anche scenari reali di implementazione.

5- Conoscere le funzionalità di Veeam ONE (Infrastructure, Data Protection, Business View).

Nota 2: I laboratori semplificano l’apprendimento trasformando spesso lo teoria in un meraviglioso gioco di prove e test.

Il tempo di preparazione è stato di 42 giorni suddivisi in modo grossolano in 2 ore/giorno di media durante la settimana e 4 ore/giorno di media durante i week end.

6- Per verificare il proprio stato di avanzamento e per il ripasso finale sono disponibili:

VMCE 2021 Practice Exam

Nota conclusiva:

La piattaforma di test Pearson-Vue certifica la competenza VMCE-2021.

E’ possibile sostenere l’esame sia in un centro Pearson-Vue che dalla propria abitazione e ufficio.

Pur riconoscendo che l’ on-line è un approccio molto comodo che elimina tutte le problematiche di logistica, nel mio caso si è presentato un piccolo problema.

Il mio metodo di richiamo delle informazioni memorizzate e della loro elaborazione per rispondere ai quesiti, richiede infatti spesso l’utilizzo di penna e calamaio*.

Ebbene, l’esame con opzione “da casa e ufficio”  non consente l’utilizzo di alcuna matita e foglio di carta mentre nei centri autorizzati Pearson-Vue spesso è possibile utilizzare una piccola lavagna bianca del tipo ri-scrivibile.

Inoltre candidandosi presso un centro abilitato, aiutaterete inoltre i centri Pearson-Vue a rientrare dall’investimento effettuato.

*: Per prendere e digitalizzare appunti, utilizzo con massima soddisfazione da 6 mesi il Remarkable 2 che consiglio vivamente a tutti i lettori.