Altalena

Installa e configura Seesaw Load Balancer See

Installa e configura Seesaw Load Balancer See
In questa epoca di multiprogrammazione, ci sono diversi processi in esecuzione contemporaneamente e viene fatto un grande sforzo per aumentare il rendimento e l'efficienza del lavoro. I server devono gestire molto carico di lavoro e talvolta è molto difficile gestire il traffico. Pertanto, esistono sistemi di bilanciamento del carico per distribuire le diverse risorse di elaborazione per un utilizzo ottimale delle risorse, aumentare il throughput e i tempi di risposta. Ciò che fanno i bilanciatori di carico è distribuire il carico di traffico su più reti o host in cluster per aumentare la disponibilità, l'affidabilità e le prestazioni della rete. Alle richieste in entrata viene assegnato un IP virtuale, noto anche come VIP sul sistema di bilanciamento del carico stesso, quindi il sistema di bilanciamento del carico passa le richieste al server appropriato dietro di esso con la minima modifica ai pacchetti.  Il server quindi risponde al bilanciatore del carico con i dati richiesti che vengono infine inviati al sito client dal bilanciatore del carico.

Tipi di bilanciamento del carico

Esistono due tipi di piattaforme di bilanciamento del carico: HAProxy e Linux Virtual Server, noto anche come LVS, e Seesaw v2 è una piattaforma di bilanciamento del carico basata su server virtuale Linux.

Seesaw è uno strumento molto flessibile che può essere utilizzato come bilanciatore di carico di base per siti Web di piccole e medie dimensioni fino a bilanciatore di carico avanzato per reti di livello aziendale in cui una dozzina di server sono interconnessi. Supporta alcune delle funzionalità IPv6 avanzate come anycast, multicast, unicast e ritorno diretto del server, più VLAN.

Avere un design robusto lo rende adatto per una facile manutenzione e affidabilità. È stato progettato nel 2012 per soddisfare le esigenze uniche di Google, che le opzioni esistenti non soddisfacevano. È sviluppato in Go che è un linguaggio tipizzato staticamente ed è derivato da linguaggio C. Contiene molte funzionalità di linguaggio di alto livello come la garbage collection per ripulire la memoria, l'indipendenza dai tipi, gli array a lunghezza variabile, le capacità di digitazione dinamica e le mappe chiave-valore e una grande libreria standard. Golang è un linguaggio compilato sviluppato da Google. Molte applicazioni moderne come Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) e Caddy sono scritte in Go.

Pre-requisito

  1. Il link per scaricare l'ultima versione di GoLang per Linux è disponibile in https://golang.org/dl/  sotto forma di file di archivio.

  2. L'integrità del tarball può essere verificata confrontando il valore hash generato utilizzando il comando shassum con il valore hash fornito nel sito web. Se c'è qualche differenza nei valori hash si deve sempre scaricare un nuovo tarball dell'archivio. Se il controllo ha esito positivo, procedi prima del tutorial.

    $shasum -a 256 go1.11.5.linux-amd64.catrame.gz

    In questo comando -a viene utilizzato per specificare l'algoritmo per generare il valore hash e questo comando nel suo insieme esegue il checksum SHA256 dei file di archivio.

  3. Il passaggio successivo consiste nell'estrarre i file di archivio tar, se il controllo di integrità ha esito positivo, nella directory /usr/local utilizzando il comando indicato di seguito: $sudo tar -C /user/local -xvzf go1.11.5.linux-amd64.catrame.gz

    In questo comando -C specifica la directory di destinazione in cui vengono inviati i file estratti.

  4. Per configurare l'ambiente Go nell'area di lavoro Go di configurazione di Ubuntu creando una directory ~/go_project_directory che è la radice dell'area di lavoro. L'area di lavoro contiene tre directory principali
    • bin - contiene file binari del golang.
    • src- che memorizza tutti i file sorgente.
    • pkg- che memorizzerà gli oggetti del pacchetto.
    Un albero di directory può essere creato come segue:

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

  5. Per eseguire Go, segui come il resto dei programmi Linux senza specificare il suo percorso assoluto. La directory in cui è installato golang dovrebbe essere usata come uno dei valori della variabile d'ambiente $PATH.
    • Aggiungere /usr/local/go/bin alla variabile di ambiente PATH deve essere eseguito il seguente comando:
    $sudo   gedit   $HOME/.profilo

    Oppure puoi aprirlo nel terminale usando il comando

    $vi .profilo

    Poi /usr/local/go/bin deve essere aggiunto al percorso. Quindi tutte le modifiche devono essere salvate e l'utente deve disconnettersi dal profilo e accedere nuovamente per ulteriori procedure.

    • Tutti i percorsi vengono impostati nel profilo impostando i valori di GOPATH e GOBIN.
    export GOPATH=”$HOME/go”
    export GOBIN=”$GOPATH/bin”
    • Se GoLang è installato in una directory personalizzata diversa da quella predefinita (/usr/local) è necessario specificare tale directory come variabile GOROOT. È fatto in th .profilo di
    export GOROOT=”$HOME/go
    export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

  6.  L'ambiente GoLang dopo una corretta configurazione può essere controllato nel terminale eseguendo il seguente comando: $go
    $go env

Installazione dell'altalena

  1. Era un requisito installare Go poiché Seesaw v2 è sviluppato con esso e dipende da diversi pacchetti Go come:
>golang.org/x/crypto/ssh
>github.com/golang/glog
> github.com/dlintw/goconf
>github.com/golang/protobuf/proto
>github.com/miekg/dns
  1. Se si desidera rigenerare il codice protobuf, sono necessari anche il protobuf comiler e il generatore del compilatore protobuf Go: $apt-get install protobuf-compiler
    $go get -u github.com/golamg/protobuf/proto,proto-gen-go

    1. Bisogna sempre assicurarsi che $GOPATH/bin sia nel $PATH e nella directory altalena.
    2. Il prossimo passo è eseguire il comando make in quanto porta all'aggiunta di diversi binari in $GOPATH/bin con un prefisso altalena_, questi binari devono essere installati nelle posizioni appropriate.

      $fare il test
      $make install
      $make proto

      Dopo aver eseguito i tre comandi precedenti, i binari di altalena vengono impostati nelle posizioni appropriate. può essere fatto creando seesaw_install in $GOPATH/bin ed eseguendo lo script seguente.

      SEESAW_BIN="/usr/local/altalena"
      SEESAW_ETC="/etc/seesaw
      SEESAW_LOG="/var/log/altalena"
      INIT='ps -p 1 -o comm='
      install -d "$SEESAW_BIN" "$SEESAW_ETC" "$SEESAW_LOG"
      installa "$GOPATH/bin/seesaw_cli" /usr/bin/seesaw
      per componente in ecu,engine,ha,healthcheck,ncc,watchdog; fare
      installa "$GOPATH/bin/seesaw_$component" "$SEESAW_BIN"
      fatto
      if [ $INIT = "init" ]; poi
      installa "etc/init/seesaw_watchdog.conf" "/etc/init"
      elif [ $INIT = "systemd" ]; poi
      installa "etc/systemd/system/seesaw_watchdog.servizio" "/etc/systemd/system"
      systemctl --system daemon-reload
      fi
      installa "etc/seesaw/watchdog.cfg" "$SEESAW_ETC"
      # Abilita CAP_NET_RAW per binari altalenanti che richiedono socket raw.
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_ha"
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_healthcheck"

Configurazione dell'altalena

  1. Ogni nodo richiede un'altalena.cfg, noto come file di configurazione, in cui sono memorizzate le informazioni sul nodo e il suo peer di appartenenza. Protobuf è il file di configurazione del cluster per ogni cluster ed è in formato testo normale plain. Ciò consente di aprirlo con qualsiasi editor di testo Linux come nano, vi. Si può cambiare l'altalena.cfg utilizzando il seguente comando:
$vi/etc/altalena/altalena.cfg

Un esempio di altalena.cfg file

[grappolo]
anycast_enabled = falso
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]
primario = altalena-config1.esempio.come
secondario = altalena-config2.esempio.come
terziario = altalena-config3.esempio.come
[interfaccia]
nodo = eth0
lb = eth1

La descrizione del suddetto cript è riportata di seguito

Conclusione

A causa degli immensi vantaggi della funzione di bilanciamento del carico, viene spesso utilizzata in molte reti aziendali. Esistono tre tipi di modalità di consegna in generale nello standard IPv4, Unicast, Multicast e Broadcast. Anycast è accettato in IPv6. Anycast è presente raramente in IPv4. Anycast utilizza per identificare un'interfaccia da un gruppo di interfacce che si collegano allo stesso servizio.  I VIP sono indirizzi IP virtuali che non appartengono a nessuna interfaccia di rete fisica. Un bilanciatore del carico deve essere affidabile e avere le funzionalità più importanti nei servizi cloud.

Molti dei bilanciatori di carico sul mercato non hanno il monitoraggio del server di backend e molte altre funzionalità specifiche. Esistono diversi metodi di bilanciamento del carico su Open Systems Interconnection Layer 2/3/4. Questi livelli sono Data Link Layer, Network Layer e Transport Layer. Altalena utilizza la tecnica di livello 4 con NAT E DSR (Direct Server Return). DSR modifica il flusso di traffico o il carico consentendo al server di rispondere direttamente al client. Tutto sommato, il sistema di bilanciamento del carico Seesaw è robusto e affidabile grazie a questi aspetti.

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una b...
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...