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

ESXi v.7: patching host

In questo articolo illustrerò la procedura per aggiornare l’Host ESXi quando l’ambiente VMware è composto da un solo server.

Nota 1: La prima attività è quella di aggiornare il vCenter (VCSA) controllando quali versioni ESXi sono supportate.

Nota 2: Il metodo tradizionale per aggiornare gli Host ESXi, sfrutta il processo automatizzato di update gestisto dalla console del vCenter.

Nota 3: Il sito di DR del mio laboratorio è costituito da un singolo Host VMware ESXi sul quale è presente il vCenter secondario (VCSA); in questo scenario, la metodologia indicata nella nota 1  non è utilizzabile, poiché durante la fase di aggiornamento, l’Host ESXi viene posto in maintenance mode. In questo stato tutte le VM presenti sono spente (compresa la VCSA).

La soluzione è quella di utilizzare la procedura presente nel sito VMware ESXi Patch Tracker che consta delle seguenti fasi:

1- Selezione della versione software che sarà installata alla fine del processe sull’host (vedi immagine 1)

Immagine 1

2- Determinare i comandi CLI da utilizzare durante la procedura di aggiornamento:

La procedura viene illustrata nel pop-up che appare quando si clicca sul pacchetto selezionato (vedi immagine 2)

Immagine 2

3- Abilitare l’Host ESXi alla connessione ssh (immagine 3)

Immagine 3

4- Collegarsi via ssh all’host ESXi ed avviare i comandi precedentemente mostrati nel pop-up.

Nel mio caso:

  1. esxcli network firewall ruleset set -e true -r httpClient
  2. esxcli software profile update -p ESXi-7.0U3d-19482537-standard \ -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  3. esxcli network firewall ruleset set -e false -r httpClient

5- Porre l’Host ESXi in Maintenance mode e riavviarlo.

6- Al termine controllate che l’aggiornamento sia avvenuto correttamente (immagine 4 e 5)

Immagine 4 – Pre Aggiornamento

Immagine 5 – Post Aggiornamento

Nota 4: Nel caso in cui l’hardware non fosse in matrice di compatibilità, il consiglio è di utilizzare l’opzione <–no-hardware-warning>. Nel mio caso il secondo comando è stato cambiato in:

esxcli software profile update -p ESXi-7.0U3d-19482537-standard \ -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml –no-hardware-warning

A presto

Ciao Antonio

Antonio era una persona eclettica, con molti interessi, tra i quali privilegiava il bridge, la montagna e la buona cucina.

Era sempre un piacere incontrarlo, sapevi che avrebbe raccontato storie di vita divertenti che, grazie alla sua grande oratoria, riuscivano a catturare l’attenzione di tutti gli astanti.

Se il Bisbino da giovane l’aveva sedotto, insegnandogli l’amore per la montagna, Bormio e le sue vallate sono stati i luoghi di vacanza a lui più cari e di cui conosceva ogni angolo e anfratto.

Lo si capiva da quella luce che si accendeva quando parlava della Val Viola, della Val Zebrù e dei Laghi di Cancano.

Lo ricordo qualche anno fa quando, raggiunto a piedi il rifugio del ghiacciaio dei Forni, disse a pieni polmoni “Son tornato” con un tono di voce che chiaramente indicava un rappacificamento con quell’angolo incantato della Valtellina.

Durante il pranzo, rigorosamente con polenta e uova, raccontò che qualche anno prima quella salita lo aveva ferito (al cuore) e raggiungere nuovamente il rifugio aveva rinsaldato quella lunga e vecchia amicizia che sembrava persa.

Il suo motto era “E’ tutto in piano!” e spesso lo utilizzava per convincere persone meno avvezze ai sentieri alpini a raggiungere mete impegnative. Premiava i vincitori raccontando aneddoti storici su luogo mentre si gustavano piatti tipici dell’alta Valtellina.

Era certamente una buona forchetta, il suo stomaco gli permetteva di digerire ogni pietanza. Diceva che se avesse avuto il cuore forte come lo stomaco avrebbe potuto vivere per altri 100 anni.

Vederlo poi scegliere dal menù i piatti era una vera goduria. Apriva il menù, lo leggeva attentamente (anche se preferiva i posti dove il menù veniva raccontato) e come se stesse già assaporando le portate, prima di comunicare la sua comanda, si sfregava le mani chiedendo qualche conferma sulla preparazione dei piatti.

Sulla scelta dei vini poi era una autorità, sapeva sempre cosa abbinare a quello che si ordinava, privilegiando sempre la cantina al nome del vino.

Forse non tutti sanno che Antonio era anche uno specialista della frutta. Conosceva tutte le tipologie di pere, mele, amarene … e la sua vera passione erano le ciliegie. In anni di lavoro aveva scoperto e mappato tutte le piante “free” dell’alto Milanese e spesso durante i viaggi di ritorno si fermava a cogliere il prelibato frutto.

Il suo umorismo si esaltava nelle situazioni che sembravano complicate.

Con il gruppo aveva scelto di passare qualche giorno in Tuscia. La prima cena la facemmo nell’agriturismo dove alloggiavamo che aveva come specialità la carne.

Anche se non eccelsa, quasi tutti mangiammo la nostra porzione.

Quando la padrona di casa chiese un parere, una di noi criticò il piatto indicandone correttamente i limiti.

Antonio prese la palla al balzo, si alzò e con la scusa di voler conoscere meglio la tipologia dei vini, iniziò a parlare con la proprietaria dell’agriturismo.

Giunto a debita distanza iniziò una conversazione fitta della quale non capivamo il senso.

Dopo qualche minuto, tornò al tavolo mentre la signora nuovamente serena si diresse in cucina.

Alla maliziosa domanda su cosa avesse promesso per rendere la signora giuliva, Antonio rispose: “Ho semplicemente affermato che la nostra commensale è una ricchissima duchessa abituata a tagli pregiati di carne e che ci onora qualche volta con la sua presenza”.

Fintanto che rimanemmo nell’agriturismo, la proprietaria chiedeva sempre conferma ad Antonio se alla duchessa fossero piaciuti la colazione o il pranzo e noi, come studenti inquieti in classe, nascondevamo a stento le risate.

Il mercoledì pomeriggio aveva un appuntamento fisso: il torneo di Bridge a Mendrisio.

Era particolarmente affezionato a quell’evento e alle persone che frequentavano quel circolo. Si sentiva onorato di far parte di quel gruppo e grato dell’amicizia verso il presidente Luciano. Vinceva spesso anche lì e utilizzava i franchi vinti per organizzare e pagare cene nei crotti elvetici ai suoi compagni di gioco

Nel bridge era molto conosciuto non solo per essere un giocatore vincente, ma soprattutto per i suoi modi cordiali.

A chi chiedeva consiglio su come avrebbe dovuto licitare oppure giocare una mano, dava sempre una risposta dettagliata proprio perché sapeva che per non far sparire il bridge era necessario condividere le proprie conoscenze.

Si buttava in ogni manifestazione con l’ardore di un ventenne. Seduto sempre rigorosamente in Nord oppure in Est.

Con il gruppo abbiamo fatto vacanze corte e lunghe in giro per il nostro bellissimo paese, che Antonio definiva straordinario, bellissimo e ferito da una incapacità atavica di renderlo ancora più ricettivo al turismo.

Le serate terminavano con una partita di Burraco dove giocava anche con la figlia Bibi e vinceva inesorabilmente chi in quel momento aveva la dea bendata a favore. Lo sfottò del giorno dopo era raccontare quella pescata miracolosa che aveva permesso a quel gioco illogico di essere vincente (classico nel burraco).

Raffaella è stata la sua compagna di gioco negli ultimi 11 anni e se abbiamo conosciuto questo meraviglioso personaggio dobbiamo dire grazie a lei che lo ha fatto subito entrare in un gruppo eterogeneo di persone unite dalla passione per il bridge (tra l’altro prima di iniziare la partnership mi chiese, come un uomo di altri tempi, se fossi d’accordo).

Dopo qualche anno porsi una semplice domanda ad Antonio: lui, grande giocatore, come faceva a gestire certe giocate “illogiche” di Raffaella?

Lui rispose con una massima che mi rimarrà per sempre: “Gabriele, risparmia il fiato, ti servirà”.

Ciao Antonio, so che troverai al tavolo i tuoi vecchi amici del bridge e che continuerai a dilettarli con il tuo vero io.

Ci mancherai.

War doesn’t make sense Anymore

  • War does not determine who is right – only who is left.  – Bertrand Russell.
  • The more you sweat in peace, the less you bleed in war.  – Norman Schwarzkop.
  • Weakness of attitude becomes weakness of character.  – Albert Einstein.
  • The two most powerful warriors are patience and time.  – Leo Tolstoy
  • The fool who has no sense to discriminate between what is good and what is bad is well nigh as dangerous as the man who does discriminate and yet chooses the bad. – Theodore Roosevelt

Tips VMware – Module MonitorLoop power on failed

Durante le operazioni di manutenzione del laboratorio, improvvisamente una Virtual Machine non era più in grado di avviarsi.

La console del vCENTER indicava un errore sull’inizializzazione del file di swap del server.

Come ogni buon sistemista, prima di effettuare una qualsiasi modifica all’ambiente, ho provato a realizzare il backup della suddetta VM.

Il job si interrompeva a causa del seguente errore: (“An error occurred while taking a snapshot: Invalid change tracker error code“).

Troubleshooting:

  1. Dato che il file di swap gestisce l’over-commitment della memoria, ho provato a modificare la quantità di RAM assegnata.
  2. Ho aggiunto spazio al Datastore sul quale risiedeva la VM per essere certo che VMware avesse sufficiente spazio per gestire il file di swap.
  3. Ho ricercato all’interno del file di configurazione (vmx) differenze rispetto alla configurazione delle altre VM.

Tutti test e le modifiche effettuate non hanno risolto il problema.

Conscio che avrei dovuto modificare la configurazione della VM ho implementato una semplice strategia per:

  • Realizzare il backup della VM attraverso il Veeam Agent for Linux (Il VAL opera a livello di Guest-OS e non di hypervisor).
  • Annotare tutte le modifiche che avrei apportato alle VM (ndr: avevo indossato il cappello di Pollicino, in grado cioè di tornare alla configurazione iniziale in poco tempo).

Il metodico approccio “cambia, annota, controlla e accendi” mi ha permesso di scoprire che il problema era legato alla configurazione della CPU della Virtual Machine.

Reimpostando infatti i valori “CPU reservation” a Zero e “CPU share” a Normal (vedi immagine 1) il problema è rientrato permettendomi così di avviare la VM e effettuarne il backup.

Sapiens nihil affirmat quod non probet (il saggio non afferma nulla che non possa provare)

Immagine 1

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.