No results found
FreeNAS è un sistema operativo Linux-based (è basato su Free BSD) e open source che permette di implementare, abbinato ad un computer e delle unità a disco rigido, un Network Attached Storage molto versatile, perché non limitato a un’infrastruttura fisica on premise; infatti una particolarità di FreeNAS è che può essere installato anche su macchine virtuali, il che apre la possibilità di realizzare configurazioni adatte al Cloud Computing e quindi di creare un NAS su Cloud proprio tramite l’installazione del prodotto su un server in Cloud.
In questo tutorial verrà spiegato in cosa consiste e come si utilizza sia on-premise che su un’infrastruttura Cloud realizzando un NAS remoto in ambiente virtualizzato.
La prima cosa da puntualizzare è che FreeNAS, nato come software di libero utilizzo, oggi è riservato ai NAS della iXSystems e quindi non può essere fruito a parte; ma di esso è disponibile quello che possiamo considerare il gemello open e free, chiamato TrueNAS, che ha le stesse funzioni di FreeeNAS (per il quale però vale il sito originario www.freenas.org). TrueNAS, come un tempo FreeNAS, si può scaricare gratuitamente dal sito di riferimento www.truenas.com.
Il cambio di nome nasce dal fatto che iXSystems, la realtà che ha creato FreeNAS come sistema operativo installato a bordo dei propri sistemi di storage di rete (NAS) fino a un certo periodo ha sviluppato parallelamente FreeNAS e TrueNAS distinti come sistema operativo per i propri hardware e sistema operativo di libero utilizzo, ma ad un certo punto ha deciso di unificare i due sistemi. Ecco perché di fatto i due sono esattamente lo stesso prodotto, solo che il primo nasceva dedicato agli storage di iXSystems e per una ragione commerciale è stato mantenuto come marchio a parte.
TrueNAS si utilizza anche in ambienti Cloud, dove mostra la sua utilità perché permette di gestire lo storage di rete senza dovervi dedicare una macchina Windows o magari una macchina Linux con su la condivisione Samba, NFS eccetera.
TrueNAS supporta praticamente tutti i protocolli di gestione dei file: da quelli base come NFS, SMB, AFP (utilizzato in ambiente Mac) a quelli considerabili di classe enterprise utilizzati nei NAS di fascia alta, come ad esempio l’iSCSI, supportando tra l’altro anche il multipath. Ricordiamo che iSCSI multipath sostanzialmente significa creare un inizializzatore iSCSI su due link (su due diverse VLAN) e andare in Round Robin sui due link, quindi avendo una scheda di rete gigabit per ogni link si utilizzano ad esempio due schede in contemporanea ottenendo maggiore velocità, scrittura simultanea e allo stesso tempo queste due schede fanno da fail-over, nel senso che se va giù uno dei due link l’altro sostiene il trasferimento dei dati da e verso lo storage in iSCSI.
È possibile collegarsi in iSCSI da una macchina Windows, Linux, ma anche da un hypervisor (per esempio VMware direttamente), quindi nativamente da VMware ma anche da Windows ecc. Ad esempio da Windows si installa l’iSCSI Initializator che è all'interno di Windows e ci si connette allo storage in multipath. Questa funzionalità multipath tra l’altro non l’hanno tutti i NAS di fascia entry-level.
Tra le funzionalità implementate in TrueNAS c’è la S3, quindi è possibile far diventare il proprio NAS uno storage S3 e quindi compatibile Amazon S3. Tale funzionalità (FreeNAS S3) utilizza MINIO che è un prodotto di un’azienda che lavora con sistemi di storage S3 e del quale esiste sia una versione free sia una Enterprise; MINIO inizializza il connettore S3 e poi va ad utilizzare il file su disco.
Oltre a quelli appena descritti, TrueNAS offre altri servizi come ad esempio server FTP, Webdav
e poi supporta tutto quello che sono i permessi, le ACL (Access Control List) degli utenti sia locali che di rete e si può collegare anche ad Active Directory, quindi è anche possibile usarlo per il ripristino come storage di rete a tutti gli effetti in ambito Windows. Supporta tutti i protocolli Windows permettendo di selezionare la versione, da quelle più vecchie alle più recenti (per esempio SMB versione 1).
L’interfaccia utente di TrueNAS è quella proposta dall’immagine seguente, che riguarda la Dashboard, nella cui parte sinistra si trova il menu dal quale accedere alle funzionalità; i servizi si impostano cliccando sulla voce di menù Services, che apre l’apposita pagina nella quale si pone il segno di spunta su quelli da attivare.
Nella pagina dei servizi (immagine seguente) potete vedere quali sono i servizi che è possibile abilitare, quindi FTP, iSCSI, NFS, LLDP, SNMP e quant’altro; nella colonna Running mostra quali sono in esecuzione sull’istanza e Start Automatically permette di stabilire quali dovranno essere avviati in automatico all’avvio del NAS.
Quando si va a configurare l’FTP è possibile impostare le varie opzioni di gestione, quindi anche abilitare l’SSH per ottenere un Secure FTP.
Dall’interfaccia utente è possibile caricare dei plugin di terze parti, come ad esempio quelli di iXSystem piuttosto che della comunità; uno dei plugin che si potrebbe installare è Next Cloud, ma nell’immagine seguente ne vediamo tanti altri, in questo caso già installati nel sistema.
Tra gli altri plug-in installabili ci sono ad esempio MINIO, strumenti di Media Streaming, di backup nel Cloud ecc.
Poi c’è una parte di impostazione avanzata di rete ed anche una sezione per la gestione della virtualizzazione: a quest’ultima si accede cliccando, nel menu di sinistra, sulla voce Virtual Machine, che dà accesso a una pagina nella quale è possibile far girare delle VM. Sono supportati ambienti come VMware, VirtualBox, Citrix Hypervisor ed altri. Per VMware, TrueNAS utilizza VMware Workstation Player, almeno per Windows.
L’immagine seguente propone la pagina di gestione delle Virtual Machine.
Chiaramente se si utilizza TrueNAS in Cloud e quindi in un ambiente virtualizzato, non si va ad utilizzare la funzionalità di virtualizzazione, però siccome ci sono tanti NAS basati su sistemi operativi come Synology, QNAP ecc. e comunque NAS di fascia alta che supportano le macchine virtuali al loro interno, TrueNAS va incontro alle esigenze dei sistemisti offrendo la possibilità di creare e gestire delle VM, chiaramente in questo caso su dell’hardware fisico.
Il supporto alla creazione di Virtual Machine esiste perché in fondo TrueNAS è un sistema operativo Linux derivato da FreeBSD che viene installato in un NAS.
Coretech utilizza TrueNAS in ambiente Cloud come storage iSCSI per alcuni tipi di applicazioni, per eseguire delle VM, degli storage collegati direttamente a Windows; in alcuni casi come storage per condividere file tra i server dei clienti, come ulteriore replica dei dati quando si tratta di parecchi terabyte di dati e fare un ripristino dal backup comporta moltissimo tempo per cui è meglio avere un server di replica piuttosto che un backup, così da poterlo utilizzare in qualsiasi momento come storage se quello principale va in avaria.
Vediamo ora come fare un’installazione in ambiente virtuale, supponendo di utilizzare VMware: si parte dal creare una nuova macchina virtuale dal client vSphere Web client di VMware, per esempio; da qui si impartisce il comando di creazione di una nuova VM (Actions > New virtual machine) per avviare la creazione della VM sull’host ESXi (nel nostro caso sul NAS TrueNAS), quindi si seleziona il sistema operativo da installarvi, che nello specifico è FreeBSD.
La procedura consta di 8 passaggi e si svolge da un’apposita finestra di dialogo del client vSphere Web:
Per riguarda la RAM, sono richiesti 8 GB perché via della funzione di deduplica interna, quindi se si utilizza ZFS con deduplica interna serve tale ammontare di RAM.
A riguardo va ricordato che il filesystem ZFS richiede un gigabyte per ogni terabyte di dati del disco su cui è installato il sistema operativo.
Lo ZFS è utile nelle situazioni in cui non c’è un sistema Raid hardware; permette di avere tutta una serie di hard disk, su cui viene creato un layer ZFS che li unisce in qualcosa che funziona come un Raid, quindi si ottiene lo stesso risultato di quello ottenibile avendo installato un Raid 5, un Raid 6, un mirror ecc.
Il sistema operativo richiede 8 GB di spazio su disco, però non è tutto qui: il disco dove viene installato il sistema operativo non può essere utilizzato (non viene visto) come disco di storage, quindi se nella macchina vi sono un certo numero di hard disk, o il sistema operativo si installa su una chiavetta USB o una SD-Card, oppure un disco viene sottratto dalla gestione del sistema.
Chiaramente questo vale nel contesto on-premise, non in Cloud; quindi in tale situazione si potrebbe installare sulla SD-Card del server TrueNAS, però vanno messi in conto potenziali problemi in cui si può andare incontro relativi alla compatibilità driver hardware, soprattutto con certi driver di certe schede, per esempio qualche Intel 10 Gbit che a causa di un baco, quando il NAS iniziava a fare un po’ di traffico veniva riconosciuto come traffico malevolo e la scheda veniva disconnessa e poi riconnessa. Tale problema si verificava anche con VMware.
Un particolare cui prestare attenzione in ambiente virtuale riguarda la parte delle schede di rete, nel senso che se lo storage NAS che state per installare avrà una scheda che la userete per LAN Management e altre schede per fare delle aggregazioni, dei link eccetera, dovrete installarle subito in fase di installazione e non dopo, perché in questa evenienza può accadere che non vengano riconosciute; questo imporrebbe di dover reinstallare la VM.
Comunque le immagini seguenti mostrano come si procede all’installazione, che è come per una comune macchina Linux: dal menu iniziale si sceglie Install/Upgrade e poi nella schermata successiva si mette la password di root e si conferma.
La password di root sarà poi quella di management. A questo punto si sceglie il supporto di destinazione per l’installazione (immagine seguente) e quindi l’unità di boot, poi parte l’installazione.
In ambiente Cloud questo è comodo perché si mette su la macchina col suo storage a disposizione ed in qualche modo è possibile condividerlo fra sistemi eterogenei, ad esempio Windows e Linux, cosa non fattibile altrimenti.
Tra l’altro, tra i vari servizi che supporta, TrueNAS può fare anche da OpenVPN Server o OpenVPM Client. La gestione degli utenti è tutta all’interno e molto semplice. Open VPN è tutto a riga di comando, quindi bisognerebbe crearsi il file eccetera, mentre in questo caso è stato molto semplificato proprio dall’integrazione in trueNAS.
Non va comunque dimenticato che TrueNAS nasce come storage di rete, ovvero come inizializzatore iSCSI di rete, quindi in realtà la parte di disco (di pool) è tutta esposta: non si va semplicemente a creare un file all’interno del volume del disco, quindi il disco viene usato in modo molto semplice e sfruttato al 100%.
La parte iniziale di configurazione di rete si fa da riga di comando in modo molto semplice: c’è il menù della console dove il punto 1 serve per configurare la scheda di rete (Configure Network Interfaces), quindi si mettono l’IP address della scheda, si definiscono gli indirizzi di gateway e il DNS e poi si accede da web e si gestisce il tutto da web.
Dunque, una volta riavviato il sistema si procede all’accesso da web e si va a configurare ad esempio la rotta gateway (punto 4 del menù: Configure default route) e le Static Routes (punto 5 del menù); poi si configura il DNS (punto 6 del menù) e via di seguito. Come vedete è molto semplice perché non serve avere una conoscenza approfondita di Linux; peraltro le guide del caso si trovano su Internet e forniscono tutte le indicazioni del caso. Consigliamo di usarle per creare anche l’iSCSI piuttosto che per creare le condivisioni, se è la prima volta che si fa ciò.
Ecco qui che si fa la login e si entra nel sistema appena creato.
Adesso vediamo come vado a creare il disco: dalla voce di menù Storage si clicca su Pool e, nella finestra che si apre, si clicca sul pulsante d’opzione Create New Pool e quindi su Create Pool. Si accede così alla pagina proposta dall’immagine seguente, dove si effettueranno le impostazioni.
Nel caso specifico, avendo montato un solo disco (perché negli esempi di creazione su VMware fatti sinora è stato assegnato un disco al sistema operativo ed uno di storage) quindi non si pone il problema delle impostazioni ZFS e via di seguito. In Name si va ad assegnare un nome allo storage e poi si clicca sul pulsante CREATE e si passa alle impostazioni successive, riguardanti la scheda di rete, cui si accede cliccando sulla voce di menù Network. Qui è possibile personalizzare alcuni elementi mediante le finestre corrispondenti ciascuna ad una delle voci del sottomenù Network, ossia (immagine seguente):
Da Interfaces (immagine seguente) è possibile impostare le MTU9000, le jumbo frame
per la parte iSCSI, storage NFS ecc., possiamo aggiungere più IP alla stessa scheda di rete giacché il sistema supporta le VLAN e supporta link-aggregation sia classico (LACP=Link Aggregation Control Protocol) quindi fatto anche lato switch, sia il Bond lato Linux.
Quindi, volendo si potrebbe avere un TrueNAS in ambiente Cloud con più schede di rete su VLAN diverse e assegnare una parte dello storage, quindi creare una SAN (Storage Area Network) per i clienti.
Nell’immagine seguente è proposto un esempio di creazione di una condivisione di rete Windows con protocollo SMB; qui c’è tutta la parte di ACL sulle singole Folder, si possono creare i pool eccetera.
In Services si può decidere che servizi abilitare e per ogni servizio, quale scheda di rete assegnare, quindi si possono definire per ogni interfaccia di rete i servizi disponibili. Il TrueNAS è anche monitorabile tramite protocollo SNMP.
Con TrueNAS potete replicare il disco volume che è al suo interno, ossia tra le sue funzionalità può replicare i dati fra due FreeNAS utilizzando un proprio sistema interno di replica a blocchi; offre anche la possibilità di fare degli snapshot.
Si può usare anche come sistema di condivisione dati NAS interno per condivisione dei dati tra macchine con differenti sistemi operativi (ad esempio Mac e Windows) piuttosto che per fare dei backup di VM; tutte funzioni comprese in TrueNAS e quindi gratuite.
Oltretutto TrueNAS permette di ridare vita a un vecchio server per farlo diventare uno storage di rete, tra l’altro molto più potente dei NAS.
Ancora è poco utilizzato in ambienti Cloud, perché i provider preferiscono vendere del proprio storage, tuttavia se si acquista l’infrastruttura ci si può installare ciò che si desidera, compreso TrueNAS, che garantsce molta flessibilità: ad esempio una parte dello storage disponibile si assegna all’FTP perché c’è sempre bisogno di un’area FTP, un’altra si imposta per l’NFS perché magari c’è una macchina Linux, un’altra ancora su SMB per realizzare un collegamento con Active Directory.