IngleseFranceseSpagnolo

Esegui server | Ubuntu > | Fedora > |


Favicon di OnWorks

hbal - Online nel cloud

Esegui hbal nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando hbal che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


hbal - Cluster balancer per Ganeti

SINOSSI


hbal {opzioni backend...} [opzioni algoritmo...] [opzioni report...]

hbal --versione

Opzioni di backend:

{ -m gruppo | -L[ sentiero ] [-X] | -t file di dati | -I sentiero }

Opzioni algoritmo:

[ --max-cpu rapporto cpu ] [ --min-disco rapporto disco ] [ -l limitare ] [ -e Punto ] [ -g delta ] [
--limite-guadagno-min soglia ] [ -O nome... ] [ --nessun-disco-si muove ] [ --nessuna-mossa-istanza ] [
-U file-util ] [ --ignore-dynu ] [ --ignore-soft-errori ] [ --mondo si|no ] [ --mond-xen ]
[ --exit-on-missing-mond-data ] [ --modalità-evacuazione ] [ --migrazione-limitata ] [
--select-instances inst ... ] [ --exclude-instances inst ... ]

Opzioni di segnalazione:

[ -C[ filetto ] ] [ -P[ campi ] ] [ --istanze di stampa ] [ -S filetto ] [ -v... | -q ]

DESCRIZIONE


hbal è un bilanciatore di cluster che esamina lo stato corrente del cluster (nodi con
il loro disco totale e libero, la memoria, ecc.) e il posizionamento dell'istanza e calcola una serie di
passaggi progettati per portare il cluster in uno stato migliore.

L'algoritmo utilizzato è progettato per essere stabile (cioè ti darà gli stessi risultati quando
riavviandolo dalla metà della soluzione) e ragionevolmente veloce. Non è, tuttavia,
progettato per essere un algoritmo perfetto: è possibile farlo entrare in un angolo dal quale
non può trovare alcun miglioramento, perché sembra solo un "passo" avanti.

Il programma accede allo stato del cluster tramite Rapi o Luxi. Richiede anche dati su
rete da tutti i MonD con l'opzione --mond. Attualmente utilizza solo dati prodotti da
Collettore di carico della CPU.

Per impostazione predefinita, il programma mostrerà la soluzione in modo incrementale man mano che viene calcolata, in a
formato un po' criptico; per ottenere l'attuale elenco di comandi di Ganeti, utilizzare il pulsante -C opzione.

ALGORITMO
Il programma funziona in fasi indipendenti; ad ogni passo, calcoliamo la migliore mossa di istanza
che abbassa il punteggio del cluster.

I possibili tipi di spostamento per un'istanza sono combinazioni di failover/migrazione e
sostituire i dischi in modo tale da cambiare uno dei nodi di istanza e l'altro rimane
(ma eventualmente con ruolo cambiato, ad es. da primario diventa secondario). L'elenco è:

· failover (f)

· sostituire secondario (r)

· sostituire primaria, una mossa composta (f, r, f)

· failover e sostituzione secondario, anche composito (f, r)

· sostituire secondario e failover, anche compositi (r, f)

Non facciamo l'unica possibilità rimasta di sostituire entrambi i nodi (r,f,r,f o the
equivalenti f,r,f,r) poiché queste mosse richiedono una ricerca esaustiva su entrambi i candidati
nodi primari e secondari ed è O(n*n) nel numero di nodi. Inoltre, è
non sembra dare punteggi migliori ma si tradurrà in più sostituzioni di dischi.

INVESTIMENTI RESTRIZIONI
Ad ogni passaggio, impediamo lo spostamento di un'istanza se provoca:

· un nodo per andare in stato di guasto N+1

· un'istanza da spostare su un nodo offline (i nodi offline vengono letti dal cluster
o dichiarato con -O; i nodi svuotati sono considerati offline)

· un conflitto basato sui tag di esclusione (i tag di esclusione vengono letti dal cluster e/o definiti
tramite --tag-esclusione opzione)

· un rapporto max vcpu/pcpu da superare (configurato tramite --max-cpu)

· Percentuale minima di spazio libero su disco per scendere al di sotto del limite configurato (configurato tramite --min-disco)

CLUSTER PUNTEGGIO
Come detto prima, l'algoritmo cerca di ridurre al minimo il punteggio del cluster ad ogni passaggio. Attualmente
tale punteggio viene calcolato come somma ponderata delle seguenti componenti:

· deviazione standard della percentuale di memoria libera

· deviazione standard della percentuale di memoria riservata

· la somma delle percentuali di memoria riservata

· deviazione standard della percentuale di disco libero

· conteggio dei nodi che non superano il controllo N+1

· conteggio delle istanze che vivono (come primarie o secondarie) sui nodi offline; nel
senso di hbal (e gli altri htools) i nodi drenati sono considerati offline

· conteggio delle istanze che vivono (come primarie) sui nodi offline; questo differisce da quanto sopra
metrica aiutando il failover di tali istanze in cluster a 2 nodi

· deviazione standard del rapporto tra cpu virtuali e fisiche (per le istanze primarie di
il nodo)

· deviazione standard della frazione dei mandrini disponibili (in modalità dedicata,
i fusi rappresentano fusi fisici; altrimenti questa misura sovrasottoscrivibile per IO
carico, e il fattore di sovrasottoscrizione viene preso in considerazione quando si calcola il numero di
mandrini disponibili)

· deviazione standard del carico dinamico sui nodi, per cpus, memoria, disco e rete

· deviazione standard del carico della CPU fornita da MonD

· il conteggio delle istanze con primaria e secondaria nello stesso dominio di errore

La memoria libera e i valori del disco libero aiutano a garantire che tutti i nodi siano in qualche modo bilanciati in
il loro utilizzo delle risorse. La memoria riservata aiuta a garantire che i nodi siano in qualche modo
bilanciato nel contenere istanze secondarie e che nessun nodo mantenga troppa memoria riservata
per N+1. E infine, la percentuale N+1 aiuta a guidare l'algoritmo verso l'eliminazione
N+1 errori, se possibile.

Fatta eccezione per gli errori N+1, i conteggi delle istanze offline e la violazione del dominio degli errori
conteggi, usiamo la deviazione standard poiché quando viene utilizzata con valori all'interno di un intervallo fisso (noi
usa percentuali espresse come valori compresi tra zero e uno) fornisce risultati coerenti in tutto
tutte le metriche (ci sono alcuni piccoli problemi relativi a mezzi diversi, ma funziona
generalmente bene). I valori del tipo 'count' avranno un punteggio più alto e quindi avranno più importanza
per il bilanciamento; quindi questi sono migliori per vincoli rigidi (come l'evacuazione di nodi e
riparazione di N+1 guasti). Ad esempio, contano le istanze offline (ovvero il numero di
istanze che vivono su nodi offline) farà sì che l'algoritmo sposti attivamente le istanze
lontano dai nodi offline. Questo, insieme alla restrizione sul posizionamento data da offline
nodi, causerà l'evacuazione di tali nodi.

I valori di carico dinamico devono essere letti da un file esterno (Ganeti non fornisce
loro), e sono calcolati per ogni nodo come: somma del carico della CPU dell'istanza primaria, somma del carico primario
carico della memoria dell'istanza, somma del carico del disco dell'istanza primaria e secondaria (come genera DRBD
scrivere carico anche sui nodi secondari in caso normale e in scenari degradati anche leggere
carico) e la somma del carico di rete dell'istanza primaria. Un esempio di come generarli
i valori per l'input in hbal sarebbero per tenere traccia dell'elenco xm per le istanze nell'arco di un giorno e per
calcolando il delta dei valori della cpu e alimentarlo tramite il -U opzione per tutte le istanze
(e mantieni le altre metriche come una). Perché l'algoritmo funzioni, tutto ciò che serve è
che i valori siano coerenti per una metrica in tutte le istanze (ad es. tutte le istanze utilizzano
cpu% per segnalare l'utilizzo della CPU e non qualcosa relativo al numero di secondi della CPU utilizzati se il
le CPU sono diverse) e che sono normalizzate tra zero e uno. Nota che è
consigliato di non avere zero come valore di caricamento per nessuna metrica di istanza da allora
le istanze secondarie non sono ben bilanciate.

Il carico della CPU dal raccoglitore di dati di MonD verrà utilizzato solo se tutti i MonD sono in esecuzione,
altrimenti non influenzerà il punteggio del cluster. Dal momento che non riusciamo a trovare il carico della CPU di ciascuno
esempio, possiamo assumere che il carico della CPU di un'istanza sia proporzionale al numero di
il suo vcpus. Con questa euristica, le istanze dei nodi con un carico elevato della CPU tenderanno a spostarsi
ai nodi con meno carico della CPU.

Su un cluster perfettamente bilanciato (tutti i nodi della stessa dimensione, tutte le istanze della stessa dimensione e
distribuiti equamente tra i nodi), i valori per tutte le metriche sarebbero zero, con il
eccezione della percentuale totale di memoria riservata. Questo non accade troppo spesso in
la pratica :)

DISCONNESSO ISTANZE
Poiché le attuali versioni di Ganeti non riportano la memoria utilizzata dalle istanze offline (down),
ignorare lo stato di esecuzione delle istanze causerà calcoli errati. Per questo motivo il
L'algoritmo sottrae la dimensione della memoria delle istanze down dalla memoria libera del nodo dei loro
nodo primario, simulando di fatto l'avvio di tali istanze.

ESCLUSIONE TAGS
Il meccanismo dei tag di esclusione è progettato per prevenire istanze che eseguono lo stesso carico di lavoro
(ad esempio due server DNS) per atterrare sullo stesso nodo, il che renderebbe il rispettivo nodo a
SPOF per il servizio fornito.

Funziona taggando le istanze con determinati tag e quindi costruendo mappe di esclusione basate su
queste. Quali tag vengono effettivamente utilizzati è configurato tramite la riga di comando (opzione
--tag-esclusione) o aggiungendoli ai tag del cluster:

--tag-esclusione=a,b
Questo renderà tutti i tag di istanza del modulo un:*, B:* essere considerato per il
mappa di esclusione

gruppo tag htools:iextags:a, htools:iextags:b
Questo creerà tag di istanza un:*, B:* essere considerato per la mappa di esclusione. Di più
precisamente, il suffisso dei tag cluster che iniziano con htools:iextags: diventerà il
prefisso dei tag di esclusione.

Entrambe le forme precedenti significano che due istanze hanno entrambe (ad esempio) il tag a:pippo or b:barra
non finirà sullo stesso nodo.

MIGRAZIONE TAGS
Se Ganeti viene distribuito su un cluster eterogeneo, la migrazione potrebbe non essere possibile tra
tutti i nodi di un gruppo di nodi. Un esempio di tale situazione è l'aggiornamento dell'hypervisor
nodo per nodo. Per rendere hbal consapevole di tali restrizioni, i seguenti tag cluster sono
Usato.

gruppo tag htools:migrazione:a, htools:migrazione:b, eccetera
Questo rende i tag di nodo del modulo un:*, B:*, ecc. essere considerata migrazione
restrizione. Più precisamente, il suffisso dei tag cluster che iniziano con
htools:migrazione: diventerà il prefisso dei tag di migrazione. Solo quelli
le migrazioni saranno prese in considerazione dove tutti i tag di migrazione della sorgente
sono presenti anche sul nodo di destinazione.

gruppo tag htools:allowmigration:x::y per migrazione tag x e y
Questo asserisce che un nodo taggato y è in grado di ricevere istanze allo stesso modo di se
avevano un x etichetta.

Quindi, nel semplice caso di un aggiornamento dell'hypervisor, taggando tutti i nodi che sono stati
aggiornato con un tag di migrazione è sufficiente. In situazioni più complicate, è sempre
possibile utilizzare un tag di migrazione diverso per ogni hypervisor utilizzato e indicare esplicitamente il
direzioni di migrazione consentite mediante htools:allowmigration: tag.

DOVE SIAMO? TAGS
All'interno di un gruppo di nodi, alcuni nodi potrebbero avere maggiori probabilità di fallire simultaneamente a causa di a
causa comune di errore (es. se condividono lo stesso alimentatore). Ganeti può essere
messo a conoscenza delle comuni cause di guasto tramite tag.

gruppo tag htools:nlocation:a, htools:nlocation:b, eccetera
Questo rende i tag di nodo del modulo un:*, B:*, ecc. essere considerato avere un comune
causa di fallimento.

Vengono considerate le istanze con nodo primario e secondario aventi una causa comune di errore
mal posizionato. Sebbene tali posizionamenti siano sempre consentiti, contano molto per il
punteggio del gruppo.

VERSIONI


Le opzioni che possono essere passate al programma sono le seguenti:

-C, --comandi-stampa
Stampa l'elenco dei comandi alla fine della corsa. Senza questo, il programma sarà solo
mostrano un output più breve, ma criptico.

Nota che l'elenco delle mosse sarà diviso in passaggi indipendenti, chiamati "jobset",
ma solo per l'ispezione visiva, non per l'effettiva parallelizzazione. Non è
possibile parallelizzarli direttamente quando eseguiti tramite comandi "gnt-instance",
poiché un comando composto (ad es. failover e sostituzione dei dischi) deve essere eseguito
in serie. L'esecuzione parallela è possibile solo quando si utilizza il backend Luxi e il
-L opzione.

L'algoritmo per suddividere le mosse in gruppi di lavoro consiste nell'accumulare le mosse fino a
la prossima mossa tocca i nodi già toccati dalle mosse attuali; questo significa che noi
non può essere eseguito in parallelo (a causa dell'allocazione delle risorse in Ganeti) e quindi iniziamo
un nuovo posto di lavoro.

-P, --stampa-nodi
Stampa lo stato del nodo prima e dopo, in un formato progettato per consentire all'utente di
comprendere i parametri più importanti del nodo. Vedi la pagina man strumenti(1) per
maggiori dettagli su questa opzione.

--istanze di stampa
Stampa la mappa dell'istanza prima e dopo. Questo è meno utile in quanto lo stato del nodo,
ma può aiutare a comprendere le mosse di istanza.

-O Nome
Questa opzione (che può essere data più volte) contrassegnerà i nodi come esistenti offline.
Questo significa un paio di cose:

· le istanze non verranno posizionate su questi nodi, nemmeno temporaneamente; ad es sostituire
primario lo spostamento non è disponibile se il nodo secondario è offline, poiché questo spostamento
richiede un failover.

· questi nodi non saranno inclusi nel calcolo del punteggio (ad eccezione del
percentuale di istanze su nodi offline)

Si noti che l'algoritmo contrassegnerà anche come offline tutti i nodi segnalati da RAPI
come tale, o che hanno "?" nell'input basato su file in qualsiasi campo numerico.

-e Punto, --min-score=*punteggio*
Questo parametro indica quanto al di sopra del limite N+1 può il punteggio del cluster per noi di
essere soddisfatto e altera il calcolo in due modi:

· se il cluster ha il punteggio iniziale inferiore a questo valore, allora non entriamo
l'algoritmo e uscire con successo

· durante il processo iterativo, se raggiungiamo un punteggio inferiore a questo valore, usciamo
l'algoritmo

Il valore di default del parametro è attualmente 1e-9 (scelto empiricamente).

-g delta, --guadagno-min=*delta*
Poiché l'algoritmo di bilanciamento a volte può comportare solo piccoli miglioramenti,
che portano meno guadagno che costano in tempo di trasferimento, questo parametro (default
a 0.01) rappresenta il guadagno minimo di cui abbiamo bisogno durante un passo, per continuare
bilanciamento.

--min-gain-limit=*soglia*
L'opzione di guadagno minimo di cui sopra avrà effetto solo se il punteggio del cluster è già
sotto soglia (il valore predefinito è 0.1). La logica alla base di questa impostazione è che a
punteggi di cluster elevati (cluster male bilanciati), non vogliamo interrompere il ribilanciamento
troppo rapidamente, poiché i guadagni successivi potrebbero essere ancora significativi. Tuttavia, sotto il
soglia, il guadagno totale è solo il valore di soglia, quindi possiamo uscire in anticipo.

--nessun-disco-si muove
Questo parametro impedisce a hbal di usare lo spostamento del disco (cioè "gnt-instance
sostituisci-dischi"). Ciò risulterà in un bilanciamento molto più rapido, ma di
ovviamente i miglioramenti sono limitati. Sta all'utente decidere quando usarlo
uno o l'altro.

--nessuna-mossa-istanza
Questo parametro impedisce a hbal di usare i movimenti di istanza (cioè "gnt-instance
migrate/failover"). Questo utilizzerà solo la lenta sostituzione del disco
operazioni, e fornirà anche un equilibrio peggiore, ma può essere utile in caso di movimento
istanze intorno è considerato pericoloso o non preferito.

--modalità-evacuazione
Questo parametro restringe l'elenco delle istanze considerate per il passaggio a quelle
vivere su nodi offline/drenati. Può essere utilizzato come sostituto (alla rinfusa) per
proprio di Ganeti gnt-nodo evacuare, con la nota che non garantisce il pieno
evacuazione.

--migrazione-limitata
Questo parametro non consente alcuna mossa di sostituzione primaria (frf), così come quelle
spostamenti di sostituzione e failover (rf) dove il nodo primario dell'istanza non è
drenato. Se usato insieme all'opzione --evac-mode, le uniche migrazioni che
hbal eseguirà migrazioni di istanze da un nodo svuotato. Questo può essere utile se
durante una reinstallazione del sistema operativo di base la migrazione è possibile solo dal
vecchio sistema operativo al nuovo sistema operativo. Nota, tuttavia, che di solito l'uso dei tag di migrazione è il
scelta migliore.

--select-instances=*istanze*
Questo parametro contrassegna le istanze fornite (come un elenco separato da virgole) come l'unico
quelli che vengono spostati durante il riequilibrio.

--exclude-instances=*istanze*
Questo parametro contrassegna le istanze fornite (come un elenco separato da virgole) dall'essere
spostato durante il riequilibrio.

-U file-util
Questo parametro specifica un file che contiene informazioni sull'utilizzo dinamico dell'istanza
che verrà utilizzato per modificare l'algoritmo di bilanciamento per equalizzare il carico sui nodi
(al contrario dell'utilizzo di risorse statiche). Il file è nel formato "nome_istanza
cpu_util mem_util disk_util net_util" dove vengono interpretati i parametri "_util"
poiché i numeri e il nome dell'istanza devono corrispondere esattamente all'istanza letta da
Ganeti. In caso di nomi di istanze sconosciuti, il programma verrà interrotto.

In caso contrario, i valori predefiniti sono uno per tutte le metriche e quindi dinamici
l'utilizzo ha un solo effetto sull'algoritmo: l'equalizzazione del secondario
istanze tra i nodi (questa è l'unica metrica che non viene tracciata da un altro,
valore dedicato, e quindi il carico su disco delle istanze causerà un'istanza secondaria
equalizzazione). Nota che il valore di uno influenzerà leggermente anche il primario
numero di istanze, ma questo è già tracciato tramite altre metriche e quindi il
l'influenza dell'utilizzo dinamico sarà praticamente insignificante.

--ignore-dynu
Se fornite, tutte le informazioni sull'utilizzo dinamico verranno ignorate presumendo che lo sia
0. Questa opzione avrà la precedenza su qualsiasi dato passato dall'opzione -U o da
i MonD con l'opzione --mond e --mond-data.

--ignore-soft-errori
Se dato, tutti i controlli per errori soft verranno omessi quando si considera il bilanciamento
si sposta. In questo modo, è possibile progredire in un cluster in cui tutti i nodi sono in a
cattivo stato dal punto di vista della politica, come il superamento dei rapporti di oversubscription sulla CPU o sui mandrini.

-S Nome del file, --save-cluster=*nomefile*
Se fornito, lo stato del cluster prima del bilanciamento viene salvato nel file specificato
più l'estensione "originale" (cioè Nome del file.originale) e lo stato alla fine
del bilanciamento viene salvato nel file dato più l'estensione "bilanciato" (cioè
Nome del file.equilibrato). Ciò consente di alimentare nuovamente lo stato del cluster su hbal stesso
o per esempio hspace tramite l'opzione -t.

-t file di dati, --text-data=*file di dati*
Specifica del backend: il nome del nodo che contiene il file e le informazioni sull'istanza
(se non ritiro tramite RAPI o LUXI). Questo o uno degli altri backend deve essere
selezionato. L'opzione è descritta nella pagina man strumenti(1).

--mond=*sì|no*
Se fornito, il programma interrogherà tutti i MonD per recuperare i dati dai dati supportati
collezionisti in rete.

--mond-xen
Se fornito, interroga anche i collettori specifici di Xen da MonD, a condizione che il monitoraggio
i demoni vengono interrogati.

--exit-on-missing-mond-data
Se fornito, interrompe se i dati ottenibili dall'interrogazione di MonDs sono incompleti. Il
il comportamento predefinito consiste nel continuare con un'ipotesi migliore basata sulle informazioni statiche.

--mond-data file di dati
Il nome del file che contiene i dati forniti da MonD, per sovrascrivere il quering MonDs
sulla rete. Questo è usato principalmente per il debug. Il file deve essere in JSON
formattare e presentare un array di oggetti JSON, uno per ogni nodo, con due membri.
Il primo membro denominato nodo è il nome del nodo e il secondo membro denominato
report è un array di oggetti report. Gli oggetti del report devono essere uguali
formato come prodotto dall'agente di monitoraggio.

-m gruppo
Specifiche del backend: raccogli i dati direttamente dal gruppo dato come argomento
tramite RAPI. L'opzione è descritta nella pagina man strumenti(1).

-L [sentiero]
Specifiche del backend: raccogliere i dati direttamente dal demone principale, che deve essere
contattato tramite LUXI (protocollo interno Ganeti). L'opzione è descritta in
pagina man strumenti(1).

-X Quando si usa il backend Luxi, hbal può anche eseguire i comandi dati. Il
metodo di esecuzione consiste nell'eseguire i singoli insiemi di lavori (vedi il -C opzione per
dettagli) in fasi separate, interrompendo se in qualsiasi momento un jobset non ha tutti i job
riuscito. Ogni passaggio nella soluzione di bilanciamento sarà tradotto esattamente in
un lavoro Ganeti (con da uno a tre OpCode), e tutti i passaggi in a
jobset verrà eseguito in parallelo. I jobset stessi vengono eseguiti in serie.

L'esecuzione della serie di ordini può essere interrotta, vedere sotto per la gestione del segnale.

-l N, --max-lunghezza=*N*
Limita la soluzione a questa lunghezza. Questo può essere usato ad esempio per automatizzare il
esecuzione del bilanciamento.

--max-cpu=*rapporto cpu*
Il rapporto massimo tra virtuale e fisica della CPU, come numero in virgola mobile maggiore di
o uguale a uno. Ad esempio, specificando rapporto cpu as 2.5 significa che, per un 4-cpu
macchina, è necessario consentire l'utilizzo di un massimo di 10 CPU virtuali per il primario
istanze. Un valore di esattamente uno significa che non ci sarà abbonamento eccessivo della CPU
(ad eccezione del tempo di CPU utilizzato dal nodo stesso) e i valori inferiori a uno non rendono
senso, poiché ciò significa che altre risorse (ad esempio il disco) non saranno completamente utilizzate a causa di
Restrizioni della CPU.

--min-disk=*rapporto-disco*
La quantità minima di spazio libero su disco rimanente, come numero in virgola mobile. Per
esempio, specificando rapporto disco as 0.25 significa che almeno un quarto del disco
lo spazio dovrebbe essere lasciato libero sui nodi.

-G uuid, --group=*uuid*
In un cluster a più gruppi, seleziona questo gruppo per l'elaborazione. Altrimenti hbal lo farà
abort, poiché non può bilanciare più gruppi contemporaneamente.

-v, --verboso
Aumenta la verbosità dell'output. Ogni utilizzo di questa opzione aumenterà il
verbosità (attualmente più di 2 non ha senso) dal valore predefinito di uno.

-Q, --silenzioso
Diminuire la verbosità dell'output. Ogni utilizzo di questa opzione diminuirà il
verbosità (meno di zero non ha senso) dal valore predefinito di uno.

-V, --versione
Basta mostrare la versione del programma ed uscire.

SEGNALE TRATTAMENTO


Quando si eseguono lavori tramite LUXI (usando l'opzione -X), normalmente hbal eseguirà tutti i lavori
fino a quando non si verifica un errore o tutti i lavori non vengono completati correttamente.

Poiché il bilanciamento può richiedere molto tempo, è possibile interrompere anticipatamente hbal in due modi:

· inviando un SIGINT (^C), hbal registrerà la richiesta di terminazione e attenderà
fino al termine dei lavori attualmente inviati, a quel punto uscirà (con codice di uscita 0
se tutti i lavori sono finiti correttamente, altrimenti con codice di uscita 1 come al solito)

· inviando un SIGTERM, hbal uscirà immediatamente (con codice di uscita 2); è il
responsabilità dell'utente di mettersi in contatto con Ganeti e controllare il risultato del
lavori attualmente in esecuzione

Nota che in ogni situazione, è perfettamente sicuro uccidere hbal, tramite i segnali di cui sopra
o tramite qualsiasi altro segnale (es. SIGQUIT, SIGKILL), poiché i lavori stessi vengono elaborati
da Ganeti mentre hbal (dopo la sottomissione) osserva solo la loro progressione. In questo caso,
l'utente dovrà interrogare Ganeti per i risultati del lavoro.

EXIT STATUS


Lo stato di uscita del comando sarà zero, a meno che per qualche motivo l'algoritmo non abbia fallito
(ad es. dati di nodo o istanza errati), opzioni della riga di comando non valide o (in caso di lavoro
esecuzione) uno dei lavori non è riuscito.

Una volta avviata l'esecuzione del lavoro tramite Luxi (-X), se il bilanciamento è stato interrotto anticipatamente (tramite
SIGINT, o tramite --max-length) ma tutti i lavori sono stati eseguiti correttamente, lo stato di uscita è
zero; un codice di uscita diverso da zero significa che lo stato del cluster dovrebbe essere indagato, poiché a
il lavoro non è riuscito o non è stato possibile calcolarne lo stato e questo può anche indicare un problema sul
lato Ganeti.

Usa hbal online utilizzando i servizi onworks.net


Ad


Ad