Sugestão de criação de volume GlusterFS

Sugestão de criação de volume GlusterFS

Tenho que implantar vários clusters Openshift de 3 a 10 nós. Para 3 nós, estou criando volumes replicados.

Mas para 4 e superiores não parece bom criar um volume replicado, então cada nó tem 300 GB de disco e replicá-lo para 10 nós não é o ideal. Estou procurando uma 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: Usarei esses volumes para MYSQL 5.7.28 e cada servidor possui disco de 300 GB. De 300 GB criarei um volume com tamanho de 250 GB para MYSQL.

OpenShift 3.11 version

# gluster --version
glusterfs 6.1

PS: não tenho histórico de armazenamento, então desculpe se estou perdendo algum ponto óbvio. Tentei pesquisar no Google, mas não consegui extrair as informações necessárias.

Responder1

Você está planejando usar todos os nós como nós de armazenamento ou apenas um subconjunto dos nós como nós de armazenamento? Com base na sua pergunta, o MySQL usa 250GiB, quais outros aplicativos precisam de armazenamento?

Replicar Volume: O espaço de armazenamento efetivo disponível será

volume_size = sum of storage available from three nodes / 3

No seu caso, o tamanho do volume será de 300 GiB usando três nós de armazenamento.

Volume Disperso: O espaço de armazenamento efetivo disponível será

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

No seu caso, o tamanho do volume será 300 * (3-1) = 600GiB. Mais detalhes estão disponíveis aquihttps://docs.gluster.org/en/v3/Administrator%20Guide/Setting%20Up%20Volumes/#creating-dispersed-volumes Os volumes dispersos são bons para fins de arquivamento, pois podem economizar espaço em comparação com os volumes de réplica. Mas pode ser lento em comparação com a réplica devido à computação envolvida durante cada IO.

Kadalu(https://kadalu.io) fornece uma abordagem diferente para provisionar volumes no Kubernetes. Ele cria um único volume Gluster a partir do armazenamento e fornece subvolumes desse volume quando o PV é solicitado (no seu caso, armazenamento para Mysql).

Kadalu atualmente oferece suporte aos volumes Réplica 1 e Réplica 3. A réplica 1 é útil quando o dispositivo de armazenamento é solicitado por outros provedores de armazenamento, por exemplo, AWS/Azure. A Réplica 3 fornece alta disponibilidade de armazenamento para aplicativos, mesmo que um em cada três nós fique inativo. A postagem recente do blog (https://kadalu.io/blog/kadalu-kubernetes-storage) explica várias configurações disponíveis com Kadalu e seu uso com o armazenamento existente.

Kadalu usa GlusterFS e integrado com Kubernetes nativamente, sem usar o daemon de gerenciamento Gluster - glusterd.

Atualizar: Adicionados cálculos para Volume Disperso

number of disperse bricks = data bricks + redundancy count

Se 3 dispositivos de armazenamento estiverem disponíveis,

2 data bricks + 1 redundancy bricks

No caso de 6 dispositivos de armazenamento,

4 data bricks + 2 redundancy bricks

Se o número de blocos de redundância aumentar, o tamanho do volume utilizável será reduzido. O volume estará disponível para aplicações mesmo que o número de tijolos equivalentes a tijolos de redundância diminua. Por exemplo, na 4+2configuração, o Volume estará disponível mesmo que 2 blocos em 6 caiam.

informação relacionada