Salve,
ho visto che quasi tutti i fornitori quando si parla di sistemi in alta
affidabilità
puntano su configurazioni con due o più server, con la possibilità di virtualizzare e uno
storage condiviso s cui tenere i dati.
In quest'ottica sto provando la soluzione proposta da Citrix (Xen).
Mi sono però posto questa domanda:
se mi si guasta lo storage ho tutto fermo.
Ovviamente con l'hardware disponibile oggi basta ridondare dischi, alimentatori, ecc... ma si
resta su un single point of failure.
Mi è venuto lo schiribizzo di provare ad usare due storage e qui nascono le
domande.
Quale configurazione conviene utilizzare? Mettere i due storage in linea e fare in modo di avere
copie dei dati aggiornati il più frequentemente possibile su entrambi. In caso di guasto di uno
riparto dall'altro, ma non ottengo l'alata affidabilità.
Ho provato allora ad usare due storage sincronizzati fra loro mediante drbd e poi ho usato
heartbeat come meccanismo di automatismo.
I due storage su cui è installata una debian 5.0.4 usano i seguenti strati di
software.
RAID5 sofware (mdadm)
DRBD
Heartbeat
Per collegarli ai due server Xen Citrix ho usato due schede di rete in bonding
e l'iscsi.
Tutti i collegamenti di rete fra i 4 sistemi sono realizzati con schede a 1Gbs o collegate
direttamente (fra i due storage per la sincronizzazione) o mediante due switch appositamente
dedicati a questi collegamenti.
Tutto il sistema sta in piedi e funziona, compreso lo switch a caldo degli
storage.
Avendo usato iscsi durante lo switch ho alcuni secondi di blocco sull'I/O, poi
tutto prosegue.
Il problema è che tale configurazione non regge il carico, cioè appena aggiungo VM sui server
XEN le prestazioni dell'I/O scendono rapidamente fino a divenire intollerabili.
Ho provato modificando vari parametri legati alle performance sia di iscsi che di drbd, ma il
problema rimane.
Interrogando dai sistemi XEN gli storage con il comando iostat -d -k -x
noto che %util è praticamente costantemente al 100% e l'await time supera comodamente il secondo
arrivando nei picchi vicino a 3 secondi. Le connessioni di rete invece non sembrano mai superare
il 10/15%.
In pratica localmente sugli storage riesco a scrivere sul dispositivo /dev/mdx tranquillamente a
50MBs, velocità che scende a 30Mbs se metto drbd sopra il raid software.
Ho provato a lanciare 10 processi in parallelo su uno storage e la velocità media di write è
scesa a 3MBs e mi sembra corretto.
Purtroppo le macchine XEN riescono a scrivere solo a velocità molto più basse
inferiori ai 500KBs.
Secondo voi è una configurazione realmente che non funziona o qualcuno l'ha già provata ed è
riuscito ad impostare i giusti parametri?
--
ing. Andrea Gelpi
***************************************************
La Terra non la abbiamo ereditata dai nostri avi,
ma la abbiamo presa in prestito dai nostri bambini.
***************************************************
We do not inherit the Earth from our parents,
but borrow it from our children.
***************************************************
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List