SAS balancing vs Balanceamento de rede

4

Desejo configurar o servidor de arquivos no ambiente do MS Windows Server 2012 R2, o que carregará o tráfego do saldo .

Eu tenho um array de disco SAS com 2 controladores SAS conectados a 2 nós de cluster do Hyper-V por 4 multipaths SAS redundantes:

controller1 < - > node1, controller1 < - > node2 ,

controller2 < - > node1, controller2 < - > node2 .

Eu não sei se o balanceamento de carga do SAS seria perceptível se eu NÃO equilibrasse a rede, o que significa que apenas um servidor na rede lidaria com todas as solicitações de E / S de arquivo. A rede de balanceamento parece ser complicada, porque não quero ter 2 servidores de arquivos com cópia idêntica de dados (a redundância é garantida no nível de RAID da matriz de disco). O que eu quero é um grupo de dados divididos em dois escopos não contíguos, cada um no servidor de arquivos separado (cada servidor virtual em um nó do cluster), que atuar como um único servidor ou compartilhamento SMB.

O usuário não deve saber quais dados estão no servidor A ou B, o caminho SMB deve ser algo como \domain.com\home\username ou \domain.com\share\department e casas ou departamentos devem ser distribuídos em dois servidores (por exemplo, aqueles que começam com "AP" no primeiro e o resto no segundo).

Eu tenho um switch central de rede e cada nó do cluster tem um link agregado de 5 GB / s. O resto da rede está conectado a este switch (cada switch de acesso é conectado por um link de 2 GB / s, os clientes são conectados por um link de 1 GB / s).

Minhas perguntas são:

  • Se eu não fizer o balanceamento de carga de rede e manter o balanceamento de carga do SAS, o balanceamento de carga do SAS será perceptível ou não?
  • Existe alguma técnica de clustering de balanceamento de carga de rede pela qual eu alcançaria os resultados mencionados?
  • Eu sei que há muitos fatores que dependem de uma situação específica (como número máximo de conexões simultâneas ou frequência de conexões separadas, possivelmente curtas; se as operações de leitura são dominantes, etc. etc.), mas há alguma melhores práticas gerais eu deveria respeitar?
  • A maneira mais fácil (e possivelmente a melhor) não é balancear nada e ter gerenciamento simples?

EDITAR:

Muito obrigado! Na verdade, o DFS foi um dos primeiros a pensar que procurei, mas acabei com um resultado que o que eu quero é impossível com o DFS.

Depois de jogar por algum tempo, tenho a seguinte configração:

Um espaço para nome DFS HOME, ambos os servidores de arquivos adicionados a ele como servidores de espaço para nome, portanto, em cada um deles há um compartilhamento chamado "home" fisicamente em "C: \ DFSRoots \ home". Em cada servidor também tem uma pasta compartilhada básica oculta chamada "home $", fisicamente colocada na matriz de disco. Na parte oculta do primeiro servidor, vejo uma metade dos HOME no outro, o resto das HOME. No compartilhamento DFS inicial (de ambos os servidores), vejo apenas links (distribuídos para compartilhamentos ocultos), mas para todas as HOMEs.

Quando um cliente conecta a raiz (\ domain.com \ root), um dos servidores de espaço para nome DFS responde a um cliente. Na minha situação, é sempre o mesmo servidor, porque eu tenho apenas um site. Mas isso não importa, porque apenas lista o conteúdo de uma raiz DFS. Quando o cliente navega para um dos links listados, o DFS estabelece a conexão com o destino da pasta oculta, que é um dos servidores, portanto, o balanceamento de carga é realizado.

Esta configuração está correta, ideal?

E a última pergunta é: Quanto mais rápido o SAS é geralmente comparado à LAN (por exemplo, 5GB / s agregado pelo LACP)?

    
por Ondra Hrubý 16.04.2015 / 00:54

1 resposta

2

Você deve realmente olhar para o Microsoft DFS para fazer o que está falando.

Ele fornece uma maneira de abstrair a localização física dos dados, reunindo tudo em um só lugar.

Então, por exemplo, você teria:

  1. 2 nós de cluster (FSCL1, FSCL2)
  2. 2 serviços de arquivos em cluster (FS1, FS2), em execução nos nós acima
  3. 2 namespaces DFS baseados em domínio (HOMES, SHARES), hospedados nos nós anteriores

Cada serviço de arquivo pode ter qualquer número de compartilhamentos desejado e você simplesmente criaria links no DFS para eles, conforme necessário.

Veja como é a configuração onde eu trabalho. Isso pode não ser a melhor coisa de todas, mas é muito funcional para nós.

Nossos namespaces são hospedados em servidores dedicados, mas isso não é realmente um requisito. Significa apenas que não temos colisões de nomes entre compartilhamentos DFS e compartilhamentos de destino.

Em nossos servidores de arquivos (FS1, FS2, etc ...) usamos pontos de montagem para volumes de dados, porque senão rodamos letras (~ 28 volumes de dados, ~ 7 raízes de ponto de montagem, volumes de utilitários e quorum ). Vamos apenas dizer que para o FS1, com 2 volumes de dados, teríamos algo assim:

Discos
Raiz do ponto de montagem: volume de 2 GB considerado como X:\
Volume de dados 1: 2 TB, montado como X:\FS1_VOL1
Volume de dados 2: 2 TB, montado como X:\FS1_VOL2

Compartilhamentos
Em cada volume de dados, há uma pasta "base" para todos os compartilhamentos, seja grupo ou usuário.
Para compartilhamentos de grupo: X:\FS1_VOL1\FS1_V1_SHARE e X:\FS1_V2_VOL2\FS1_V2_SHARE
Para compartilhamentos de usuários: X:\FS1_VOL1\FS1_V1_HOME e X:\FS1_V2_VOL2\FS1_V2_HOME

Estes são então compartilhados, para criar esses 4 compartilhamentos:

\FS1.example.com\FS1_V1_SHARE$
\FS1.example.com\FS1_V2_SHARE$
\FS1.example.com\FS1_V1_HOME$
\FS1.example.com\FS1_V2_HOME$

Dentro desses compartilhamentos, existiria qualquer número de pastas de usuários ou grupos, conforme necessário.

\FS1.example.com\FS1_V1_SHARE$\HR
\FS1.example.com\FS1_V2_SHARE$\Engineering
\FS1.example.com\FS1_V1_SHARE$\Finance
\FS1.example.com\FS1_V2_SHARE$\ITOPS

\FS1.example.com\FS1_V1_HOME$\John.Public
\FS1.example.com\FS1_V2_HOME$\Barak.Obama
\FS1.example.com\FS1_V1_HOME$\Stephen.Harper
\FS1.example.com\FS1_V2_HOME$\Paul.Smith

DFS
É aqui que toda a "mágica" do balanceamento de carga acontece.

Se você tiver MUITOS compartilhamentos / usuários, você gostaria de criar uma estrutura de pastas no namespace. Acabamos de criar 26 pastas de nível superior, A-Z.

No namespace SHARE , você criaria links para seus compartilhamentos assim:

\example.com\SHARE\H\HR           =>  \FS1.example.com\FS1_V1_SHARE$\HR
\example.com\SHARE\E\Engineering  =>  \FS1.example.com\FS1_V2_SHARE$\Engineering
\example.com\SHARE\F\Finance      =>  \FS1.example.com\FS1_V1_SHARE$\Finance
\example.com\SHARE\I\ITOPS        =>  \FS1.example.com\FS1_V2_SHARE$\ITOPS

E o namespace HOME ficaria assim:

\example.com\HOME\P\John.Public    =>  \FS1.example.com\FS1_V1_HOME$\John.Public
\example.com\HOME\O\Barak.Obama    =>  \FS1.example.com\FS1_V2_HOME$\Barak.Obama
\example.com\HOME\H\Stephen.Harper =>  \FS1.example.com\FS1_V1_HOME$\Stephen.Harper
\example.com\HOME\S\Paul.Smith     =>  \FS1.example.com\FS1_V2_HOME$\Paul.Smith

Quando um cliente navega para o namespace, você está certo, ele é colocado em um dos servidores raiz do namespace. Um determinado cliente nem sempre terminará com o mesmo, mas ele armazenará em cache por um determinado período de tempo, durante o qual todas as operações acontecem no mesmo sistema. A duração do cache é configurável no snap-in do DFS. Em nosso ambiente, vemos uma distribuição muito suave entre os servidores raiz.

Essa é a essência disso.

Isso significa que você precisa criar links DFS para cada compartilhamento / usuário , mas também oferece infinita flexibilidade em onde seus dados residem, enquanto faz com que tudo pareça estar no mesmo lugar.

    
por 16.04.2015 / 02:21