12.6. SERVER VIRTUALI

Il pannello SERVER VIRTUALI mostra le informazioni per ogni server virtuale definito correntemente. Ogni tabella delle entry, mostra lo stato del server virtuale, il nome del server, l'IP virtuale assegnato, la maschera di rete dell'IP virtuale, il numero della porta usata dal servizio per comunicare, il protocollo usato e l'interfaccia del dispositivo virtuale.

Figura 12-5. Pannello SERVER VIRTUALI

Ogni server mostrato nel pannello SERVER VIRTUALI puó essere configurato su delle schermate o sottosezioni.

Per aggiungere un servizio, cliccare il pulsante AGGIUNGI. Per rimuovere un servizio, selezionarlo cliccando il pulsante "radio button" accanto al server virtuale e cliccare il pulsante CANCELLA.

Per abilitare o disabilitare un server virtuale nella tabella, cliccare il suo "radio button" e selezionare il pulsante (DISA)ABILITARE.

Dopo aver aggiunto un server virtuale, é possibile configurarlo, cliccando il "radio button" alla sua sinistra e selezionare il pulsante MODIFICA per visualizzare la sottosezione SERVER VIRTUALE.

12.6.1. Sottosezione SERVER VIRTUALE

Il pannello della sottosezione SERVER VIRTUALE mostrato in Figura 12-6 permette all'utente di configurare un server virtuale individuale. I link relativi alle sottosezioni relative esplicitamente a questo server virtuale, sono situati lungo la parte superiore della pagina. Prima di configurare qualsiasi sottosezione relativa a questo server virtuale, completare questa pagina e cliccare sul pulsante ACCETTA.

Figura 12-6. Sottosezione SERVER VIRTUALI

Nome

Inserire un nome descrittivo per identificare il server virtuale. Questo nome non é l'hostname per il dispositivo, per questo motivo renderlo descrittivo e facilmente identificabile. L'utente puó far riferimento al protocollo usato dal server virtuale, come ad esempio HTTP.

Porta dell'applicazione

Inserire il numero della porta attraverso la quale l'applicazione del servizio effettua la ricezione. Dato che questo esempio é orientato ai servizi HTTP, viene usata la porta 80.

Protocollo

Scegliere tra UDP e TCP nel menu a tendina. I Web server comunicano generalmente tramite il protocollo TCP, per questo motivo é stato selezionato nell'esempio precedente.

Indirizzo IP virtuale

Inserire l'indirizzo IP floating del server virtuale in questo campo

Maschera di rete IP virtuale

Impostare la maschera di rete per questo server virtuale con il menu a tendina.

Firewall Mark

Non inserire in questo campo, un valore intero del firewall mark, almeno che l'utente non raggruppi protocolli a porte-multiple o effettui una creazione di un server virtuale a porte-multiple per protocolli separati ma relativi tra loro. In questo esempio, il server virtuale sopra indicato ha un Firewall Mark di 80 perché stiamo raggruppando i collegamenti per HTTP sulla porta 80 e per HTTPS sulla porta 443, usando un valore del firewall mark pari a 80. Quando lo si combina con la persistenza, questa tecnica assicura agli utenti che accedono alle pagine Web sicure e non sicure, un direzionamento allo stesso server reale, preservando la condizione.

AttenzioneAttenzione
 

Inserendo un firewall mark in questo campo, si permette all'IPVS di riconoscere i pacchetti inerenti al firewall mark stesso e di essere trattati allo stesso modo, ma per poter assegnare i firewall mark, l'utente deve effettuare una configurazione esterna alla Tool di configurazione di Piranha. Controllare la Sezione 11.3 per istruzioni inerenti la creazione di servizi a porte-multiple e la Sezione 11.4 per la creazione del server virtuale FTP altamente disponibile.

Dispositivo

Inserire il nome del dispositivo di rete al quale l'utente desidera definire il campo Indirizzo IP virtuale per collegare l'indirizzo IP floating.

L'utente dovrebbe effettuare un alias dell'indirizzo IP floating pubblico per l'interfaccia Ethernet collegata alla rete pubblica. In questo esempio, la rete pubblica é sulla interfaccia eth0, cosí eth0:1 dovrebbe essere inserito come nome del dispositivo.

Re-entry Time

Inserire un valore intero il quale definisce l'arco di tempo, in secondi, prima che il router LVS attivo, cerchi di riportare un server reale nel cluster dopo che si sia verificato un errore.

Interruzione del servizio

Inserire un valore intero il quale definisce l'arco di tempo, in secondi, prima che il server reale venga considerato "morto" e rimosso quindi dal cluster.

Server quiesce

Quando il radio button Server quiesce viene selezionato, ogni volta che un nodo del server reale é online, la tabella least-connections viene azzerata, cosí il router LVS attivo, direziona le richiesste come se tutti i server reali, fossero stati aggiunti per la prima volta al cluster. Questa opzione previene un nuovo server da un arresto a causa di un gran numero di collegamenti in entrata del cluster.

Tool di monitoraggio del carico

Il router LVS é in grado di controllare il carico sui vari server reali, usando rup o ruptime. Se si seleziona rup dal menu a tendina, ogni server reale deve eseguire il servizio rstatd. Se l'utente seleziona ruptime, ogni server reale deve eseguire il servizio rwhod.

CautelaAttenzione
 

Il controllo del carico non é simile al bilanciamento del carico, e puó risultare in una difficoltá nel predire il comportamento della programmazione, quando combinata con gli algoritmi weighted di programmazione. Se si usa il controllo del carico, i server reali presenti nel cluster, devono essere dei dispositivi Linux.

Programmazione

Selezionare l'algoritmo di programmazione preferito dal menu a tendina. Il default é Weighted least-connection. Per maggiori informazioni sugli algoritmi di programmazione, vedere la Sezione 9.3.1.

Persistenza

Se un amministratore ha bisogno di collegamenti persistenti al server virtuale durante le transazioni del client, inserire il numero di secondi concessi di inattivitá, prima dello scadere di un collegamento in questo campo.

ImportanteImportante
 

Se l'utente ha inserito un valore nel campo sopra indicato Firewall Mark, conseguentemente, bisogna inserire un valore di persistenza . Altresí assicurarsi che, se si usano insieme i firewall mark e la persistenza, la quantitá di persistenza sia la stessa per ogni server virtuale che presenta un firewall mark. Per maggiori informazioni sulla persistenza e sui firewall mark, controllare la Sezione 9.5.

Maschera di rete della persisteza

Per limitare la persistenza ad una sottorete particolare, selezionare la maschera di rete appropriata dal menu a tendina.

NotaNota Bene
 

Prima dell'avvento dei firewall mark, la persistenza limitata da una sottorete, era un modo un pó crudo di raggruppare i collegamenti. Ora, é consigliabile usare persistenza in relazione ai firewall mark per ottenere lo stesso risultato.

AttenzioneAttenzione
 

Ricordarsi di cliccare il pulsante ACCETTA dopo aver effettuato qualsiasi cambiamento in questo pannello, e per assicurarsi di non perdere i cambiamenti quando se ne seleziona un nuovo.

12.6.2. Sottosezione del SERVER REALE

Selezionando il collegamento della sottosezione del SERVER REALE sulla parta superiore del pannello, si puó visualizzare la sottosezione MODIFICA IL SERVER REALE. Esso mostra lo stato degli host del server fisico, per un servizio virtuale particolare.

Figura 12-7. Sottosezione del SERVER REALE

Selezionare il pulsante AGGIUNGERE, per aggiungere un nuovo server. Per cancellare un server giá esistente, selezionare il "radio button" accanto e cliccare il pulsante CANCELLA. Selezionare il pulsante MODIFICA per caricare il pannello MODIFICA IL SERVER REALE, come visto in Figura 12-8.

Figura 12-8. Pannello di configurazione del SERVER REALE

Questo pannello consiste in tre campi delle entry "entry fields"

Nome

Un nome descrittivo per il server reale.

SuggerimentoSuggerimento
 

Questo nome non rappresenta l'hostname per il dispositivo, per questo motivo é consigliabile renderlo descrittivo e facilmente identificabile.

Indirizzo

Indirizzo IP del server reale. Dato che la porta di ricezione associata al server virtuale é giá stata specificata, non aggiungere il numero della porta.

Weight

Un valore intero, il quale indica la capacitá dell'host relativa a quella degli altri host nel gruppo. Il valore puó essere arbitrario, ma considerarlo come se fosse un rapporto in relazione agli altri server reali nel cluster. Per maggiori informazioni sul weight del server, controllare la Sezione 9.3.2.

AttenzioneAttenzione
 

Ricordarsi di cliccare il pulsante ACCETTA dopo aver effettuato qualsiasi cambiamento in questo pannello e per assicurarsi di non perdere alcun cambiamento quando se ne seleziona uno nuovo.

12.6.3. Sottosezione MODIFICA GLI SCRIPT DI MONITORAGGIO

Fate clic sul link SCRIPT DI MONITORAGGIO nella parte superiore della pagina. La sottosezione MODIFICA GLI SCRIPT DI MONITORAGGIOpermette all'amministratore di specificare una sequenza della stringa invia/ricevi, per verificare che il servizio per il server virtuale é funzionante su ogni server reale. Tale sottosezione é il luogo dove l'amministratore puó specificare gli script personalizzati, per controllare i servizi che richiedono dinamicamente un cambiamento dati.

Figura 12-9. Sottosezione MODIFICA GLI SCRIPT DI MONITORAGGIO

Invio del programma

Per una verifica del servizio piú avanzata, si puó usare questo campo per specificare la path per uno script del controllo del servizio. Questa funzione é molto utile per i servizi che richiedono un cambiamento dinamico dei dati, come HTTPS o SSL.

Per usare questa funzione, é necessario scrivere uno script in grado di ritornare una risposta di tipo testuale, impostarlo per essere eseguibile, ed inserire la path nel campo Invio Programma.

SuggerimentoSuggerimento
 

Per assicurare che ogni server nel gruppo di server reali venga controllato, inserire il token speciale %h dopo la path per lo script, nel campo Invio Programma. Questo token é sostituito dall'indirizzo IP del server reale quando lo script viene chiamato dal demone nanny.

Quanto segue è un o script di esempio da usare come una guida, quando si compone uno script di controllo del servizio esterno:

#!/bin/sh

TEST=`dig -t soa example.com @$1 | grep -c dns.example.com

if [ $TEST != "1" ]; then
	echo "OK
else
	echo "FAIL"
fi

NotaNota Bene
 

Se un programma esterno viene inserito nel campo Invio programma, il campo Invio viene ignorato.

Invia

Inserire una stringa per il demone nanny da inviare ad ogni server reale in questo campo. Per default, il campo d'invio é completo per HTTP. L'utente puó variare questo valore, in relazione alle proprie esigenze. Se si lascia questo campo vacante, il demone nanny tenta di aprire la porta e se ha successo in tal proposito, assume che il servizio sia operativo.

Solo una sequenza d'invio é permessa in questo campo e puó solo contenere caratteri ASCII stampabili ed i seguenti caratteri "escape":

  • \n per nuove righe.

  • \r per il carriage return.

  • \t per il tab.

  • \/ per uscire dal carattere.

Prevedere

Inserire una risposta di tipo testuale che il server dovrebbe ritornare se é propriamente in funzione. Se l'utente ha scritto un proprio programma d'invio, inserire la riposta che l'utente ha scelto di mandare tramite il suddetto programma, se lo stesso ha avuto successo.

SuggerimentoSuggerimento
 

Per determinare che cosa inviare per un servizio, é possibile aprire un collegamento telnet per la porta su di un server reale e vedere cosa ritorna. Per esempio, FTP riporta 220, in questo caso é possibile inserire quit nel campo Invio, e 220 nel campo Prevedere.

AttenzioneAttenzione
 

Ricordarsi di cliccare il pulsante ACCETTA dopo aver effettuato qualsiasi cambiamento in questo pannello e per assicurarsi di non perdere alcun cambiamento quando se ne seleziona uno nuovo.

Dopo aver configurato i server virtuali usando Tool di configurazione di Piranha, l'utente deve copiare i file di configurazione specifici per il router LVS di backup. Per maggiori informazioni, controllare la Sezione 12.7.