2 Introduzione
durata ed alla difficolta` di comprensione del procedimento. Successivamente
sono stati scelti i linguaggi di programmazione piu` adatti, ovvero Glade e
Python. Il primo e` uno strumento utile a disegnare le finestre e tutti gli
elementi che le compongono; il secondo e` un linguaggio di scripting portatile
su moltissime piattaforme, con la potenza di un linguaggio ad alto livello.
Dopo un’attenta valutazione su quello che offre la tecnologia a livello di
installer grafici, si e` giunti alla conclusione che il metodo piu` indicato per dare
una soluzione al problema era quello di dotare VirtuaLinux di un Wizard,
ovvero un installer grafico dal design intuitivo e facile da utilizzare anche per
chi non ha molta dimestichezza con i calcolatori. Questo strumento permette
di risolvere tutti i problemi precedentemente citati; esso consente di fornire
un’ampia descrizione di quello che sta avvenendo mediante l’uso di finestre
e campi di testo, risulta intuitivo nell’uso grazie alla presenza dei bottoni,
con cui l’utente medio ha ormai una grande familiarita`. Il Wizard permette
di conoscere lo stato di avanzamento dell’installazione e da` la possibilita` di
modificare, in ogni momento, le scelte precedentemente effettuate.
Struttura della tesi
Il secondo capitolo descrive l’architettura di un tipico cluster ed analizza le in-
novazioni apportate da VirtuaLinux. Successivamente viene affrontato il con-
cetto di interazione uomo-macchina e viene riportata la traduzione, realizzata
in fase di approccio al progetto, delle Apple Human Interface Guidelines e delle
GNOME Human Interface Guidelines 2.0 che costituiscono la base della pro-
gettazione di un’interfaccia. Il quarto capitolo mette in evidenza le differenze
tra la procedura d’installazione attuale, a linea di comando, e quella svilup-
pata con un’interfaccia grafica gradevole e di facile utilizzo e vengono inoltre
illustrate alcune delle finestre di dialogo piu` significative. L’ultimo capitolo
viene dedicato al linguaggio di programmazione ed allo strumento utilizzato
per la realizzazione grafica delle finestre di dialogo; infine viene descritto il
codice implementato nei suoi passaggi principali.
Capitolo 2
Cluster: architetture
L’aggregazione di diversi computer, al fine di risolvere uno stesso problema
comune, prende il nome di sistema distribuito o cluster . Un cluster (dall’in-
glese grappolo) e` un insieme di computer connessi tramite una rete telematica;
il suo scopo e` quello di distribuire una computazione molto complessa tra i
vari computer che lo compongono. In sostanza un problema che richiede mol-
te elaborazioni per essere risolto viene scomposto in sottoproblemi separati
i quali vengono risolti in parallelo. Questo ovviamente aumenta la potenza
di calcolo. Il paradigma alla base di un sistema distribuito e` paragonabile a
“divide et impera”, secondo il quale ogni problema puo` essere risolto scompo-
nendolo in sottoproblemi piu` piccoli, la soluzione di ognuno dei quali genera
una parte della soluzione del problema iniziale. L’applicazione di questo sche-
ma di ragionamento include il concetto di modularita` che caratterizza tutti
i moderni sistemi di calcolo, in modo piu` evidente i sistemi distribuiti. Un
sistema distribuito, infatti, non e` altro che un insieme di calcolatori identici
che si definiscono nodi. In questi sistemi si ha la possibilita` di aggiungere o
rimuovere nodi generando rispettivamente un aumento o una diminuzione nel-
la potenza di calcolo dell’intero sistema. Questa caratteristica prende il nome
di scalabilita`. Un sistema e` scalabile quando l’aumento delle prestazioni di
calcolo aumenta proporzionalmente rispetto al numero di nodi dello stesso. I
nodi, interconnessi tra loro da una rete di comunicazione privata, usata esclu-
sivamente per la sincronizzazione dei dati e l’interscambio di messaggi fra i
processi in esecuzione, condividono le risorse che possono essere sia locali che
remote.
3
4 Cluster: architetture
2.1 Architettura
A seconda della tipologia di gestione e della collocazione delle risorse un sistema
distribuito puo` essere di diversi tipi:
1. Tightly Coupled : in questi sistemi abbiamo un insieme di nodi che
condividono un’unica porzione di memoria utilizzata anche per scopi di
sincronizzazione e comunicazione;
2. Loosely Coupled : in questi sistemi abbiamo un insieme di nodi dotati
di memoria propria che scambiano informazioni attraverso un’intercon-
nessione fisica ed una tecnica denominata Message Passing.
I sistemi Loosely Coupled corrispondono piu` propriamente alla definizione
di sistema distribuito. Appartengono alla categoria Tightly Coupled i siste-
mi dotati di un certo numero di processori che condividono le stesse risorse
centralizzate, mantenendo le caratteristiche di scalabilita` e modularita`. La
sincronizzazione delle operazioni e lo scambio di messaggi avviene utilizzando
aree della memoria principale ed ogni operazione di inserimento dati e con-
sultazione viene realizzata utilizzando appositi terminali oppure workstation.
Nella categoria Loosely Coupled possiamo distinguere i seguenti modelli:
1. workstation model : sistemi caratterizzati da un insieme di worksta-
tion che gestiscono autonomamente le proprie risorse; sono dotati di un
sistema di gestione dei processi locali e remoti in grado di spostare i
processi sui nodi meno carichi.
2. workstation-server model : sistemi caratterizzati dalla flessibilita` del
modello workstation model in quanto sono costituiti da un gruppo di
workstation interconnesse che ereditano i vantaggi del modello a mini-
computer. Questa soluzione permette l’esecuzione di operazioni gene-
riche sulle workstation e di operazioni specializzate sui minicomputer
dedicati. I vantaggi di questo modello possono essere rilevanti quando
sono richiesti livelli di performance molto elevati.
3. processor pool model : questo modello e` caratterizzato dalla presenza
di nodi generici non specializzati che vengono dinamicamente allocati dal
sistema di gestione delle risorse e che vengono rappresentati esternamen-
te con l’immagine di un sistema singolo. L’utente che deve utilizzare le
risorse di calcolo del cluster non si collega ai nodi, ma a terminali spe-
cializzati che non fanno parte del cluster. Pertanto la percezione che ne
risulta e` quella di collegarsi all’intero sistema. Per la sua praticita` ed
efficacia questo modello risulta essere quello piu` diffuso tra gli attuali
cluster adibiti al calcolo massivo.
2.1 Architettura 5
2.1.1 High Availability e High Performance Computer
Un cluster puo` essere di tipo HA (High Availability) oppure di tipo HPC (High
Performance Computer).
I cluster HA (High Availability) hanno come obiettivo principale quello
di garantire la continuita` di servizi con alti livelli di criticita`. Da una ricer-
ca condotta nell’aprile 1995 da IEEE emerge che una larga percentuale dei
disservizi all’interno delle reti locali e` dovuta alla rottura di componenti hard-
ware oppure a fattori umani imprevisti: la semplice disconnessione del cavo di
alimentazione o di rete, un’errata modifica della configurazione, l’accidentale
spegnimento della macchina stessa. Al fine di cercare una soluzione ad un
numero sempre crescente di disservizi dovuti a cause impreviste, si e` cercato di
schematizzare le tipologie di guasti e di aggiungere livelli sempre piu` sofisticati
di ridondanza, in grado di assorbire l’eventuale disservizio senza che l’utente
percepisca il guasto.
Il primo livello di intervento porta alla realizzazione di server che fanno lar-
go uso della ridondanza in reparti quali l’alimentazione, le connesioni di rete,
la memoria centrale ed i sottosistemi a disco (generalmente questa soluzione e`
coadiuvata da un sistema di monitoraggio interno in grado di segnalare l’immi-
nenza di un guasto in una determinata sezione del sistema). Un secondo livello
di ottimizzazione riguarda la creazione di cluster composti da due macchine in
grado di migliorare il livello di affidabilita` di un sistema, eliminando quello che
viene definito single point of failure, ovvero il punto che se viene compromesso,
pregiudica l’erogazione del servizio. Esistono due tipi di cluster HA:
1. cluster che operano in modalita` attiva-passiva detta anche active-standby :
sono caratterizzati dalla presenza di un nodo primario che eroga il servizio
e da un nodo secondario dormiente che prende il posto del nodo primario
in caso di guasto;
2. cluster che operano in modalita` attiva-attiva: sono caratterizzati dalla
presenza di due nodi attivi che si scambiano le informazioni e che si
dividono il carico delle richieste provenienti dall’esterno in modo del tutto
automatico.
Attualmente le soluzioni active-standby risultano affidabili e largamente
utilizzate, le implementazioni active-active presentano ancora comportamenti
anomali che ne pregiudicano l’adozione su larga scala.
I cluster di tipo HPC sono normalmente dedicati al calcolo massivo pecu-
liare delle simulazioni scentifiche. Normalmente i nodi sono composti da un
insieme di personal computer che, gestendo autonomamente le proprie risor-
se, sono assimilabili al modello Loosely Coupled precedentemente analizzato.
6 Cluster: architetture
Al fine di ottimizzare i costi e di ridurre il numero di componenti soggetti a
rottura i nodi vengono privati delle periferiche non necessarie alle applicazioni
di supercalcolo. Vengono quindi eliminati componenti quali: tastiere, mouse,
monitor, schede grafiche, schede audio, floppy, cd-rom ed in alcuni casi anche
hard disk come nei cluster diskless. Al contempo i nodi sono molto curati dal
punto di vista dei processori, della memoria centrale e della connettivita`. I
processori adottati sono coadiuvati da ingenti quantitativi di RAM a bassa
latenza e da chipset capaci di sopportare elevati flussi di dati. Per quanto
riguarda le connessioni di rete risulta essenziale ridurre al minimo la latenza
media delle comunicazioni tra i nodi, e` necessario ridurre i cali di performance
in sistemi dotati di un considerevole numero di nodi che devono garantire tem-
pi di risposta estremamente veloci. Abbassando i tempi necessari allo scambio
dei dati e soprattutto allo scambio di messaggi tra nodi, otteniamo un sistema
piu` snello e reattivo.
I computer che compongono i cluster sono collegati tra loro attraverso re-
ti LAN (Local Area Network). I tipi di nodi spaziano dai grandi computer
SMP (Symmetric MultiProcessor) ai desktop PC con singole CPU. Soluzioni
intermedie sono piuttosto popolari, cio` e` dovuto alla disponibilita` dei proces-
sori multi-core che permettono la costruzione di blade comprendenti computer
multiprocessore. Questo tipo di soluzione e` adatta per costruire cluster ad alta
densita` dotati di switch di rete Ethernet che offre costi limitati e largo suppor-
to da parte dei Sistemi Operativi. Ogni nodo e` dotato di dispositivi standard
come memoria RAM, dischi, porte USB e dispositivi di I/O (tastiera, mouse
e video).
I cluster ad alta densita` includono un concentratore di terminale KVM che
abilita il controllo di tutti i nodi da un singolo quadro di comando. Include,
inoltre, un Hard Disk per ciascun blade collegato ad una SAN (Storage Area
Network) esterna. I dischi montati su blade hanno un Sistema Operativo su
ciascun nodo e possono essere utilizzati sia localmente che globalmente per
la memorizzazione dei dati utente. La SAN viene tipicamente utilizzata in
quanto offre un alto livello di condivisione.
Una volta installati i nodi di un cluster possono essere utilizzati isolata-
mente o cooperativamente per eseguire operazioni in parallelo, sfruttando al
massimo la potenza di calcolo. Inoltre nel Sistema Operativo sono disponibi-
li istruzioni per l’amministrazione centralizzata dei nodi. Questo insieme di
istruzioni utilizza un’architettura client/server la cui caratteristica e` che uno
dei nodi funge da master mentre gli altri dipendono da esso. Il master viene
determinato al momento dell’installazione in base all’hardware ed al software
di cui e` dotato. Uno dei maggiori problemi e` che i dischi montati sui server sono
statisticamente la principale fonte di guasti nei cluster ad alta densita`. Un mal-
2.2 Virtualizzazione 7
funzionamento hardware o software del nodo master puo` risultare catastrofico
per il funzionamento dell’intero cluster.
2.1.2 KVM
KVM (Keyboard, Video, Mouse) e` uno switch che permette la condivisione
delle risorse tra diversi computer; attraverso questo strumento ogni utente ha
la possibilita` di controllare tutti i nodi di un cluster da un unico terminale
dotato di monitor, tastiera e mouse. Questa caratteristica ha particolare im-
portanza quando i nodi sono localizzati in ambienti fisicamente distanti, in
quanto l’amministratore del sistema puo` verificare il funzionamento dei nodi
dalla sua postazione correggendo gli eventuali errori che possono verificarsi.
2.2 Virtualizzazione
Per virtualizzazione si intende la creazione di una versione virtuale di una
risorsa normalmente fornita fisicamente, che permette il raggiungimento di un
miglior grado di condivisione e di utilizzo. La virtualizzazione delle risorse
di un sistema consente di eseguire diversi Sistemi Operativi su una singola
piattaforma fisica, al contrario di un sistema non virtualizzato in cui un unico
Sistema Operativo controlla tutte le risorse.
Un sistema virtualizzato contiene un ulteriore livello software chiamato
Virtual Machine Monitor (VMM); il ruolo principale del VMM e` di arbitrare
l’accesso alle risorse in modo che possano essere condivise tra diversi Sistemi
Operativi ospitati dalla VMM. Il VMM presenta, a ciascun Sistema Operativo
ospitato, un insieme di interfacce virtuali che costituiscono la Virtual Machine
(VM). Un Virtual Cluster e` una raccolta di Virtual Machine in esecuzione
su uno o piu` nodi del cluster collegate attraverso reti private virtuali. Per
uniformita` con l’hardware sottostante tutte le Virtual Machines sono omogenee
perche` possiedono le stesse caratteristiche (risorse, rete, etc.). In questo modo
ogni Virtual Machine puo` accedere ad un disco privato virtuale ed ogni Virtual
Machine di un cluster virtuale, eseguendo lo stesso Sistema Operativo, puo`
accedere ad uno spazio disco condiviso.
Diversi cluster virtuali possono coesistere nello stesso cluster fisico anche
se non esiste una relazione diretta tra loro, a parte l’accesso concorrente alle
stesse risorse. I cluster virtuali facilitano diversi problemi di gestione come ad
esempio:
1. Isolamento del cluster : fallimenti o instabilita` del sistema sono spesso
dovuti ad errori di gestione; operando a livello virtuale gli errori non
8 Cluster: architetture
vengono propagati anche a livello fisico evitando cos`ı impatti sulla stabi-
lita` o sulla sicurezza del livello fisico stesso. Il relativo utilizzo di risorse
fisiche, come il processore, i dischi, la memoria, puo` essere dinamicamente
modulato ed aggevolato tra i diversi cluster;
2. Consolidamento del cluster : la virtualizzazione viene utilizzata per di-
stribuire i diversi cluster virtuali, ogni cluster utilizza un insieme di Vir-
tual Machines che accedono ad un Sistema Operativo, ai relativi servizi
ed applicazioni. Le Virtual Machines possono sfruttare i diversi Sistemi
Operativi e le relative applicazioni per soddisfare le diverse esigenze degli
utenti. L’installazione e l’implementazione dei cluster virtuali non incide
sulla disponibilita` dei servizi e delle applicazioni in esecuzione sul cluster
fisico o sugli altri cluster virtuali;
3. Saclabilita` del cluster : i cluster virtuali consentono un efficiente utilizzo
dell’hardware sottostante. Un esempio e` che le applicazioni ed i servi-
zi del Sistema Operativo vengono testati con un grado di parallelismo
superiore al numero di nodi fisicamente disponibili sul cluster.
Lo svantaggio principale della virtualizzazione e` l’overhead che aumenta in
base ai livelli hardware e software da virtualizzare. Le tecniche di virtualizza-
zione vengono suddivise in tre classi principali: emulazione, traduzione binaria
e paravirtualizzazione.
Un emulatore e` un programma che permette l’esecuzione di software scritto
per un ambiente, hardware o software, diverso da quello su cui l’emulatore
viene eseguito. Questa tecnica introduce un alto livello di overhead, quindi
viene utilizzata unicamente per compiti di interoperabilita`.
La traduzione binaria prevede una traduzione a tempo di esecuzione del
codice destinato all’architettura hardware. In pratica, visto che il codice del
sistema operativo non viene modificato, tutte le parti di codice che contengono
operazioni privilegiate, e che quindi richiedono l’intervento del VMM devono
essere interpretate a tempo di esecuzione per inserirvi trap al VM. Questa
soluzione ha un overhead piu` elevato rispetto alla paravirtualizzazione.
Nel caso della paravirtualizzazione sono necessarie alcune modifiche al co-
dice del sistema operativo per permettere a quest’ultimo di essere eseguito da
una macchina virtuale. Il VMM presenta un’interfaccia di astrazione, tramite
la macchina virtuale, simile all’interfaccia esportata dall’hardware sottostante.
Sono quindi necessarie delle modifiche al codice del sistema operativo, ma non
alle applicazioni che vengono eseguite sul sistema operativo. La paravirtualiz-
zazione offre performances migliori in quanto non e` neccessaria la traduzione
dinamica delle istruzioni. Uno svantaggio e` che il numero di sistemi opera-
2.2 Virtualizzazione 9
tivi che possono essere eseguiti con questa tecnologia e` minore perche` nelle
macchine virtuali solo alcuni permettono la modifica del codice.
2.2.1 Architettura Xen
Xen e` un Virtual Machine Monitor (hypervisor) Open source sviluppato presso
il Computer Laboratory dell’universita` di Cambridge. Xen utilizza la paravir-
tualizzazione ed e` adatto su processori con architettura x86 che permette l’ese-
cuzione di Virtual Machine Multiple contemporaneamente su un unico sistema
fisico.
Nella terminologia Xen le macchine virtuali sono chiamate domini. Xen
fornisce degli ambienti di esecuzione isolati per i domini, facendo in modo che
le attivita` di un dominio non interferiscano con le attivita` di un altro dominio.
I principali requisiti che vuole soddisfare Xen sono:
1. garantire l’isolamento tra i domini: l’esecuzione di un dominio non deve
interferire sulle prestazioni di un altro dominio;
2. possibilita` di eseguire su Xen molti dei sistemi operativi moderni;
3. ridurre l’overhead introdotto dalla virtualizzazione.
Xen mira a regolare e controllare l’accesso alle risorse fisiche del dispositivo
da parte delle varie istanze delle macchine virtuali. In questo caso il Virtual
Machine Monitor viene implementato direttamente nell’hardware del processo-
re consentendo un decadimento minimo delle prestazioni rispetto alla versione
non virtualizzata in quanto tutte le istruzioni provenienti dalle macchine vir-
tuali vengono eseguite direttamente sul processore. Questo approccio consente
di eliminare lo strato intermedio, solitamente rappresentato dal sistema ope-
rativo, tra le Virtual Machine e le risorse fisiche. Il sistema operativo che gira
sulla Virutal Machine viene adattato a Xen in modo che siano possibili tut-
te le chiamate di sistema del kernel. Per essere eseguito Xen necessita di un
adeguato hardware. E’ dotato del codice necessario per far partire i processo-
ri secondari ed effettuare la numerazione dei bus PCI, i driver dei dispositivi
vengono eseguiti all’interno dei sistemi operativi ospitati, piuttosto che diret-
tamente su Xen. Queste caratteristiche forniscono un’alta compatibilita` con il
maggior numero di dispositivi hardware supportati da Linux.
Struttura di un sistema basato su Xen
Un sistema basato su Xen e` composto da diversi strati, il piu` basso e privilegato
e` proprio Xen. Esso puo` ospitare diversi sistemi operativi, ognuno dei quali
10 Cluster: architetture
viene eseguito su un Virtual Machine “sicura”, che in questo contesto viene
denominata dominio. I domini vengono amministrati da Xen in modo da
utilizzare in maniera efficiente i processori fisici disponibili. La gestione include
la responsabilita` di svolgere le applicazioni nel tempo allocato alla Virtual
Machine da Xen.
Il primo dominio, Dom0, viene creato automaticamente al boot del sistema
ed e` dotato di speciali privilegi: controlla i componenti hardware del sistema e
viene utilizzato per gestire l’hypervisor e gli altri domini. Esegue compiti parti-
colari per le macchine virtuali come la sospensione, il ripristino o la migrazione
di altre macchine virtuali. Tutti gli altri domini sono “unprivileged”(domini
utente o DomU ), domini che non hanno un accesso speciale all’hardware. La
figura 2.1 illustra l’architettura Xen 3.0.
Figura 2.1: Architettura Xen
2.3 Sistemi di Storage
Un sistema di storage si occupa dell’immagazzinamento e della gestione dei
dati. Nella figura 2.2 viene rappresentata la classificazione dei Sistemi di
Storage.
Verranno analizzati nel dettaglio i sistemi di storage distribuiti come lo
Storage Area Network (SAN) e il Network Attached Storage (NAS).
2.3 Sistemi di Storage 11
Figura 2.2: Classificazione dei sistemi di storage
2.3.1 Storage Area Network
Le Storage Area Network sono reti di interconnessione tra Server che utilizzano
hardware, generalmente ad interfaccia Fibre Channel, e software per creare
collegamenti ad alta velocita` in modo da permettere ad un insieme di Server
di condividere una capacita` virtualmente infinita di Storage, in modo esclusivo
o combinato, indipendentemente da dove risiedono tali risorse.
Le caratteristiche delle Storage Area Networks permettono di potenziare
le prestazioni dei Server, aumentando ed ottimizzando la possibilita` di acces-
so ai dati, sia attraverso un miglior bilanciamento dei carichi di lavoro, che
con l’introduzione del concetto di fail-over o ridondanza. Il collegamento di
sistemi Server e Storage attraverso un’interconnessione ad alta velocita`, quale
e` l’interfaccia Fibre Channel, costituisce la base di ogni Storage Area Network
(SAN). Tale architettura hardware, combinata ad un appropriato software di
gestione, diventa una rete in cui diversi computer possono condividere risorse
di Storage e dati. Questa tecnologia riduce il costo di gestione dello Storage
in ambiente distribuito, attraverso una sua efficiente centralizzazione e quindi
un controllo dello stesso.
In una rete SAN le periferiche di storage sono connesse ai server attra-
verso canali essenzialmente in fibra ottica, hub, switch router e bridge, che
dovrebbero garantire la coesistenza di sistemi e dispositivi di storage di natura
eterogenea. Le reti SAN forniscono numerosi vantaggi rispetto ai dispositivi di
storage connessi direttamente ai server. Offrono una connettivita` any-to-any
tra server e dispositivi di storage che consentono un trasferimento diretto di
dati tra periferiche di memorizzazione (dischi o tape), migliorando l’efficienza
dello spostamento dei dati e dei processi, quali il backup o la replica dei dati.
L’architettura SAN consente:
12 Cluster: architetture
1. una visione e gestione centralizzata di tutti i dati aziendali a livello di
client, server e nodi di rete;
2. configurazioni cluster gestite centralmente e facilmente espandibili, sia
dal punto di vista del numero di server (scalabilita`) che per l’espansione
dello storage;
3. una migliore capacita` di gestione delle risorse;
4. backup dei dati centralizzato in grado di garantire elevate performance ed
integrita` dei dati, non ottenibili attraverso le classiche architetture delle
LAN per il trasferimento dei dati durante le operazioni di archiviazione
dei dati;
5. architetture e configurazioni per la gestione di notevoli quantita` di dati
(terabyte) e con elevati data transfer rate.
SAN presenta diversi vantaggi come alte prestazioni, alta disponibilita`, sca-
labilita` e facilita` di gestione. Tutto questo con le caratteristiche di connettivita`
ed accesso distribuito del network computing, attraverso un’architettura di rete
dedicata alla gestione ed archiviazione dei dati, in grado di non sovraccaricare
i server nelle operazioni di scrittura e lettura dei dati, da e verso lo storage.
2.3.2 Network Attached Storage
I Network Attached Storage (NAS) sono dispositivi di memorizzazione di file
collegati ad una rete. Il dizionario tecnico pubblicato dalla Storage Networking
Industry Association (SINA) definisce i NAS come dispositivi di storage da
connettere ad una rete al fine di fornire ai sistemi di computer servizi di accesso
ai file.
Un dispositivo di storage NAS e` composto da un motore che implementa i
servizi di file e da una o piu` periferiche su cui vengono memorizzati i dati. I
disposivi NAS possono essere collegati a qualsiasi tipo di rete, tendenzialmente
viene utilizzata una rete LAN. Un sistema host che utilizza NAS si avvale di
driver, di periferiche, di file system per accedere ai dati utilizzando protocolli
di accesso ai file come NFS o CIFS. I sistemi NAS interpretano questi comandi
ed eseguono le operazioni interne dei file e le operazioni di I/O delle periferiche
necessarie per elaborarli. I NAS possono essere visti come computer specia-
lizzati creati per “servire”file ai server applicativi. Alcuni vantaggi dei NAS
sono dati dalle prestazioni, dalla semplicita` di gestione e dal fatto che i server
Windows e Unix possono interfacciarsi a questo dispositivo eliminando cos`ı la
necessita` di “isole”di gestione. Il modello NAS offre una soluzione alle pro-
blematiche di storage piu` economica rispetto alle SAN, anche se con alcune