Una breve comparación de la arquitectura SDS o encontrar una plataforma de almacenamiento adecuada (GlusterVsCephVsVirtuozzoStorage)

Este artículo está escrito para ayudarlo a elegir la solución adecuada para usted y para comprender las diferencias entre SDS como Gluster, Ceph y Vstorage (Virtuozzo).

El texto utiliza enlaces a artículos con una divulgación más detallada de ciertos problemas, por lo que las descripciones serán lo más breves posible utilizando puntos clave sin agua innecesaria e información de fondo que puede obtener de forma independiente en Internet si lo desea.

De hecho, por supuesto, los temas cubiertos requieren tonos de texto, pero en el mundo moderno a más y más personas no les gusta leer mucho))), por lo que puede leer rápidamente y elegir, y si no está claro seguir los enlaces o las palabras incomprensibles de Google))), y este artículo como una envoltura transparente para estos temas profundos, que muestra el relleno, los principales puntos clave de cada decisión.

Brillo


Comencemos con Gluster, que es utilizado activamente por los fabricantes de plataformas hiperconvergentes con SDS basado en código abierto para entornos virtuales y se puede encontrar en el sitio web de RedHat en la sección de almacenamiento, donde se le ofrece elegir entre dos opciones de SDS: Gluster o Ceph.

Gluster consiste en una pila de traductores: servicios que hacen todo el trabajo de distribuir archivos, etc. Brick - un servicio que sirve un disco, Volumen - un volumen (grupo) - que combina estos ladrillos. Luego viene el servicio para distribuir archivos en grupos debido a la función DHT (tabla hash distribuida). No incluiremos el servicio Sharding en la descripción, ya que los enlaces a continuación describirán los problemas asociados con él.

imagen

Al grabar, todo el archivo se encuentra en el ladrillo y su copia se escribe en paralelo en el ladrillo en el segundo servidor. Además, el segundo archivo ya se escribirá en el segundo grupo de dos bloques (o más) en diferentes servidores.

Si los archivos tienen aproximadamente el mismo tamaño y el volumen constará de un solo grupo, entonces todo está bien, pero en otras condiciones, surgirán los siguientes problemas de las descripciones:

  • el lugar en los grupos no se utiliza de manera uniforme, depende del tamaño de los archivos y si no hay suficiente espacio en el grupo para escribir el archivo, obtendrá un error, el archivo no se escribirá y no se redistribuirá a otro grupo;
  • al escribir un archivo, IO va solo a un grupo, el resto está inactivo;
  • No puede obtener el IO de todo el volumen al escribir un solo archivo;
  • , , .

De la descripción oficial de la arquitectura, uno también comprende involuntariamente que Gluster funciona como almacenamiento de archivos sobre el RAID de hardware clásico. Ha habido intentos de desarrollo para fragmentar archivos en bloques, pero todo esto es un complemento que pone las pérdidas de rendimiento en un enfoque arquitectónico existente, además del uso de componentes distribuidos libremente con limitaciones de rendimiento como Fuse. No hay servicios de metadatos, lo que limita las capacidades de almacenamiento y distribución de archivos al distribuir archivos en bloques. Se puede observar un mejor rendimiento con la configuración "Replicado distribuido", y el número de nodos debe ser al menos 6 para crear una réplica confiable 3 con una distribución de carga óptima.

Estas conclusiones también están relacionadas con la descripción de la experiencia de usar Gluster y cuando se compara con Ceph , y también hay una descripción de la experiencia para comprender esta configuración "Replicada Distribuida" más productiva y más confiable .
imagen

La imagen muestra la distribución de carga cuando se graban dos archivos, donde se distribuyen copias del primer archivo en los primeros tres servidores, que se combinan en un grupo de volumen 0 y tres copias del segundo archivo caen en el segundo volumen de grupo1 de tres servidores. Cada servidor tiene un disco.

La conclusión general es que puede usar Gluster, pero con el entendimiento de que habrá limitaciones en el rendimiento y la tolerancia a fallas, lo que crea dificultades en ciertas condiciones de una solución hiperconvergente, donde también se necesitan recursos para las cargas informáticas de los entornos virtuales.

También hay algunos indicadores de rendimiento de Gluster que se pueden lograr bajo ciertas condiciones limitando la tolerancia a fallas.

Ceph


eph , . Glusterfs Ceph, Ceph , .

eph Gluster , . , , (), latency .

CRUSH, . PG — ( ) . PG , CRUSH . PG — -, . , , PG . OSD – .





. -. - , . , , - - ( ). , -, — , . .

- , , . . , – ( , ). – , . - , ( ), , , Ceph PG self-healing . , Ceph ( ), , .

-, . Ceph Gluster . – , linux, , , .

Vstorage


Virtuozzo storage(Vstorage), , , , . , .

kvm-qemu, , : FUSE(, open source), MDS (Metadata service), Chunk service, . , SSD, (erase coding raid6) all flash. EC(erase coding) : . eph EC , , Virtuozzo Storage “log-structured file system”, . EC , . – , .

, , , .
eph Virtuozzo storage.



Gluster Ceph , , Virtuozzo . Vstorage .

, , .

: ( FUSE), (MDS) ( CS), MDS , . . , 256.



, - , 256. , .… SSD , ( ), SSD, SSD, HDD, . SSD . , SSD , Latency , SSD, . , IOPS Vstorage , , , , ..

SSD, , , HDD. (MDS) , Paxos. FUSE, , , .

, , , . . SDS, fuse fast path Virtuozzo Storage. fuse open source , IOPS- . , eph Gluster.

: Virtuozzo Storage, Ceph Gluster.

, Virtuozzo Storage: , Fuse fast path, , compute(/), , . Ceph, Gluster, , .

Los planes incluyen el deseo de escribir una comparación entre vSAN, Space Direct Storage, Vstorage y Nutanix Storage, probando Vstorage en HPE, equipos Huawei, así como escenarios de integración de Vstorage con sistemas de almacenamiento de hardware externo, por lo que si le gustó el artículo, sería bueno recibir comentarios de usted , lo que podría aumentar la motivación para nuevos artículos en función de sus comentarios y sugerencias.

Source: https://habr.com/ru/post/undefined/


All Articles