Una de les principals diferències de clouding és el nostre sistema de triple rèplica per a l'emmagatzematge de les teves servidors.
En la majoria de proveïdors, les dades s'emmagatzemen de forma local en el propi Hypervisor. És a dir, l'Hypervisor (equip físic o host) té la RAM, CPU i Disc dels servidors Cloud que allotja.
Per contra en Clouding emmagatzemem els discos dels servidors Cloud en un clúster d'emmagatzematge distribuït.
Cada vegada que un Servidor Cloud escriu en disc, les dades s'escriuen simultàniament en 3 discs diferents, cadascun d'ells allotjat en una cabina d'emmagatzematge diferent. D'aquesta manera el disc del teu servidor no està vinculat a cap servidor físic, sinó que està distribuït en múltiples cabines.
Això té múltiples avantatges i alguna petita desavantatge.
Avantatges
Recuperació ràpida de fallades de software
En el cas d'un problema de hardware en un Hypervisor, podem arrencar els servidors allotjats en aquest hypervisor en altres hypervisores en tot just uns segons. Si les dades estiguessin en els discos locals de l'hypervisor, caldria canviar primer el maquinari malmès, abans de poder accedir als discos dels servidors i recuperar-los.
Gran tolerància a fallades
En cas d'utilitzar discos locals, normalment s'opta per RAID 5 -en el qual només pot fallar un disc- o RAID 6 -on poden fallar 2 discos- o RAID 10 -de manera que puguin fallar entre 1 i la meitat de discos, depèn de quins fallin. En cas de fallar més discos, es produeix una pèrdua total de dades.
En el cas de clouding, haurien de fallar 3 discos exactament a el mateix temps, en 3 cabines diferents, per produir-se una pèrdua de dades. La cosa seria parcial -i fàcilment recuperable des del sistema de Disaster Recovery- ja que les dades del teu servidor s'emmagatzemen en blocs de 4 MB, distribuint cada bloc en un disc diferent. És a dir, les dades no estan només en 3 discos específics, sinó distribuïts entre els centenars de discos que componen el nostre emmagatzematge.
Recuperació ràpida de rèpliques
En un RAID local normal, quan un disc falla, cal reemplaçar-físicament perquè les dades es tornin a replicar a aquest disc. Això implica que solen passar bastants hores des que es detecta la sentència, fins que es canvia el disc i comença la replicació. A més, les dades podran replicar-com a molt, a la màxima velocitat del disc reemplaçat, el que augmenta el temps total de recuperació.
El nostre emmagatzematge distribuït funciona de forma molt diferent. Quan un disc falla, les rèpliques emmagatzemades en aquest disc, es comencen a replicar immediatament per tots els altres discos de sistema d'emmagatzematge distribuït.
A l'utilitzar només discs en estat sòlid, disposar de diversos centenars de disc i tenir cabines capaços de transmetre a velocitats de fins a 160gbps, la rèplica no només es comença a fer a l'acte, sinó que a més es completa en molt poc temps, ja que es realitza a una velocitat de desenes de Gbps utilitzant totes les rèpliques existents -que es troben distribuïdes per 2/3 dels discos- per generar una altra rèplica en el terç de discos restant.
Això fa, que el temps de recuperació des que es perd una rèplica fins que hi ha una altra disponible, sigui de pocs minuts, davant de les hores que sol trigar amb un sistema RAID normal.
Integritat de dades
Un RAID normal -encara utilitzant sistemes com PatrolRead- o sólo verifica les dades puntualment i de forma superficial. És a dir, no examina les dades en si mateixos, sinó que simplement verifica que tots els sectors del disc siguin llegibles.
El sistema d'emmagatzematge que utilitzem en clouding té un comportament molt diferent.
Cada vegada que una dada s'escriu, es genera un CRC bàsic d'aquesta dada i s'emmagatzema. D'aquesta manera cada vegada que la dada sigui llegit en el futur, es podrà tornar a calcular el CRC de el mateix i comparar-lo amb l'emmagatzematge. En el cas que el CRC no quadri, el sistema descartarà aquesta rèplica i utilitzarà una altra rèplica on el valor CRC coincideixi amb les dades emmagatzemades.
Addicionalment, es realitza una comparació dels CRC de totes les rèpliques cada dia, per assegurar la consistència de les dades.
I com a última barrera infal·lible de protecció, es realitza una comprovació bit a bit setmanalment, on es compara el contingut íntegre de cada rèplica contra les dues altres rèpliques existents. En el cas que una rèplica contingui dades diferents de les altres dues, s'utilitzaran les 2 rèpliques restants coincidents per sobreescriure les dades de la rèplica no coincident. A més, es genera un error, perquè els nostres tècnics revisin la sentència a la recerca de possibles problemes en el disc afectat.
Això assegura, que les dades sempre es mantinguin sense cap tipus de corrupció.
Aquestes accions es realitzen tant en les cabines que emmagatzemen els discos dels servidors Cloud, com en les cabines independents que emmagatzemen els backups o els snapshots.
Snapshots i Clonat instantanis
Per fer un Snapshot d'un servidor en un RAID local, haurem de copiar totes les dades a un emmagatzematge extern, des del qual puguem després descarregar aquestes dades per restaurar aquest snapshot en un altre servidor. Totes aquestes transmissions de dades, especialment amb volums de certa grandària, poden comportar esperes bastant llargues cada vegada que realitzem operacions d'aquest tipus,
En Clouding, a l'disposar d'un emmagatzematge centralitzat, no necessitem copiar dades. Simplement vam indicar al nostre sistema d'emmagatzematge que creï una instància nova d'un disc ja existent. El sistema d'emmagatzematge distribuït és capaç de realitzar aquesta acció de forma totalment transparent i sense cap espera per a l'usuari.
Per tant, en clouding és possible crear un servidor des d'un snapshot o clonar un servidor en segons, ja que no hem de fer còpies de grans volums de dades.
Backups independents
En un sistema de RAID local, per a realitzar un backup cal que el hypervisor -o els servidors Cloud- enviïn el Backup a la destinació. Això pot provocar problemes de rendiment o de configuració.
Per contra, en clouding podem llegir directament de el sistema d'emmagatzematge distribuït per realitzar les còpies de seguretat, assegurant així que no afecta el rendiment dels hypervisores, ja que llegim de centenars de discos, la qual cosa fa que el procés de backup no afecti el rendiment .
D'altra banda, el sistema de backups és totalment independent dels hypervisores o els servidors cloud, de manera que sempre es realitza sigui quin sigui l'estat dels mateixos.
Desavantatges
Costos
Una important desavantatge d'aquest sistema, és el cost, ja que hem de disposar de 3 vegades l'emmagatzematge contractat pels nostres clients. Això sumat a només utilitzar discos d'estat sòlid de grau Datacenter augmenta de forma important els costos.
Les cabines d'emmagatzematge són equips de molt altes prestacions, amb processadors amb gran nombre de cores i freqüències molt altes, així com gran quantitat de RAM per realitzar cau.
També és necessari disposar d'una xarxa d'alt rendiment i baixa latència, per assegurar que l'impacte d'aquest sistema en el rendiment és mínim. Per això en clouding utilitzem switches 40G CISCO amb latències de pocs microsegons per salt.
Rendiment
Evidentment tota la capa d'abstracció i la separació dels nodes de procés dels d'emmagatzematge afecta el rendiment lleugerament.
L'equip de Clouding ha treballat i segueix treballant contínuament per reduir a el màxim aquestes diferències de rendiment i en l'actualitat aconseguim temps d'accés i taxes de transferència suficients per a aplicacions d'accés a disc intensiu.
Les taxes de transferència són molt similars a un disc d'estat sòlid local i les taxes de temps d'accés es mantenen per sota d'1 mil·lisegon, amb un temps de acesso de habitualment 500 a 700 microsegons.