Durante questo weekend ho realizzato una mini-struttura ridondata per un cliente.
L’idea di base era di ridurre al minimo la spesa per l’hardware, e sfruttare ESXi free come sistema operativo, dato il budget ridotto.
Abbiamo acquistato due server Dell 1950, carrozzati con due processori Intel E5420 quad-core e 24 Gb di ram. Come c’era da attendersi ESXi si è installato nei soliti 10 minuti scarsi senza il minimo problema. Ho abilitato quindi ssh su entrambe le macchine e mi sono connesso via VI client per effettuare la loro configurazione di base.
Per avere una struttura minimamente ridondata, avevo proposto di prendere una Terastation 4TB iscsi. Si tratta di uno storage di rete veramente economico (circa 1400 euro) che ci avrebbe permesso di avere uno storage di 2TB su iscsi, visibile da entrambi i server. Non avremmo avuto Vmotion o HA, ma almeno il fermo di un server sarebbe stato facilmente risolvibile accendendo le virtual machine sull’altro server.
Per interconnettere il tutto, è stato preso uno switch Netgear GS108T; è un piccolo modello 8 porte gigabit non gestito, ma ha due caratteristiche ottime: costa pochissimo (circa 140 euro) e soprattutto supporta i Jumbo Frames necessari a sfruttare a pieno il protocollo iSCSI. Le due schede di rete Broadcom Gigabit dei Dell sono state infine connesse secondo questo schema:
Le schede di rete vmnic0 sono state invece collegate alla rete dati esistente. Non c’è ridondanza di connessione, ma visto il budget risicato l’obiettivo era tenere iSCSI su una sua rete dedicata, come si vede dallo schema.
Bene. Sono passato quindi alla configurazione della terastation. Dopo un primo accesso sull’ip di default per prima cosa ho messo l’ip 192.168.10.201 sull’unica scheda di rete posseduta. Da qua sono passato al menu Disk Management e nel Raid Setup ho creato un unica struttura in raid10 di 1.8 Tb (come sempre le dimensioni reali sono più piccole del nominale, ma in ogni caso 2 Tb sarebbe stato il limite di una singola LUN vmware). Ho poi disattivato l’automatic shutdown in seguito a failure, per evitare ovviamente che una rottura disco facesse crollare l’intero sistema vmware. Ecco il riepilogo della configurazione:
In base a quello che avevo intuito dallo scarno manuale e da alcuni post su internet, questo era tutto quanto fosse necessario per preparare la terastation. Ho proceduto quindi ad attivare iSCSI tramite il pulsante nel menu via web; infatti quando iscsi è accesso non è possibile modificare nessun parametro, e questi vanno pertanto configurati interamente prima di abilitare iscsi.
Mi sono collegato a uno dei server esxi e nel pannello storage adapters ho impostato come sempre iscsi: abilitato il protocollo, editato l’identifier, e nel menu dynamic discovery ho impostato come target 192.168.10.201, ovvero la terastation. Aihme, da qua sono iniziati i problemi: la scansione mi dava sempre 0 targets, sia sul nodo 1 che sul nodo 2. Ho guardato il log della terastation e mi dava degli errori strani:
ietd: unable to create server socket (Address family not supported by protocol) 10 1 6!
ietd: connection closed
last message repeated 2 timesn
ietd: connection closed
Come sempre facciamo, ho messo questi testi in google, e mi sono ritrovato in breve sul forum di vmware. Ho trovato altra gente che aveva progettato la mia stessa struttura, ma molte di queste persone non ne erano mai venute a capo, rinunciando al progetto….. bella fregatura. E adesso cosa dico al cliente? Che gli ho fatto comprare inutilmente quel bello scatolotto nero? E soprattutto: entro domenica sera i due server fisici devono essere migrati in virtuale, come faccio?
Ho letto in uno dei post che uno era riuscito abilitando LVM e creando delle partizioni inferiori a 2 Tb. Avevo inteso e non solo io che le partizioni della Terastation erano per la condivisione nfs, come fanno molte appliance di questo tipo. Leggendo il manuale si notava come il loro programmino per windows infatti connettesse direttamente il disco non formattato a un sistema windows e configurasse iscsi.
Dopo varie ore di prove varie, tra cui: abilitare o meno chap (nella terastation questa cosa è ancora più criptica, e viene indicata come Access Rights, ma usare i nomi standard dei protocolli no??), installare iscsi su un pc windows xp per vedere di connettersi (niente da fare…), installare su uno dei due nodi ESX trial per capire se era la versone che stavo usando a non essere supportata…; ero un attimo disperato quando alla fine il lampo! Ma vuoi vedere che i volumi LVM di cui si parla sono in realtà le LUN iscsi???
Detto fatto, non abilito LVM dato che ci serviva una sola LUN, ma creo un volume unico sul RAID Array da 1847 Gb, non metto nessuna protezione chap ne filtering IP, riaccendo iscsi, vado su un esxi e lancio il rescan e…. ecco il volume iscsi!!!
Da qua in poi tutto è andato liscio, i due nodi vedevano entrambi il volume della terastation e ho ultimato il lavoro “quasi” nei tempi previsti (pensavo di doverci mettere poche ore di domenica, invece sono stato tutto il weekend sul progetto…)
Morale della storia:
se volete costruire una struttura iscsi a basso costo, la terastation iscsi funziona e molto bene, le performance non sono malvagie per il costo che ha, solo tenete a mente che usa dei termini completamente senza senso per la configurazione. Se volete avere più LUN, dovrete attivare un raid sui dischi, meglio in versione 10, su questo raid creare un volume LVM, e dentro ad lvm i vari volumi, che corrisponderanno poi alle LUN visibili via rete.
Avrete anche la possibilità di proteggere le lun sia tramite chap che tramite masking, sfruttando quello che la terastation chiama access rights e filtering IP.