Cloud Storage amb triple rèplica

Descripció

A DIMENSIS fem servir un sistema de triple rèplica per a l’emmagatzematge dels servidors, VPS, CLOUD.

A 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 a Dimensis emmagatzemem els discos dels servidors Cloud en un clúster d’emmagatzematge distribuït.

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.

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 hypervisors 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 Dimensis, haurien de fallar 3 discos exactament al mateix temps, a 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-lo 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 només es 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 a Dimensis 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

Un snapshot és una imatge de tot el disc del teu servidor. Es tracta d’una instantània, presa en una data i moment concrets i que tens sempre disponible per a tu. Es crea en uns segons i és manual, és a dir, no es renova de forma automàtica (com els Backups).

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,

A Dimensis, com que disposem 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, a Dimensis é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

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, a Dimensis 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 hypervisors, 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 hypervisors o els servidors cloud, de manera que sempre es realitza sigui quin sigui l’estat dels mateixos.

Quines dades es copien?

La còpia de seguretat es realitza a baix nivell, llegint a nivell de bloc des del nostre sistema d’emmagatzematge distribuït d’alt rendiment el disc complet de la teva Servidor Cloud. És a dir, no es guarden només alguns fitxers o dades, sinó que es guarda el disc complet, incloent absolutament totes les dades, configuracions, permisos, etc. que puguis tenir configurats.