Highlighted
Commander
Commander

Come virtualizzare un importante File Server?

Jump to solution

ciao, ho da qualche tempo una questione che mi arrovella e la condivido in cerca di spunti Smiley Happy

Mi spiego con un esempio reale: sito web con architettura "tradizionale": N server con apache che montano una export NFS messa a disposizione da un server NAS (sui 2 TB), su cui risiedono tutte le pagine e le foto da pubblicare.

Fase 1: gli N webserver, db etc vengono trasformati in VM. Già fatto un paio di anni fa con una tipica architettura N host ESXi + storage condiviso.

Fase 2: qui viene la parte che mi impensierisce: sto pensando a come eliminare del tutto gli storage condivisi classici e virtualizzare anche il server NAS in modo da poter usare ad esempio la vSAN di VMware.

In teoria mi basta attaccare un grosso VMDK a una VM (con linux o con freenas ad es) che renderà disponibili i dati via NFS. Cosa gia' testata senza problemi in sviluppo, senza carico, però il cruccio è: riuscirà questa VM a erogare lo stesso servizio di un NAS con sistema operativo e hardware ottimizzati e dedicati?

Giusto per dare un numero: al momento guardo le statistiche in tempo reale del mio NAS (che è un netapp) e vedo che le "protocol ops" variano fra 5-10 Migliaia al secondo. Il throughput non è molto alto (massimi intorno ai 200 Kbit/s).

P.S.: se non capii male, ricordo all'hands on che abbiamo fatto a marzo con Nutanix che anche loro usavano, per mettere a disposizione degli host lo storage "interno", una VM che esportava in NFS...

Alessandro aka Tinto | @tinto1970
Tags (2)
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Virtuoso
Virtuoso

Ciao,

non hai seguito bene il mio discorso allora. Io intendevo proprio l'opposto: se vuoi toglierti da un lockin di uno storage vendor, non ha senso mettere i costosissimi SSD dentro lo storage, oltre il fatto che questa soluzione è di una inefficienza assurda.

Molto meglio pensare a SSD lato hypervisor. Ci sono tantissime soluzioni, sia che accelerano solo le read (vFlash magari è ancora immaturo, ma ad esempio FlashSoft è molto avanzato) sia le write (come Pernix Data, però qui dipende se tu usi i datastore in block con VMFS o in NFS, il secondo ancora non è supportato). Anche accelerare solo le read ha molto senso: dici tu stesso che l'80% dell'IO è read, bene con l'accelerazione delle read recuperi qull'80% di carico sui netapp, e quindi di conseguenza si accelerano anche le write, dato che il netapp è scarico di read e quindi ha più libertà di gestire le write.

Ultima cosa, il netapp espone i datastore agli ESXi via lun + VMDK oppure via NFS?

Nel secondo caso permettimi una "promozione", ma c'è un bellissimo prodotto in giro, Infinio. Ti fa installare una VM per ogni ESXi, usa parte della ram dell'ESXi (8Gb completamente reserved), e non avendo storage permanente accelera solo le read, però è specificatamente studiato per storage NFS. Hanno una trial molto veloce da scaricare e installare. Il vantaggio è che usa solo ram, non devi comprare nessun SSD o altro. E costa solo 500 USD per socket ESXi. Chiedi a NetApp quanto ti fa pagare un singolo SSD da installare nel loro array. Ne ho parlato qualche settimana fa:

http://www.virtualtothecore.com/tech-field-day-roundtables-al-vmworld-us-2013-infinio/

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"

View solution in original post

0 Kudos
8 Replies
Highlighted
Virtuoso
Virtuoso

Ciao Tinto,

la modifica che vorresti introdurre non è banale. Innanzitutto, quali sono i motivi di business che vi porterebbero a sostituire la NetApp con un file server virtualizzato? Costi di maintenance, flessibilità, desiderio di avere tutto virtualizzato a prescindere?

Perchè bisogna valutare attentamente il tutto, i NAS non sono facilmente sostituibili, ad esempio come gestisci la ridondanza della NetApp con multipli SP? Un singolo file server se va in crash (lui p il server ESXi sottostante) hai un down... Allora bisognerebbe pensare a un file server multi-nodo, ma vedi che già la cosa si complica.

Per Nutanix, il filesystem NFS viene esposto e montato dagli ESXi, non è indicato per usi esterni a questo come fosse un normale NFS. Ci sono altre soluzioni come pNFS, moltissimi scale-out NAS (ma 2 Tb non sono una cosa da scale-out sinceramente...), oppure un object storage visto che parli di file di vario tipo...

Ad esempio, per capire se ti serve un sistema scale-out, quei 2 TB di oggi, un anno fa quanti erano, e quanta è la crescita prevista/stimata?

PS: gli iops sono tanti a fronte di poco traffico perchè immagino hai migliaia di file molto piccoli...

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Highlighted
Commander
Commander

ciao, grazie per la risposta Smiley Happy

Innanzitutto, quali sono i motivi di business che vi porterebbero a sostituire la NetApp con un file server virtualizzato?

prima di tutto: virtualizzando il file server mi svincolerei da un hardware specifico, quindi un domani potrei usare indifferentemente vSAN se compro degli host con dischi interni o storage di diversi produttori e "filosofie" (per es mi sto interessando, dopo averne letto positivamente sul blog di Cormac Hogan, di Tintri).

Per quanto riguarda la ridondanza, il down fra il guasto dell'host e la ripartenza su un altro grazie all'HA mi appare accettabile, in relazione alla probabilità dell'evento.

Purtroppo la previsione sulle crescite del volume dati è quanto mai difficile: finora a ogni cambio di sistema si è "ripartiti da zero" mantenendo lo storico su apparati di recupero, imponendosi uno SLA... rilassato.

Se si decidesse e riuscisse tecnicamente a tenere "in prima linea" solo i 30-40 GB del pubblicato recente, che probabilmente fa il 98% del traffico, si potrebbe iniziare a ragionare diversamente. Perché l'unca cosa sicura è che lo storico che lo si voglia disponibile con uno SLA a quattro 9 o no, cresce di circa 5 GB tutti i giorni, potenzialmente all'infinito. Si potrebbe immaginare una soluzione tipo AWS, per esempio...

Sì, sono tutti file piccoli, da qualche KB a pochi MB. E gia' usiamo dei reverse proxy che funzionano piuttosto bene e servono direttamente dalla loro ram molti contenuti... con una hit rate intorno al 90%.

Alessandro aka Tinto | @tinto1970
0 Kudos
Highlighted
Virtuoso
Virtuoso

Ciao Tinto,

beh se hai già diversi strati di caching e puoi permettterti i tempi di HA, potresti semplicemente creare un file server NFS su una VM linux a questo punto, 2 TB sono tranquillamente gestibili anche con i VMDK di vSphere 5.1. Poi si possono pensare delle minime soluzioni di alta disponibilità come DRDB su due linux + KeepAlive che fa condividere uno stesso virtual IP alle due VM, e cosi via.

Da quello che capisco, si tratta soprattutto di dimensionare bene lo storage su cui mettere questa VM, 10.000 IOPS continui non sono pochi. Sicuramente sarà il caso di prevedere un layer fatto con SSD.

Hai idea del rapporto read/write di questi IOPS? Ho una mezza idea di cosa potrebbe servirti, ma in base a questo pattern ci sono diverse opzioni.

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Highlighted
Commander
Commander

ciao, sicuramente nello storage vorrei assolutamente avere uno strato "solido" per poter affrontare le richieste di performance più alte che posso immaginare nel futuro.

Tra l'altro diventerà un must... NetApp ha già deciso che dall'inizio dell'anno non saranno più disponibili i SAS 15K e penso che prima o poi li abbandoneranno tutti gli altri produttori.

Il rapporto read/write dovrebbe essere almeno 9 a 1, anche se sto guardando il real time del filer e non è così ottimistico: saremo sull'80% di read. E' che quando hai 3-4 programmatori che lavorano continuamente per creare cose nuove è difficile sapere cosa girerà... infatti l'esperienza dice che sono più i down causati da errore umano che da guasti hw Smiley Happy

Intanto mi guardo DRBD, grazie Smiley Happy

Alessandro aka Tinto | @tinto1970
0 Kudos
Highlighted
Virtuoso
Virtuoso

Ciao,

non hai seguito bene il mio discorso allora. Io intendevo proprio l'opposto: se vuoi toglierti da un lockin di uno storage vendor, non ha senso mettere i costosissimi SSD dentro lo storage, oltre il fatto che questa soluzione è di una inefficienza assurda.

Molto meglio pensare a SSD lato hypervisor. Ci sono tantissime soluzioni, sia che accelerano solo le read (vFlash magari è ancora immaturo, ma ad esempio FlashSoft è molto avanzato) sia le write (come Pernix Data, però qui dipende se tu usi i datastore in block con VMFS o in NFS, il secondo ancora non è supportato). Anche accelerare solo le read ha molto senso: dici tu stesso che l'80% dell'IO è read, bene con l'accelerazione delle read recuperi qull'80% di carico sui netapp, e quindi di conseguenza si accelerano anche le write, dato che il netapp è scarico di read e quindi ha più libertà di gestire le write.

Ultima cosa, il netapp espone i datastore agli ESXi via lun + VMDK oppure via NFS?

Nel secondo caso permettimi una "promozione", ma c'è un bellissimo prodotto in giro, Infinio. Ti fa installare una VM per ogni ESXi, usa parte della ram dell'ESXi (8Gb completamente reserved), e non avendo storage permanente accelera solo le read, però è specificatamente studiato per storage NFS. Hanno una trial molto veloce da scaricare e installare. Il vantaggio è che usa solo ram, non devi comprare nessun SSD o altro. E costa solo 500 USD per socket ESXi. Chiedi a NetApp quanto ti fa pagare un singolo SSD da installare nel loro array. Ne ho parlato qualche settimana fa:

http://www.virtualtothecore.com/tech-field-day-roundtables-al-vmworld-us-2013-infinio/

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"

View solution in original post

0 Kudos
Highlighted
Commander
Commander

mi sono spiegato un po' male... diciamo che quello che vedo come scenario ideale è passare dai server blade+storage centralizzato a server con dentro i dischi e magari qualche Fusio-IO Smiley Happy utilizzando vSAN

(i server li dovrei cambiare fra 2 anni circa, quindi vSAN potrebbe essere maturo per allora).

I nostri datastore sono tutti NFS, Infinio mi era sfuggito completamente. Se riesco a trovare un attimo di tempo e una fettina di ram lo provo sicuramente: ho giusto un NAS di basso profilo (tutti sata 1TB) non utilizzato... Smiley Wink

Alessandro aka Tinto | @tinto1970
0 Kudos
Highlighted
Virtuoso
Virtuoso

Ah ok.

Diciamo che ci sono due casi d'uso ben distinti per entrambe le soluzioni:

- gli acceleratori, indipendentemente da quali siano, permettono innanzitutto di estendere la vita utile di una SAN. A questo punto non ti preoccupi più delle prestazioni, ma unicamente della loro capacità. Demandi tutto l'I/O "pesante" agli acceleratori. Ovvio che questo design può valere anche quando devi sostituire la SAN: invece di progettarla con SSD, caching, schede flash, potresti pensare di comprarne una fatta solo di dischi SATA

- converged infrastructure (vsan, nutanix, simplivity). Ovviamente questo è un salto importante, e per vari motivi. Intanto hai comunque un "lift and replace" dell'hardware, con tante attività da fare. I costi non sono banali, ma in caso di ricambio hardware come dici tu, potrebbe ovviamente essere un'alternativa da considerare. Altro punto: non devi avere altri sistemi che debbano avere accesso alla "SAN" come ad esempio server fisici, perchè i sistemi convergenti sono pensati per erogare il loro storage unicamente a se stessi.

Se come dici la timeline per la sostituzione è 2 anni, la soluzione con gli acceleratori potrebbe essere vincente, anche perchè i problemi di prestazione li hai adesso, e ci devi convivere per altri 2 anni appunto. Spendi poco adesso, e salvi il budget per la sostituzione che dovrai fare più avanti.

Fammi sapere poi come dovesse andare con Infinio, anche scrivendomi in mail, sono molto curioso di vedere casi reali.

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
0 Kudos
Highlighted
Commander
Commander

eh la complicazione è che ho gli host e gli storage che mi scadono (come ammortamento e manutenzione) in periodi diversi... bisognerà trovare il modo di sincronizzarli.

Se riesco (è un periodo 'turbinoso') a provare gli Infinio ti faccio sicuramente sapere.

Alessandro aka Tinto | @tinto1970
0 Kudos