To jest polecenie grad, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
grad - wtyczka Ganeti IAllocator
STRESZCZENIE
grad [ -t filet | --symulować specyfikacja ] [opcje...] plik-wejściowy
grad --wersja
OPIS
grad to wtyczka Ganeti IAllocator, która implementuje umieszczanie i przenoszenie instancji
używając tego samego algorytmu co hbal(1).
Program pobiera dane wejściowe za pośrednictwem pliku JSON zawierającego bieżący stan klastra i żądanie
szczegóły i wyprowadź (na standardowe wyjście) odpowiedź w formacie JSON. W przypadku awarii krytycznych
komunikat o błędzie jest drukowany na stderr, a kod zakończenia zostaje zmieniony, aby pokazać błąd.
Jeśli nazwa pliku wejściowego to - (pojedynczy znak minus), to dane żądania zostaną odczytane
stdin.
Oprócz danych wejściowych, grad zbiera dane przez sieć ze wszystkich MonD z opcją --mond
opcja. Obecnie wykorzystuje tylko dane wygenerowane przez moduł zbierający CPUload.
ALGORYTM
W przypadku zwykłych grup węzłów program wykorzystuje uproszczoną wersję algorytmu hbal; Do
przydział dla grup węzłów z wyłączną pamięcią, patrz poniżej.
W przypadku alokacji pojedynczego węzła (instancje niedublowane) ponownie wybieramy węzeł, który, kiedy
wybrany jako węzeł główny, daje najlepszy wynik.
W przypadku alokacji z dwoma węzłami (instancje lustrzane) wybraliśmy najlepszą parę; to jest jedyne
wybór, gdy algorytm nie jest trywialny ze względu na wielkość klastra.
W przypadku relokacji staramy się zmienić węzeł wtórny instancji na wszystkie prawidłowe
inne węzły; wybierany jest węzeł, który daje najlepszy wynik klastra.
W przypadku zmian węzłów (węzeł zmiany mode), obecnie obsługujemy tylko instancje DRBD i wszystko
trzy tryby (zmiany pierwotne, zmiany wtórne i wszystkie zmiany w węzłach).
W przypadku ruchów grupowych (grupa zmian mode), ponownie obsługiwany jest tylko DRBD i obliczamy
poprawna sekwencja, która spowoduje zmianę grupy; niepowodzenie w pracy w połowie spowoduje:
podzielona instancja. Wybór węzła(ów) w grupie docelowej opiera się na wyniku grupy,
a wybór grupy odbywa się w oparciu o ten sam algorytm co przydziały (grupa z najniższym
wynik po umieszczeniu).
Przestarzałe wielokrotna ewakuacja tryby nie są już obsługiwane.
We wszystkich przypadkach punktacja klastra (lub grupy) jest identyczna z algorytmem hbal.
W przypadku alokacji w grupach węzłów z wyłączną pamięcią masową używana jest metryka utraconych alokacji
zamiast tego określić, do którego węzła przydzielić instancję. Dla węzła alokacja
wektor jest wektorem liczby, dla każdego przedziału polityki instancji w kolejności malejącej
instancji minimalnie zgodnych z tym przedziałem, które nadal można umieścić w tym węźle.
Wektor utraconej alokacji dla instancji w węźle jest różnicą alokacji
wektory dla tego węzła przed i po umieszczeniu instancji w tym węźle. The
Metryka utraconych alokacji to wektor utraconej alokacji, po którym następuje pozostały dysk
spacji na wybranym węźle, wszystko porównane leksykograficznie.
OPCJE
Opcje, które można przekazać do programu to:
-P, --print-węzły
Drukuje stan węzła przed i po, w formacie zaprojektowanym tak, aby umożliwić użytkownikowi
zrozumieć najważniejsze parametry węzła. Zobacz stronę podręcznika narzędzia(1) dla
więcej szczegółów na temat tej opcji.
-t plik danych, --text-data=*plik danych*
Nazwa pliku zawierającego informacje o klastrze, które mają zastąpić dane w formacie JSON
sam zażądaj. Jest to używane głównie do debugowania. Format pliku to
opisane na stronie podręcznika narzędzia(1).
--mond=*tak|nie*
Jeśli zostanie podany, program zapyta wszystkie MonDs, aby pobrać dane z obsługiwanych danych
kolektory w sieci.
--mond-dane plik danych
Nazwa pliku zawierającego dane dostarczone przez MonD, w celu zastąpienia zapytania MonDs
przez sieć. Jest to najczęściej używane do debugowania. Plik musi być w formacie JSON
format i przedstawić tablicę obiektów JSON, po jednym dla każdego węzła, z dwoma elementami.
Pierwszy członek o nazwie node to nazwa węzła, a drugi członek o nazwie
raporty to tablica obiektów raportu. Obiekty raportu muszą być w tym samym
format wygenerowany przez agenta monitorowania.
--ignoruj-dynu
Jeśli zostanie podany, wszystkie informacje o dynamicznym wykorzystaniu zostaną zignorowane przy założeniu, że:
0. Ta opcja będzie miała pierwszeństwo przed wszelkimi danymi przekazywanymi przez MonDs za pomocą
--mond i opcję --mond-data.
--ignore-soft-błędy
Jeśli zostanie podany, wszystkie kontrole błędów programowych zostaną pominięte podczas wyszukiwania możliwych
przydziały. W ten sposób można podjąć użyteczną decyzję nawet w przypadku przeciążenia
klastry.
--symulować opis
Specyfikacja backendu: podobna do -t opcja ta umożliwia przesłonięcie klastra
danych z symulowanym klastrem. Aby uzyskać szczegółowe informacje na temat opisu, zobacz stronę podręcznika
narzędzia(1).
-S filename, --save-cluster=*nazwa_pliku*
Jeśli zostanie podany, stan klastra przed uruchomieniem iallocatora zostanie zapisany w pliku
o imieniu nazwapliku.pre-iallocOdpowiednio nazwapliku.post-ialloc, Pozwala to
ponowne przekazanie stanu klastra do dowolnego narzędzia htools za pomocą opcji -t.
-v Ta opcja zwiększa szczegółowość i może być używana do debugowania, aby to zrobić
zrozumieć, w jaki sposób analizowane jest żądanie IAllocator; można go przejść wielokrotnie
aby uzyskać sukcesywnie więcej informacji.
KONFIGURACJA
Aby zapoznać się z konfiguracją wykluczania tagów (więcej szczegółów znajdziesz na stronie podręcznika hbal), plik list
które tagi instancji traktować jako tagi wykluczające zostaną odczytane ze tagów klastra,
skonfigurowany w następujący sposób:
· uzyskać wszystkie znaczniki klastrów zaczynające się od htools:iextags:
· użyj ich przyrostka jako przedrostka dla tagów wykluczających
Na przykład, biorąc pod uwagę tag klastra, taki jak htools:iextags:usługa, wszystkie znaczniki instancji
Nasz formularz będzie be za as wykluczenie tagi, znaczenie że (na przykład) drugiej instancje
który obie mieć a etykietanie zostaną umieszczone w tym samym węźle głównym.
OPCJE
Opcje, które można przekazać do programu to:
EXIT STATUS
Istniejący status polecenia będzie wynosić zero, chyba że z jakiegoś powodu algorytm zakończy się śmiercią
nie powiodło się (np. nieprawidłowe dane węzła lub instancji).
Korzystaj z gradu online, korzystając z usług onworks.net