Nutanix Files è una delle soluzioni Nutanix che è più facile far comprendere ai clienti e mi sta capitando di implementarne le funzionalità in diversi ambienti.
Sebbene paia facile configurarne il funzionamento e pubblicare le proprie share in pochi click, può essere utile effettuare alcune scelte con accortezza e impostate certe configurazioni nel migliore dei modi.
Tanto per cominciare, le share di rete possono essere configurate in due tipologie: Standard o Distributed
E’ importante comprendere i vantaggi e svantaggi di entrambe le modalità, in quanto la scelta non sempre può essere poi modificata in seguito.
Le due modalità hanno una sostanziale differenza: le share Standard vengono erogate da una sola FSVM per volta (sebbene i dati restino comunque replicati all’interno del cluster)
Creando Share Standard potremmo per cui trovarci in una situazione simile a questa:
Share1 – erogata (con relativo contenuto) dalla FSVM2
|__ folder1
|____ subfolder1.1
|____ subfolder1.2
|__ folder2
|____ subfolder2.1
|__ folder3
|____ subfolder3.1
|____ subfolder3.2
|____ subfolder3.3
Share2 – erogata (con relativo contenuto) dalla FSVM1
|__ folder1
|____ subfolder1.1
|____ subfolder1.2
Share3 – erogata (con relativo contenuto) dalla FSVM1
|__ folder1
|____ subfolder1.1
|____ subfolder1.2
Share4 – erogata (con relativo contenuto) dalla FSVM3
|__ folder1
|____ subfolder1.1
|____ subfolder1.2
Come vedete, la distribuzione delle Share sui diversi FSVM potrebbe non seguire una logica lineare, ma in ogni caso l’alta affidabilità del dato verrebbe garantita da prodotto, con “lo scotto” di un timeout di una decina di secondi durante un evento di failover. In questo caso Nutanix Files sposterebbe l’erogazione delle share coinvolte nel fail su altri FSVM del cluster, riportando disponibile le Share in poco tempo (senza perdita di dati).
La differenza sostanziale è che le share Distributed, rispetto alle Standard, vengono erogate da tutte le FSVM in parallelo (aumentando gli IOPS a disposizione).
Leggendo quanto appena scritto, parrebbe ovvio voler configurare tutte le share in modalità Distributed, ma in realtà non è detto sia la scelta migliore.
Perché potrebbe non essere la scelta migliore? perché quando configuriamo una share in modalità Distributed, Nutanix Files distribuisce le cartelle contenute nella share similmente a così:
Share
|__ folder1 – erogata dalla FSVM2
|____ subfolder1 – erogata dalla FSVM2
|____ subfolder2 – erogata dalla FSVM2
|__ folder2 – erogata dalla FSVM1
|____ subfolder3 – erogata dalla FSVM1
|__ folder3 – erogata dalla FSVM3
|____ subfolder4 – erogata dalla FSVM3
|____ subfolder5 – erogata dalla FSVM3
|____ subfolder6 – erogata dalla FSVM3
Come si può vedere, la share non è totalmente distribuita sui tre FSVM in parallelo, ma bensì le cartelle in essa contenute vengono erogate da diversi FSVM. Il risultato negativo è che per gestire le folder è necessario utilizzare la console MMC, resa disponibile da Nutanix, e non sarà possibile cancellare una folder senza prima cancellarne il contenuto.
Come detto sopra, una share Standard invece funzionerebbe come una normalissima cartella di rete Windows, ma con la garanzia di HA in caso di problemi; cioè, durante il funzionamento la share verrà erogata da una sola FSVM, che però è parte di un cluster Nutanix Files (ipoteticamente di almeno 3 nodi) che ne garantisce resilienza e disponibilità anche in caso di fault della FSVM stessa.
Quali sono quindi i casi in cui è meglio usare una modalità rispetto all’altra? Io ed il mio team di lavoro siamo giunti a queste conclusioni (studiando la documentazione Nutanix ed effettuando test di laboratorio):
– le share Standard sono adeguate per qualsiasi carico di lavoro classico, per cui share di condivisione documenti di tipologia generica;
– le share Distributed sono ideali per erogare cartelle di rete in cui posizionare profili utente (Citrix, FSLogix, folder redirection degli utenti, ecc…), siano esse Shared Folders (dove posizionare Desktop, Download, Documenti, ecc… degli utenti) oppure dedicate all’erogazione dei profili basati su container (VHDX);
Detto quanto sopra, ci sono comunque configurazioni che potrebbero ulteriormente differenziare le scelte; se la share di rete Distributed serve ad erogare file VHDX dei profili (Citrix, FSLogix, ecc…) potrebbe aver senso valutare di configurarla attivando una funzionalità particolare, nominata Continuous Availability (CA):
Questa funzionalità permette a Nutanix Files di garantire la disponibilità continua dei file erogati, senza interruzione neppur minima di servizio. In questo caso il risultato di un failover è che l’utente finale non si accorgerebbe di nulla, sebbene l’erogazione del suo profilo utente sarà stata migrata da un FSVM ad un’altra durante un potenziale evento di fail.
Come visibile dall’immagine, Nutanix sconsiglia di abilitare questa funzionalità per tutte le share di rete Distributed, in quanto se attivata per folder che erogano share generiche, la sua attivazione potrebbe causare problemi di performance.
Cosa succede se non la attiviamo? in caso di fail di una FSVM, Nutanix Files provvederebbe comunque a migrare l’erogazione della folder utente ad un’altra FSVM, ma il failover avverrebbe in circa 10 secondi. Con CA attiva, la migrazione avverrà immediatamente, senza alcun disservizio.
Come verificare che la share abbia correttamente la funzione di CA attiva? collegarsi ad una FSVM tramite SSH e lanciare il comando afs share.list
Ci sono poi altre configurazioni a cui prestare attenzione:
Enable Self Service Restore è una funzionalità che permetterà agli utenti abilitati, grazie agli snapshot di Nutanix, di recuperare copie di file ad istanti precedenti, in modalità Self Service (senza necessità di intervento degli amministratori si sistema). Tale funzionalità è soggetta a licensing specifico, per cui potrebbe non essere disponibile a tutti;
Enable Compression abilita la compressione del contenuto della share; in questo caso si consiglia di abilitare la compressione solo a folder dove i file sono soggetti a letture sporadiche.
Blocked File Types permette di definire estensioni di file non permesse, così da bloccare la scrittura di determinati tipi di file.
Enable WORM abilita la protezione del contenuto della share, evitando che i dati possano essere modificati dopo la scrittura.
Enable Access Based Enumeration (ABE) permette di mostrare agli utenti solamente le folder a cui essi sono abilitati, così da rendere meno “caotica” la navigazione all’interno di un file server centralizzato.
Allow Long Names for Files and Folders serve a risolvere i problemi di memorizzazione di cartelle, sottocartelle e file che vanno a costruire path più lunghi di 256 caratteri, portando il limite a 1023 caratteri. Chiaramente abilitare questa funzione serve si a risolvere il problema sulla share, ma potrebbe causare problemi comunque durante il backup del contenuto in essa contenuta (sfruttando software di terze parti).
Encrypt SMB3 Messages permette di abilitare la crittografia dei messaggi SMB3, garantendo la crittografia dei dati in transito.
Come potere vedere, sebbene creare le share possa sembrare facile, è necessario configurarle nel modo migliore in base a ciò che le varie share andranno ad erogare.
Anche dopo aver creato le share, sarà opportuno mantenerne monitorate le performance, così da intraprendere eventuali azioni utili al buon funzionamento dell’ambiente.
Grazie ad Athos, il collega che più di tutti ha messo la testa in queste configurazioni e mi ha aiutato a comprenderle al meglio!!