Sugerencia de creación de volumen GlusterFS

Sugerencia de creación de volumen GlusterFS

Tengo que implementar varios clústeres de Openshift de 3 a 10 nodos. Para 3 nodos, estoy creando volúmenes replicados.

Pero para 4 y superiores no parece agradable crear un volumen replicado, por lo que cada nodo tiene un disco de 300 GB y replicarlo en 10 nodos no es óptimo. Estoy buscando una fórmula para usar como

For 4 nodes create volume as disperse:2:1
For 5 nodes create volume as disperse:?:?
For 6 nodes create volume as disperse:?:?
For 7 nodes create volume as disperse:?:?
For 8 nodes create volume as disperse:?:?
For 9 nodes create volume as disperse:?:?
For 10 nodes create volume as disperse:?:?

Ambiente: Usaré estos volúmenes para MYSQL 5.7.28 y cada servidor tiene un disco de 300 GB. De 300 GB crearé un volumen con un tamaño de 250 GB para MYSQL.

OpenShift 3.11 version

# gluster --version
glusterfs 6.1

PD: no tengo antecedentes de almacenamiento, así que disculpe si me falta algún punto obvio. Intenté buscar en Google pero no pude extraer la información requerida.

Respuesta1

¿Está planeando utilizar todos los nodos como nodos de almacenamiento o solo un subconjunto de nodos como nodos de almacenamiento? Según su pregunta, MySQL usa 250 GiB, ¿qué otras aplicaciones necesitan almacenamiento?

Volumen replicado: el espacio de almacenamiento efectivo disponible será

volume_size = sum of storage available from three nodes / 3

En su caso, el tamaño del volumen será de 300 GiB utilizando tres nodos de almacenamiento.

Volumen disperso: el espacio de almacenamiento efectivo disponible será

volume_size = storage in single node * (number of bricks - redundancy count)

En su caso, el tamaño del volumen será 300 * (3-1) = 600GiB. Más detalles están disponibles aquí.https://docs.gluster.org/en/v3/Administrator%20Guide/Setting%20Up%20Volumes/#creating-dispersed-volumes Los volúmenes dispersos son buenos para fines de archivo, ya que pueden ahorrar espacio en comparación con los volúmenes réplica. Pero puede ser lento en comparación con Replica debido al cálculo involucrado durante cada IO.

Kadalu(https://kadalu.io) proporciona un enfoque diferente para el aprovisionamiento de volúmenes en Kubernetes. Crea un único volumen Gluster a partir del almacenamiento y proporciona subvolúmenes a partir de ese volumen cuando se solicita PV (en su caso, almacenamiento para Mysql).

Kadalu actualmente admite los volúmenes Réplica 1 y Réplica 3. La réplica 1 es útil cuando el dispositivo de almacenamiento se reclama a otros proveedores de almacenamiento, por ejemplo, AWS/Azure. La Réplica 3 proporciona una alta disponibilidad de almacenamiento para aplicaciones incluso aunque uno de cada tres nodos se caiga. La reciente publicación del blog (https://kadalu.io/blog/kadalu-kubernetes-storage) explica las múltiples configuraciones disponibles con Kadalu y su uso con el almacenamiento existente.

Kadalu usa GlusterFS y se integra con Kubernetes de forma nativa, sin usar el demonio de administración de Gluster: glusterd.

Actualizar: Cálculos agregados para el volumen disperso

number of disperse bricks = data bricks + redundancy count

Si hay 3 dispositivos de almacenamiento disponibles,

2 data bricks + 1 redundancy bricks

En el caso de 6 dispositivos de almacenamiento,

4 data bricks + 2 redundancy bricks

Si aumenta el número de bloques de redundancia, se reducirá el tamaño del volumen utilizable. El volumen estará disponible para las aplicaciones aunque disminuya el número de bloques equivalentes a bloques de redundancia. Por ejemplo, en 4+2la configuración, el Volumen estará disponible aunque se caigan 2 ladrillos de 6.

información relacionada