EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

hbal – Online in der Cloud

Führen Sie hbal im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl hbal, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


hbal – Cluster-Balancer für Ganeti

ZUSAMMENFASSUNG


hbal {Backend-Optionen...} [Algorithmusoptionen...] [Berichtsoptionen...]

hbal --Version

Backend-Optionen:

{ -m Gruppe | -L[ Weg ] [-X] | -t Datendatei | -I Weg }

Algorithmusoptionen:

[ --max-cpu CPU-Verhältnis ] [ --min-disk Scheibenverhältnis ] [ -l begrenzen ] [ -e Ergebnis ] [ -g Delta ] [
--min-gain-limit Schwelle ] [ -O Name... ] [ --no-disk-moves ] [ --no-instance-moves ] [
-U util-Datei ] [ --ignore-dynu ] [ --ignore-soft-errors ] [ --mond ja|nein ] [ --mond-xen ]
[ --exit-on-missing-mond-data ] [ --evac-mode ] [ --restricted-migration ] [
--select-instances inst... ] [ --exclude-instances inst... ]

Berichtsoptionen:

[ -C[ Datei ] ] [ -P[ Felder ] ] [ --print-instances ] [ -S Datei ] [ -v... | -q ]

BESCHREIBUNG


hbal ist ein Cluster-Balancer, der den aktuellen Status des Clusters (Knoten mit
deren gesamte und freie Festplatte, Arbeitsspeicher usw.) und Instanzplatzierung und berechnet eine Reihe von
Schritte, die den Cluster in einen besseren Zustand bringen sollen.

Der verwendete Algorithmus ist auf Stabilität ausgelegt (d. h. er liefert die gleichen Ergebnisse, wenn).
Neustart in der Mitte der Lösung) und einigermaßen schnell. Es ist jedoch nicht
Entwickelt, um ein perfekter Algorithmus zu sein: Es ist möglich, ihn in eine Ecke gehen zu lassen
es kann keine Verbesserung feststellen, weil es nur einen „Schritt“ vorausschaut.

Das Programm greift über Rapi oder Luxi auf den Clusterzustand zu. Es fordert auch Daten über die an
Netzwerk von allen MonDs mit der Option --mond. Derzeit werden nur Daten verwendet, die von erstellt wurden
CPUload-Kollektor.

Standardmäßig zeigt das Programm die Lösung während der Berechnung inkrementell an
etwas kryptisches Format; Um die aktuelle Ganeti-Befehlsliste zu erhalten, verwenden Sie die -C .

ALGORITHM
Das Programm arbeitet in unabhängigen Schritten; Bei jedem Schritt berechnen wir die beste Instanzverschiebung
das senkt den Cluster-Score.

Der mögliche Verschiebungstyp für eine Instanz sind Kombinationen aus Failover/Migration und
replace-disks, sodass wir einen der Instanzknoten ändern und der andere bestehen bleibt
(aber möglicherweise mit geänderter Rolle, z. B. von primär zu sekundär). Die Liste ist:

· Failover (f)

· Sekundär ersetzen (r)

· Primär ersetzen, ein zusammengesetzter Zug (f, r, f)

· Failover und sekundäres Ersetzen, auch zusammengesetzt (f, r)

· Sekundär und Failover ersetzen, auch zusammengesetzt (r, f)

Wir machen nicht die einzige verbleibende Möglichkeit, beide Knoten (r,f,r,f oder die) zu ersetzen
Äquivalent f,r,f,r), da diese Bewegungen eine umfassende Suche über beide Kandidaten erfordern
Primär- und Sekundärknoten und beträgt O(n*n) in der Anzahl der Knoten. Darüber hinaus ist es
scheint keine besseren Ergebnisse zu erzielen, wird aber zu mehr Festplattenwechseln führen.

INVESTMENT RESTRICTIONS
Bei jedem Schritt verhindern wir eine Instanzverschiebung, wenn sie Folgendes verursachen würde:

· ein Knoten, der in den N+1-Fehlerzustand wechselt

· eine Instanz zum Verschieben auf einen Offline-Knoten (Offline-Knoten werden entweder aus dem Cluster gelesen).
oder mit deklariert -O; entleerte Knoten gelten als offline)

· ein auf Ausschluss-Tags basierender Konflikt (Ausschluss-Tags werden aus dem Cluster gelesen und/oder definiert).
über das --exclusion-tags Option)

· ein maximales VCPU/PCPU-Verhältnis, das überschritten werden soll (konfiguriert über --max-cpu)

· Mindestprozentsatz freier Festplatte, um unter den konfigurierten Grenzwert zu fallen (konfiguriert über --min-disk)

CLUSTER WERTUNG
Wie bereits erwähnt, versucht der Algorithmus, den Cluster-Score bei jedem Schritt zu minimieren. Momentan
Diese Punktzahl wird als gewichtete Summe der folgenden Komponenten berechnet:

· Standardabweichung des Prozentsatzes des freien Speichers

· Standardabweichung des Prozentsatzes des reservierten Speichers

· die Summe der Prozentsätze des reservierten Speichers

· Standardabweichung des Prozentsatzes der freien Festplatte

· Anzahl der Knoten, die die N+1-Prüfung nicht bestehen

· Anzahl der Instanzen, die (entweder als primäre oder sekundäre) auf Offline-Knoten leben; im
Im Sinne von hbal (und den anderen htools) werden entleerte Knoten als offline betrachtet

· Anzahl der Instanzen, die (als primäre) auf Offline-Knoten leben; dies unterscheidet sich von oben
Metrik, indem es das Failover solcher Instanzen in 2-Knoten-Clustern unterstützt

· Standardabweichung des Verhältnisses von virtueller zu physischer CPU (für primäre Instanzen von
der Knoten)

· Standardabweichung des Anteils der verfügbaren Spindeln (im dedizierten Modus,
Spindeln stellen physische Spindeln dar; Ansonsten ist diese überschreibbare Maßnahme für IO
Auslastung und der Überbelegungsfaktor wird bei der Berechnung der Anzahl berücksichtigt
verfügbare Spindeln)

· Standardabweichung der dynamischen Belastung der Knoten, für CPU, Speicher, Festplatte und Netzwerk

· Standardabweichung der von MonD bereitgestellten CPU-Last

· die Anzahl der Instanzen mit Primär- und Sekundärinstanzen in derselben Fehlerdomäne

Die Werte für freien Speicher und freien Datenträger tragen dazu bei, dass alle Knoten einigermaßen ausgeglichen sind
deren Ressourcenverbrauch. Der reservierte Speicher trägt dazu bei, sicherzustellen, dass Knoten vorhanden sind
Ausgewogen bei der Aufnahme von Sekundärinstanzen und dass kein Knoten zu viel Speicher reserviert
für N+1. Und schließlich hilft der N+1-Prozentsatz dem Algorithmus bei der Eliminierung
N+1 Ausfälle, wenn möglich.

Mit Ausnahme der N+1-Fehler, der Anzahl der Offline-Instanzen und der Fehlerdomänenverletzung
zählt, verwenden wir die Standardabweichung, da bei Verwendung mit Werten innerhalb eines festen Bereichs (wir
Verwenden Sie Prozentsätze, die als Werte zwischen null und eins ausgedrückt werden.) Es werden konsistente Ergebnisse über alle Bereiche hinweg erzielt
alle Metriken (es gibt ein paar kleine Probleme im Zusammenhang mit den verschiedenen Mittelwerten, aber es funktioniert
im Allgemeinen gut). Die Werte vom Typ „Anzahl“ haben eine höhere Punktzahl und sind daher wichtiger
zum Ausbalancieren; Daher eignen sich diese besser für harte Einschränkungen (wie das Evakuieren von Knoten usw.).
Behebung von N+1 Fehlern). Beispielsweise zählen die Offline-Instanzen (d. h. die Anzahl der
Instanzen, die auf Offline-Knoten leben) bewirken, dass der Algorithmus Instanzen aktiv verschiebt
weg von Offline-Knoten. Dies gepaart mit der Einschränkung der Platzierung im Offline-Modus
Knoten, führt zur Evakuierung dieser Knoten.

Die dynamischen Lastwerte müssen aus einer externen Datei gelesen werden (Ganeti stellt diese nicht bereit).
sie) und werden für jeden Knoten wie folgt berechnet: Summe der CPU-Last der Primärinstanz, Summe der Primärinstanz
Instanzspeicherlast, Summe der Festplattenlast der primären und sekundären Instanz (wie DRBD generiert).
Schreiblast auf Sekundärknoten im Normalfall auch und in beeinträchtigten Szenarien auch Leselast
Last) und Summe der Netzwerklast der primären Instanz. Ein Beispiel, wie man diese generiert
Werte für die Eingabe in hbal wären die Verfolgung der xm-Liste für Instanzen über einen Tag hinweg
Berechnen Sie das Delta der CPU-Werte und geben Sie es über das ein -U Option für alle Instanzen
(und behalten Sie die anderen Metriken bei). Damit der Algorithmus funktioniert, ist lediglich Folgendes erforderlich:
dass die Werte für eine Metrik über alle Instanzen hinweg konsistent sind (z. B. alle Instanzen verwenden).
cpu%, um die CPU-Auslastung zu melden, und nicht etwas, das sich auf die Anzahl der verwendeten CPU-Sekunden bezieht, wenn die
CPUs sind unterschiedlich) und dass sie auf zwischen Null und Eins normalisiert sind. Beachten Sie, dass es so ist
Seitdem wird empfohlen, für keine Instanzmetrik Null als Lastwert zu verwenden
Sekundärinstanzen sind nicht gut ausbalanciert.

Die CPU-Last vom Datensammler von MonD wird nur verwendet, wenn alle MonDs laufen.
andernfalls hat es keinen Einfluss auf den Cluster-Score. Da wir die CPU-Auslastung nicht für jeden ermitteln können
Beispielsweise können wir davon ausgehen, dass die CPU-Auslastung einer Instanz proportional zur Anzahl ist
Es ist vcpus. Mit dieser Heuristik neigen Instanzen von Knoten mit hoher CPU-Auslastung dazu, sich zu verschieben
zu Knoten mit geringerer CPU-Last.

Auf einem perfekt ausbalancierten Cluster (alle Knoten gleich groß, alle Instanzen gleich groß und
gleichmäßig über die Knoten verteilt), wären die Werte für alle Metriken Null, mit dem
Ausnahme ist der Gesamtprozentsatz des reservierten Speichers. Das passiert nicht allzu oft
üben :)

OFFLINE INSTANZEN
Da aktuelle Ganeti-Versionen den von Offline-(Down-)Instanzen verwendeten Speicher nicht melden,
Das Ignorieren des Ausführungsstatus von Instanzen führt zu falschen Berechnungen. Aus diesem Grund ist die
Der Algorithmus subtrahiert die Speichergröße heruntergefahrener Instanzen vom freien Knotenspeicher ihrer Instanzen
Primärknoten, der praktisch den Start solcher Instanzen simuliert.

AUSSCHLUSS STICHWORTE
Der Ausschluss-Tags-Mechanismus soll Instanzen verhindern, die dieselbe Arbeitslast ausführen
(z. B. zwei DNS-Server) auf demselben Knoten landen, wodurch der jeweilige Knoten a
SPOF für den jeweiligen Dienst.

Es funktioniert, indem es Instanzen mit bestimmten Tags markiert und dann darauf basierende Ausschlusskarten erstellt
diese. Welche Tags tatsächlich verwendet werden, wird entweder über die Befehlszeile konfiguriert (Option
--exclusion-tags) oder durch Hinzufügen zu den Cluster-Tags:

--exclusion-tags=a,b
Dadurch werden alle Instanz-Tags des Formulars erstellt A:*, B:* berücksichtigt werden
Ausschlusskarte

Gruppe Tags htools:iextags:a, htools:iextags:b
Dadurch werden Instanz-Tags erstellt A:*, B:* für die Ausschlusskarte berücksichtigt werden. Mehr
Genauer gesagt, das Suffix von Cluster-Tags, die mit beginnen htools:iextags: wird zum
Präfix der Ausschluss-Tags.

Beide oben genannten Formen bedeuten, dass zwei Instanzen beide (z. B.) das Tag haben a:foo or b:bar
endet nicht auf demselben Knoten.

MIGRATION STICHWORTE
Wenn Ganeti in einem heterogenen Cluster bereitgestellt wird, ist eine Migration dazwischen möglicherweise nicht möglich
alle Knoten einer Knotengruppe. Ein Beispiel für eine solche Situation ist die Aktualisierung des Hypervisors
Knoten für Knoten. Um HBAL auf diese Einschränkungen aufmerksam zu machen, sind die folgenden Cluster-Tags vorhanden
benutzt.

Gruppe Tags htools:migration:a, htools:migration:b, etc
Dadurch werden Knoten-Tags des Formulars erstellt A:*, B:*usw. gelten als Migration
Beschränkung. Genauer gesagt, das Suffix von Cluster-Tags, die mit beginnen
htools:migration: wird zum Präfix der Migrations-Tags. Nur die
Migrationen werden berücksichtigt, wenn alle Migrations-Tags der Quelle berücksichtigt werden
Knoten sind auch auf dem Zielknoten vorhanden.

Gruppe Tags htools:allowmigration:x::y für Migration Tags x und y
Dies bestätigt, dass ein Knoten markiert ist y ist in der Lage, Instanzen auf die gleiche Weise zu empfangen, als ob
sie hatten eine x -Tag.

Im einfachen Fall eines Hypervisor-Upgrades werden also alle Knoten markiert, die durchgeführt wurden
ein Upgrade mit einem Migrations-Tag reicht aus. In komplizierteren Situationen ist dies immer der Fall
Es ist möglich, für jeden verwendeten Hypervisor ein anderes Migrations-Tag zu verwenden und dies explizit anzugeben
erlaubte Migrationsrichtungen mittels htools:allowmigration: Stichworte.

STANDORT STICHWORTE
Innerhalb einer Knotengruppe ist es möglicherweise wahrscheinlicher, dass bestimmte Knoten aufgrund eines gleichzeitig ausfallen
häufige Fehlerursache (z. B. wenn sie das gleiche Netzteil verwenden). Ganeti kann sein
werden mittels Tags auf die häufigsten Fehlerursachen aufmerksam gemacht.

Gruppe Tags htools:nlocation:a, htools:nlocation:b, etc
Dadurch werden Knoten-Tags des Formulars erstellt A:*, B:*usw. gelten als gemeinsam
Ursache des Scheiterns.

Berücksichtigt werden Instanzen, bei denen Primär- und Sekundärknoten eine gemeinsame Fehlerursache haben
schlecht platziert. Obwohl solche Einsätze immer erlaubt sind, zählen sie doch stark zum
Cluster-Score.

OPTIONAL


Folgende Optionen können an das Programm übergeben werden:

-VS, --print-commands
Drucken Sie die Befehlsliste am Ende des Laufs aus. Ohne dies funktioniert das Programm nur
zeigen eine kürzere, aber kryptische Ausgabe.

Beachten Sie, dass die Umzugsliste in unabhängige Schritte, sogenannte „Jobsets“, aufgeteilt wird.
aber nur zur visuellen Inspektion, nicht zur tatsächlichen Parallelisierung. Es ist nicht
möglich, diese direkt zu parallelisieren, wenn sie über „gnt-instance“-Befehle ausgeführt werden,
da ein zusammengesetzter Befehl (z. B. Failover und „Replace-Disk“) ausgeführt werden muss
seriell. Eine parallele Ausführung ist nur bei Verwendung des Luxi-Backends und des möglich
-L .

Der Algorithmus zum Aufteilen der Bewegungen in Jobsets besteht darin, Bewegungen bis zu akkumulieren
der nächste Zug besteht darin, Knoten zu berühren, die bereits von den aktuellen Zügen berührt wurden; das bedeutet wir
kann nicht parallel ausgeführt werden (aufgrund der Ressourcenzuweisung in Ganeti) und daher beginnen wir
ein neues Jobset.

-P, --print-nodes
Druckt den Vorher- und Nachher-Knotenstatus in einem Format, das dem Benutzer ermöglicht,
die wichtigsten Parameter des Knotens verstehen. Siehe die Manpage Werkzeuge(1) für
mehr Details zu dieser Option.

--print-instances
Druckt die Vorher- und Nachher-Instanzkarte. Dies ist weniger nützlich, da der Knotenstatus,
aber es kann helfen, Instanzbewegungen zu verstehen.

-O Name
Diese Option (die mehrmals angegeben werden kann) markiert Knoten als vorhanden Offline-Bereich..
Das bedeutet ein paar Dinge:

· Instanzen werden nicht auf diesen Knoten platziert, auch nicht vorübergehend; zB die ersetzen
primär „Verschieben“ ist seit dieser Verschiebung nicht verfügbar, wenn der sekundäre Knoten offline ist
erfordert ein Failover.

· Diese Knoten werden nicht in die Punkteberechnung einbezogen (außer
Prozentsatz der Instanzen auf Offline-Knoten)

Beachten Sie, dass der Algorithmus auch alle von RAPI gemeldeten Knoten als offline markiert
als solche, oder die haben „?“ bei der dateibasierten Eingabe in beliebigen numerischen Feldern.

-e Ergebnis, --min-score=*score*
Dieser Parameter gibt an, wie viel über der N+1-Grenze der Cluster-Score liegen kann
ist mit der Berechnung zufrieden und ändert sie auf zwei Arten:

· Wenn die Anfangspunktzahl des Clusters unter diesem Wert liegt, nehmen wir nicht teil
den Algorithmus überhaupt nicht und beenden ihn mit Erfolg

· Wenn wir während des iterativen Prozesses eine Punktzahl erreichen, die unter diesem Wert liegt, brechen wir ab
der Algorithmus

Der Standardwert des Parameters ist derzeit 1e-9 (empirisch gewählt).

-g Delta, --min-gain=*delta*
Da der Ausgleichsalgorithmus manchmal nur zu sehr kleinen Verbesserungen führen kann,
die weniger Gewinn bringen, als sie an Umzugszeit kosten, dieser Parameter (Standardeinstellung).
bis 0.01) stellt die minimale Verstärkung dar, die wir während eines Schritts benötigen, um fortzufahren
balancieren.

--min-gain-limit=*threshold*
Die obige Min-Gain-Option wird nur wirksam, wenn der Cluster-Score bereits vorhanden ist
unten Schwelle (Standard ist 0.1). Der Grund für diese Einstellung ist, dass bei
Bei hohen Cluster-Scores (schlecht ausbalancierte Cluster) möchten wir die Neuausrichtung nicht abbrechen
zu schnell, da spätere Gewinne immer noch erheblich sein könnten. Allerdings unter der
Schwellenwert, der Gesamtgewinn ist nur der Schwellenwert, sodass wir vorzeitig beenden können.

--no-disk-moves
Dieser Parameter verhindert, dass hbal die Datenträgerverschiebung verwendet (z. B. „gnt-instance
„replace-disks“)-Vorgänge. Dies führt zu einem viel schnelleren Ausgleich, aber von
Natürlich sind die Verbesserungen begrenzt. Es ist Sache des Benutzers, zu entscheiden, wann er es verwendet
das eine oder das andere.

--no-instance-moves
Dieser Parameter verhindert, dass hbal Instanzverschiebungen verwendet (z. B. „gnt-instance
Migrations-/Failover-Vorgänge. Hierbei wird nur der langsame Festplattenaustausch verwendet
Operationen und sorgen auch für eine schlechtere Balance, können aber bei Umzügen nützlich sein
Instanzen in der Umgebung gelten als unsicher oder nicht bevorzugt.

--evac-mode
Dieser Parameter schränkt die Liste der Instanzen ein, die zum Verschieben berücksichtigt werden
Leben auf offline/entladenen Knoten. Es kann als (Groß-)Ersatz für verwendet werden
Ganetis eigene gnt-Knoten evakuieren, mit dem Hinweis, dass es keine Garantie für die Vollständigkeit gibt
Evakuierung.

--restricted-migration
Dieser Parameter verbietet alle Ersetzungs-Primärbewegungen (frf) sowie solche
„Replace-and-Failover“ verschiebt (rf) dorthin, wo sich der Primärknoten der Instanz nicht befindet
entwässert. Bei Verwendung zusammen mit der Option --evac-mode werden nur Migrationen durchgeführt
hbal reicht aus, wenn Instanzen von einem entleerten Knoten migriert werden. Dies kann nützlich sein, wenn
Bei einer Neuinstallation des Basisbetriebssystems ist eine Migration nur von dort aus möglich
altes Betriebssystem auf das neue Betriebssystem. Beachten Sie jedoch, dass in der Regel die Verwendung von Migrations-Tags erfolgt
bessere Wahl.

--select-instances=*instanzen*
Dieser Parameter markiert die angegebenen Instanzen (als durch Kommas getrennte Liste) als einzige
diejenigen, die während der Neuausrichtung verschoben werden.

--exclude-instances=*instanzen*
Dieser Parameter markiert die angegebenen Instanzen (als durch Kommas getrennte Liste) als vorhanden
während der Neuausrichtung verschoben.

-U util-Datei
Dieser Parameter gibt eine Datei an, die Informationen zur dynamischen Instanznutzung enthält
Dies wird verwendet, um den Ausgleichsalgorithmus zu optimieren, um die Last auf den Knoten auszugleichen
(im Gegensatz zur statischen Ressourcennutzung). Die Datei hat das Format „Instanzname
cpu_util mem_util disk_util net_util“, wobei die „_util“-Parameter interpretiert werden
als Zahlen und der Instanzname muss genau mit der Instanz übereinstimmen, aus der gelesen wurde
Ganeti. Bei unbekannten Instanznamen bricht das Programm ab.

Wenn nicht angegeben, gelten die Standardwerte für alle Metriken als einheitlich und sind daher dynamisch
Die Ausnutzung hat nur einen Effekt auf den Algorithmus: die Entzerrung der Sekundärseite
Instanzen über Knoten hinweg (dies ist die einzige Metrik, die nicht von einer anderen verfolgt wird,
Dedizierter Wert, und daher führt die Festplattenlast der Instanz zu einer sekundären Instanz
Ausgleich). Beachten Sie, dass der Wert eins auch einen geringfügigen Einfluss auf den Primärwert hat
Instanzanzahl, aber das wird bereits über andere Metriken verfolgt und somit die
Der Einfluss der dynamischen Auslastung wird praktisch unbedeutend sein.

--ignore-dynu
Falls angegeben, werden alle dynamischen Nutzungsinformationen ignoriert, indem angenommen wird, dass sie
0. Diese Option hat Vorrang vor allen Daten, die mit der Option -U oder von übergeben werden
die MonDs mit der Option --mond und --mond-data.

--ignore-soft-errors
Falls vorhanden, entfallen alle Prüfungen auf weiche Fehler, wenn ein Ausgleich in Betracht gezogen wird
bewegt sich. Auf diese Weise können Fortschritte in einem Cluster erzielt werden, in dem sich alle Knoten in einem befinden
Richtlinienmäßig schlechter Zustand, z. B. Überschreitung der Überbelegungsraten bei CPU oder Spindeln.

-S Dateinamen, --save-cluster=*Dateiname*
Falls angegeben, wird der Status des Clusters vor dem Ausgleich in der angegebenen Datei gespeichert
plus die Erweiterung „original“ (d. h Dateinamen.original) und den Status am Ende
des Ausgleichs wird in der angegebenen Datei plus der Erweiterung „ausgeglichen“ gespeichert (z. B
Dateinamen.ausgewogen). Dies ermöglicht die erneute Zuführung des Clusterstatus zu jedem HBAL selbst
oder zum Beispiel hspace über die Option -t.

-t Datendatei, --text-data=*Datendatei*
Backend-Spezifikation: der Name des Dateispeicherknotens und Instanzinformationen
(sofern nicht über RAPI oder LUXI abgeholt). Dies oder eines der anderen Backends muss sein
ausgewählt. Die Option wird in der Manpage beschrieben Werkzeuge(1).

--mond=*ja|nein*
Wenn angegeben, fragt das Programm alle MonDs ab, um Daten aus den unterstützten Daten abzurufen
Sammler über das Netzwerk.

--mond-xen
Falls angegeben, fragen Sie auch Xen-spezifische Collectors von MonD ab, vorausgesetzt, dass die Überwachung erfolgt
Daemons werden überhaupt abgefragt.

--exit-on-missing-mond-data
Falls angegeben, wird der Vorgang abgebrochen, wenn die durch die Abfrage von MonDs erhältlichen Daten unvollständig sind. Der
Das Standardverhalten besteht darin, mit einer bestmöglichen Schätzung basierend auf den statischen Informationen fortzufahren.

--mond-data Datendatei
Der Name der Datei, die die von MonD bereitgestellten Daten enthält, um Abfragen von MonDs zu überschreiben
über das Netzwerk. Dies wird hauptsächlich zum Debuggen verwendet. Die Datei muss in JSON vorliegen
formatieren und präsentieren Sie ein Array von JSON-Objekten , eines für jeden Knoten, mit zwei Mitgliedern.
Das erste Mitglied namens node ist der Name des Knotens und das zweite Mitglied namens
Berichte ist ein Array von Berichtsobjekten. Die Berichtsobjekte müssen gleich sein
Format, wie es vom Überwachungsagenten erstellt wurde.

-m Gruppe
Backend-Spezifikation: Sammeln Sie Daten direkt vom Gruppe als Argument angegeben
über RAPI. Die Option wird in der Manpage beschrieben Werkzeuge(1).

-L [Weg]
Backend-Spezifikation: Sammeln Sie Daten direkt vom Master-Daemon, der sein soll
über LUXI (ein internes Ganeti-Protokoll) kontaktiert. Die Option ist im beschrieben
Man Seite Werkzeuge(1).

-X Bei Verwendung des Luxi-Backends kann hbal die angegebenen Befehle auch ausführen. Der
Die Ausführungsmethode besteht darin, die einzelnen Jobsets auszuführen (siehe -C Option für
Details) in separaten Schritten und wird abgebrochen, wenn zu irgendeinem Zeitpunkt nicht alle Jobs in einem Jobset vorhanden sind
erfolgreich. Jeder Schritt in der Auswuchtlösung wird exakt umgesetzt
ein Ganeti-Job (mit einem bis drei OpCodes) und alle Schritte in einem
Jobset wird parallel ausgeführt. Die Jobsets selbst werden seriell ausgeführt.

Die Ausführung der Auftragsreihe kann unterbrochen werden, Signalbehandlung siehe unten.

-l N, --max-length=*N*
Beschränken Sie die Lösung auf diese Länge. Dies kann beispielsweise zur Automatisierung genutzt werden
Durchführung der Bilanzierung.

--max-cpu=*CPU-Verhältnis*
Das maximale Verhältnis von virtueller zu physischer CPU, als Gleitkommazahl größer als
oder gleich eins. Zum Beispiel spezifizieren CPU-Verhältnis as 2.5 bedeutet das für eine 4-CPU
Für die primäre Maschine dürfen maximal 10 virtuelle CPUs verwendet werden
Instanzen. Ein Wert von genau eins bedeutet, dass keine Überbelegung der CPU erfolgt
(mit Ausnahme der vom Knoten selbst verwendeten CPU-Zeit) und Werte unter eins machen nichts
Sinn, da dies bedeutet, dass andere Ressourcen (z. B. Festplatte) aufgrund von nicht vollständig genutzt werden
CPU-Einschränkungen.

--min-disk=*Festplattenverhältnis*
Der minimal verbleibende freie Speicherplatz als Gleitkommazahl. Für
Beispiel, Angabe Scheibenverhältnis as 0.25 bedeutet, dass mindestens ein Viertel der Festplatte
Auf den Knoten sollte Platz frei bleiben.

-G uuid, --group=*uuid*
Wählen Sie in einem Cluster mit mehreren Gruppen diese Gruppe zur Verarbeitung aus. Andernfalls wird hbal
abbrechen, da nicht mehrere Gruppen gleichzeitig ausgeglichen werden können.

-in, - ausführlich
Erhöhen Sie die Ausführlichkeit der Ausgabe. Jede Nutzung dieser Option erhöht die
Ausführlichkeit (derzeit machen mehr als 2 keinen Sinn) vom Standardwert eins.

-Q, --ruhig
Verringern Sie die Ausführlichkeit der Ausgabe. Jede Nutzung dieser Option verringert die
Ausführlichkeit (weniger als Null macht keinen Sinn) vom Standardwert eins.

-V, --Version
Zeigen Sie einfach die Programmversion an und beenden Sie das Programm.

SIGNAL HANDHABUNG


Bei der Ausführung von Jobs über LUXI (mit der Option -X) führt hbal normalerweise alle Jobs aus
bis entweder ein Fehler auftritt oder alle Jobs erfolgreich abgeschlossen werden.

Da das Balancieren lange dauern kann, gibt es zwei Möglichkeiten, HBAL vorzeitig zu stoppen:

· Durch Senden eines SIGINT (^C) registriert hbal die Beendigungsanforderung und wartet
bis die aktuell übermittelten Jobs abgeschlossen sind. An diesem Punkt wird es beendet (mit Exit-Code 0).
wenn alle Jobs korrekt beendet wurden, ansonsten wie gewohnt mit Exit-Code 1)

· durch das Senden eines SIGTERM wird hbal sofort beendet (mit Exit-Code 2); es ist der
Es liegt in der Verantwortung des Benutzers, mit Ganeti Kontakt aufzunehmen und das Ergebnis zu überprüfen
aktuell ausgeführte Jobs

Beachten Sie, dass es in jeder Situation absolut sicher ist, hbal zu töten, entweder über die oben genannten Signale
oder über ein beliebiges anderes Signal (z. B. SIGQUIT, SIGKILL), da die Jobs selbst verarbeitet werden
von Ganeti, während hbal (nach der Einreichung) nur ihren Fortschritt beobachtet. In diesem Fall,
Der Benutzer muss Ganeti nach Jobergebnissen abfragen.

EXIT STATUS


Der Exit-Status des Befehls ist Null, es sei denn, der Algorithmus ist aus irgendeinem Grund fehlgeschlagen
(z. B. falsche Knoten- oder Instanzdaten), ungültige Befehlszeilenoptionen oder (im Falle eines Jobs
Ausführung) ist einer der Jobs fehlgeschlagen.

Sobald die Jobausführung über Luxi gestartet ist (-X), wenn der Ausgleich vorzeitig unterbrochen wurde (via
SIGINT, oder über --max-length), aber alle Jobs erfolgreich ausgeführt wurden, dann lautet der Exit-Status
null; Ein Exit-Code ungleich Null bedeutet, dass der Clusterstatus untersucht werden sollte, da a
Der Job ist fehlgeschlagen oder wir konnten seinen Status nicht berechnen. Dies kann auch auf ein Problem hinweisen
Ganeti-Seite.

Nutzen Sie hbal online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

  • 1
    SCHLUCK
    SCHLUCK
    SWIG ist ein Softwareentwicklungstool
    das verbindet in C geschriebene Programme und
    C++ mit einer Vielzahl von High-Level
    Programmiersprachen. SWIG wird mit verwendet
    anders...
    SWIG herunterladen
  • 2
    WooCommerce Nextjs Reaktionsthema
    WooCommerce Nextjs Reaktionsthema
    Reagieren Sie mit dem WooCommerce-Theme, das mit erstellt wurde
    Als nächstes JS, Webpack, Babel, Node und
    Express mit GraphQL und Apollo
    Klient. WooCommerce-Shop in React(
    enthält: Produkte...
    Laden Sie WooCommerce Nextjs React Theme herunter
  • 3
    archlabs_repo
    archlabs_repo
    Paket-Repo für ArchLabs Dies ist eine
    Anwendung, die auch abgerufen werden kann
    für
    https://sourceforge.net/projects/archlabs-repo/.
    Es wurde in OnWorks gehostet in...
    Laden Sie archlabs_repo herunter
  • 4
    Zephyr-Projekt
    Zephyr-Projekt
    Das Zephyr Project ist eine neue Generation
    Echtzeitbetriebssystem (RTOS), das
    unterstützt mehrere Hardware
    Architekturen. Es basiert auf einer
    Kernel mit kleinem Fußabdruck ...
    Laden Sie das Zephyr-Projekt herunter
  • 5
    SCons
    SCons
    SCons ist ein Software-Konstruktionstool
    das ist eine überlegene Alternative zum
    klassisches "Make"-Build-Tool, das
    wir alle kennen und lieben. SCons ist
    implementiert ein...
    Laden Sie SCons herunter
  • 6
    PSInt
    PSInt
    PSeInt ist ein Pseudocode-Interpreter für
    spanischsprachige Programmierstudenten.
    Sein Hauptzweck ist es, ein Werkzeug für
    Grundlegendes lernen und verstehen
    Konzept...
    PSeInt herunterladen
  • Mehr »

Linux-Befehle

Ad