Gangorra

Instalar e configurar o balanceador de carga do gangorra

Instalar e configurar o balanceador de carga do gangorra
Nesta era de multiprogramação, existem vários processos em execução simultaneamente e muito esforço é colocado para aumentar o rendimento e a eficiência do trabalho. Os servidores precisam lidar com muita carga de trabalho e às vezes é muito difícil gerenciar o tráfego. Assim, existem balanceadores de carga para distribuir os vários recursos de computação para a utilização ideal de recursos, aumentar o rendimento e o tempo de resposta. O que os balanceadores de carga fazem é distribuir a carga de tráfego em várias redes ou hosts em cluster para aumentar a disponibilidade, confiabilidade e desempenho da rede. As solicitações de entrada são atribuídas a um IP virtual, também conhecido como VIP no próprio balanceador de carga e, em seguida, o balanceador de carga passa as solicitações para o servidor apropriado por trás dele, com o mínimo de modificação nos pacotes.  O servidor, então, responde ao balanceador de carga com os dados necessários que são finalmente enviados ao site do cliente pelo balanceador de carga.

Tipos de balanceamento de carga

Existem dois tipos de plataformas de balanceamento de carga - HAProxy e Linux Virtual Server, também conhecido como LVS, e o Seesaw v2 é uma plataforma de balanceamento de carga baseada em servidor virtual Linux.

O Seesaw é uma ferramenta muito flexível que pode ser utilizada como um balanceador de carga básico para sites de pequeno e médio porte até um balanceador de carga avançado para redes de nível corporativo onde uma dúzia de servidores estão interconectados. Ele suporta alguns dos recursos avançados de Ipv6, como anycast, multicast, unicast e retorno direto ao servidor, várias VLANs.

Ter um design robusto o torna adequado para fácil manutenção e confiabilidade. Ele foi projetado em 2012 para atender às necessidades exclusivas do Google, que as opções existentes não atendiam. É desenvolvido em Go, que é uma linguagem estaticamente tipada e é derivada de Linguagem C. Ele contém muitos recursos de linguagem de alto nível, como coleta de lixo para limpar a memória, segurança de tipo, matrizes de comprimento variável, recursos de tipagem dinâmica e mapas de valores-chave e uma grande biblioteca padrão. Golang é uma linguagem compilada desenvolvida pelo Google. Muitos aplicativos modernos como Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) e Caddy são escritos em Go.

Pré-Requisito

  1. O link para baixar a versão mais recente da GoLang para Linux está disponível em https: // golang.org / dl / na forma de arquivo de arquivo.

  2. A integridade do tarball pode ser verificada comparando o valor de hash gerado usando o comando shassum com o valor de hash fornecido no site. Se houver alguma diferença nos valores de hash deve-se sempre baixar um novo tarball do arquivo. Se a verificação for bem-sucedida, prossiga antes do tutorial.

    $ shasum -a 256 go1.11.5.linux-amd64.alcatrão.gz

    Neste comando, -a é usado para especificar o algoritmo para gerar o valor hash e este comando como um todo executa a soma de verificação SHA256 dos arquivos compactados.

  3. O próximo passo é extrair os arquivos tar, se a verificação de integridade for bem-sucedida, no diretório / usr / local usando o comando fornecido a seguir: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.alcatrão.gz

    Neste comando, -C especifica o diretório de destino para onde os arquivos extraídos são enviados.

  4. Para configurar o ambiente Go no Ubuntu, configure o espaço de trabalho Go criando um diretório ~ / go_project_directory que é a raiz do espaço de trabalho. O espaço de trabalho contém três diretórios principais
    • bin - contém arquivos binários do golang.
    • src- que armazena todos os arquivos de origem.
    • pkg- que irá armazenar objetos de pacote.
    Uma árvore de diretório pode ser criada da seguinte maneira:

    $ mkdir -p ~ / go_projects / bin, src, pkg
    $ cd go_projects /
    $ ls

  5. Para executar Go, siga como o resto dos programas Linux sem especificar seu caminho absoluto. O diretório onde o golang está instalado deve ser usado como um dos valores da variável de ambiente $ PATH.
    • Adicionar / usr / local / go / bin para a variável de ambiente PATH, o seguinte comando deve ser executado:
    $ sudo gedit $ HOME /.perfil

    Ou pode abri-lo no terminal usando o comando

    $ vi .perfil

    Então / usr / local / go / bin deve ser adicionado ao caminho. Em seguida, todas as alterações devem ser salvas e o usuário é obrigado a sair do perfil e fazer o login novamente para procedimentos posteriores.

    • Todos os caminhos são definidos no perfil, definindo os valores de GOPATH e GOBIN.
    exportar GOPATH = ”$ HOME / go”
    exportar GOBIN = ”$ GOPATH / bin”
    • Se GoLang for instalado em um diretório personalizado diferente do padrão (/ usr / local), haverá a necessidade de especificar esse diretório como a variável GOROOT. É feito no .perfil de
    exportar GOROOT = ”$ HOME / go
    export PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin

  6.  O ambiente GoLang após a configuração bem-sucedida pode ser verificado no terminal executando o seguinte comando: $ go
    $ go env

Instalando Gangorra

  1. Era um requisito para instalar o Go, já que o Seesaw v2 foi desenvolvido com ele e depende de vários pacotes Go, como:
> golang.org / x / crypto / ssh
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
  1. Se alguém deseja regenerar o código do protobuf, o comiler protobuf e o gerador de compilador protobuf Go também são necessários: $ apt-get install protobuf-compiler
    $ go get -u github.com / golamg / protobuf / proto, proto-gen-go

    1. Sempre deve ser assegurado que $ GOPATH / bin está no $ PATH e no diretório gangorra.
    2. A próxima etapa é executar o comando make, pois leva à adição de vários binários em $ GOPATH / bin com um prefixo gangorra_, esses binários devem ser instalados nos locais apropriados.

      $ make teste
      $ make install
      $ make proto

      Depois de executar os três comandos acima, os binários gangorra são configurados para os locais apropriados. isso pode ser feito criando seeaw_install em $ GOPATH / bin e executando o script abaixo.

      SEESAW_BIN = "/ usr / local / gangorra"
      SEESAW_ETC = "/ etc / gangorra
      SEESAW_LOG = "/ var / log / gangorra"
      INIT = 'ps -p 1 -o comm ='
      instalar -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
      instale "$ GOPATH / bin / seeaw_cli" / usr / bin / gangorra
      para componente em ecu, engine, ha, healthcheck, ncc, watchdog; Faz
      instale "$ GOPATH / bin / gangorra _ $ componente" "$ SEESAW_BIN"
      feito
      se [$ INIT = "init"]; então
      instale "etc / init / seeaw_watchdog.conf "" / etc / init "
      elif [$ INIT = "systemd"]; então
      instale "etc / systemd / system / seeaw_watchdog.serviço "" / etc / systemd / system "
      systemctl --system daemon-reload
      fi
      instale "etc / seeaw / watchdog.cfg "" $ SEESAW_ETC "
      # Habilite CAP_NET_RAW para binários gangorra que requerem soquetes brutos.
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"

Configurando gangorra

  1. Cada nó requer uma gangorra.arquivo cfg, conhecido como arquivo de configuração, onde as informações sobre o nó e seu par pertencente são armazenadas. Protobuf é o arquivo de configuração de cluster para cada cluster e está em formato de texto simples. Isso permite que ele seja aberto com qualquer editor de texto Linux como nano, vi. Pode-se mudar a gangorra.cfg usando o seguinte comando:
$ vi / etc / gangorra / gangorra.cfg

Um exemplo de gangorra.arquivo cfg

[grupo]
anycast_enabled = false
nome = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: cafe :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: cafe :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: cafe :: 1
[config_server]
primário = gangorra-config1.exemplo.com
secundário = gangorra-config2.exemplo.com
terciário = gangorra-config3.exemplo.com
[interface]
node = eth0
lb = eth1

A descrição do cript acima mencionado é dada abaixo

Conclusão

Devido às imensas vantagens do recurso de balanceamento de carga, é frequentemente usado em muitas redes corporativas. Existem três tipos de modos de entrega em geral no padrão IPv4, Unicast, Multicast e Broadcast. Anycast é aceito em IPv6. Anycast raramente está presente no IPv4. Anycast usa para identificar uma interface de um grupo de interfaces que se conectam ao mesmo serviço.  VIPs são endereços IP virtuais que não pertencem a nenhuma interface de rede física. Um balanceador de carga deve ser confiável e ter os recursos mais importantes em serviços em nuvem.

Muitos dos balanceadores de carga no mercado não têm monitoramento de servidor de back-end e muitos outros recursos específicos. Existem vários métodos de balanceamento de carga em Open Systems Interconnection Layer 2/3/4. Essas camadas são Camada de Link de Dados, Camada de Rede e Camada de Transporte. O gangorra usa a técnica da camada 4 com NAT E DSR (retorno direto do servidor). O DSR modifica o fluxo de tráfego ou a carga, permitindo que o servidor responda diretamente ao cliente. Em suma, o balanceador de carga gangorra é robusto e confiável devido a esses aspectos.

O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...