Sistema de arquivos distribuídos (por exemplo, glusterfs) sem replicação

4

Eu tenho um servidor de controlador e dois 24 arrays de servidores de arquivos SAS. Cada matriz do servidor de arquivos é configurada como um pool do ZFS com 4 RAIDZ2 vdevs com 6 unidades cada.

Por fim, quero poder usar o servidor do controlador como um único ponto de montagem para os dois servidores de arquivos. A ideia principal é que meus usuários finais só tenham que acessar o servidor de um controlador e um ponto de montagem para acessar / fazer backup de seus dados através da capacidade de armazenamento combinada de dois servidores. Eu estava pensando em usar o glusterfs para isso, mas as informações que consegui encontrar até agora parecem ser para geração de pools de armazenamento redundantes. Neste aplicativo, o gluster está sendo usado como um espelho RAID1 distribuído, o que não se encaixa na minha necessidade, pois criaria outro nível de redundância desnecessária.

Como você sugeriria que eu criasse um sistema de arquivos distribuído não redundante dos dois pools do ZFS hospedados em computadores separados? Existe uma maneira de conseguir isso com gluster, ou se há um NFS diferente que seja mais adequado para isso? Eu também considerei o samba, mas não tenho certeza se ele será seguro o suficiente. Eu realmente gostei da perspectiva de ter apenas ssh hospedado publicamente no controlador com autenticação 2FA rígida.

    
por kjskjk kjdksjk 04.03.2017 / 00:52

1 resposta

3

Você precisará escolher se deseja um volume distribuído ou distribuído.

Volumes distribuídos são simples e irão separar quaisquer arquivos gravados em cada nó da forma mais balanceada possível. Ele não faz nada para os arquivos e você verá arquivos intactos no "brick" do ZFS. Volumes distribuídos irão cortar seus arquivos e distribuí-los entre nós como partes. Essa é uma configuração desejável se seu conteúdo for quase exclusivamente arquivos grandes (como vídeos, imagens de disco e backups).

Você está quase no nariz até agora, já que o comando para criar um volume tão distribuído é tão simples quanto você afirmou:

gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

Enquanto um volume distribuído é criado desta forma:

gluster volume create test-volume stripe 4 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

No entanto, quatro faixas podem causar muita sobrecarga ao pegar um arquivo. Um só faria isso se eles estivessem trabalhando com arquivos realmente enormes. Para um bom compromisso que ainda funcionará para imagens de disco grandes e semelhantes, sugiro um volume distribuído distribuído:

gluster volume create test-volume stripe 2 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

Este volume vai se dividir em dois nós e distribuir conjuntos distribuídos em outros dois nós.

    
por 04.03.2017 / 01:44