אנגליתצרפתיתספרדי

הפעל שרתים | Ubuntu > | Fedora > |


סמל OnWorks

hbal - מקוון בענן

הפעל hbal בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה hbal שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


hbal - מאזן אשכולות לגנטי

תַקצִיר


חבל {אפשרויות קצה...} [אפשרויות אלגוריתם...] [אפשרויות דיווח...]

חבל --גִרְסָה

אפשרויות backend:

{ -m אשכול | -ל[ נתיב ] [-איקס] | -t קובץ מידע | -I נתיב }

אפשרויות אלגוריתם:

[ --מקסימום מעבד יחס מעבד ] [ --מיני-דיסק יחס דיסק ] [ -l להגביל ] [ -e ציון ] [ -g דלתא ] [
--מגבלת רווח מינימלי סף ] [ -O שם ... ] [ --אין-דיסק-תנועות ] [ --אין-מופע-מהלכים ] [
-U util-קובץ ] [ --התעלם-דינו ] [ --התעלם משגיאות-רכות ] [ --mond כן|לא ] [ --mond-xen ]
[ --exit-on-missing-mond-data ] [ --מצב evac ] [ --הגירה מוגבלת ] [
--בחר מופעים אינסט ... ] [ --exclude-instances אינסט ... ]

אפשרויות דיווח:

[ -C[ פילה ] ] [ -p[ שדות ] ] [ --הדפס-מופעים ] [ -S פילה ] [ -v... | -q ]

תיאור


hbal הוא מאזן אשכולות שבוחן את המצב הנוכחי של האשכול (צמתים עם
הדיסק הכולל והחופשי שלהם, זיכרון וכו') ומיקום מופע ומחשב סדרה של
שלבים שנועדו להביא את האשכול למצב טוב יותר.

האלגוריתם בו נעשה שימוש נועד להיות יציב (כלומר הוא ייתן לך את אותן תוצאות מתי
מפעיל אותו מחדש מאמצע הפתרון) ומהיר למדי. זה לא, עם זאת,
נועד להיות אלגוריתם מושלם: אפשר לגרום לו להיכנס לפינה שממנה
זה לא יכול למצוא שיפור, כי זה נראה רק "צעד" אחד קדימה.

התוכנית ניגשת למצב האשכול באמצעות Rapi או Luxi. זה גם מבקש נתונים על
רשת מכל MonDs עם אפשרות --mond. נכון לעכשיו הוא משתמש רק בנתונים המיוצרים על ידי
אספן עומסי CPU.

כברירת מחדל, התוכנית תציג את הפתרון בהדרגה תוך כדי חישובו, ב-a
פורמט קצת קריפטי; לקבלת רשימת הפקודות של Ganeti בפועל, השתמש ב- -C אוֹפְּצִיָה.

אַלגוֹרִיתְם
התוכנית פועלת בצעדים עצמאיים; בכל שלב, אנו מחשבים את מהלך המופע הטוב ביותר
שמוריד את ציון האשכול.

סוג ההעברה האפשרי עבור מופע הוא שילובים של failover/mirate ו
החלף-דיסקים כך שנשנה את אחד מצמתי המופע, והשני נשאר
(אבל אולי עם שינוי תפקיד, למשל מהראשוני הוא הופך למשני). הרשימה היא:

· failover (ו)

· להחליף משני (r)

· להחליף ראשוני, מהלך מורכב (f, r, f)

· מעבר לכשל והחלפה משנית, גם מורכבת (f, r)

· להחליף משני ו-failover, גם מורכב (r, f)

אנחנו לא עושים את האפשרות היחידה שנותרה להחליף את שני הצמתים (r,f,r,f או
שווה ערך f,r,f,r) שכן מהלכים אלה דורשים חיפוש ממצה על שני המועמדים
צמתים ראשוניים ומשניים, והוא O(n*n) במספר הצמתים. יתר על כן, זה
לא נראה שהוא נותן ציונים טובים יותר אבל יביא ליותר החלפות דיסקים.

מיקום הגבלות
בכל שלב, אנו מונעים העברה של מופע אם זה יגרום:

· צומת לעבור למצב כשל N+1

· מופע למעבר לצומת לא מקוון (צמתים לא מקוונים נקראים מהאשכול
או הכריז עם -O; צמתים מרוקנים נחשבים במצב לא מקוון)

· התנגשות מבוססת תג אי הכללה (תגי אי הכללה נקראים מהאשכול ו/או מוגדרים
באמצעות --אי הכללה-תגיות אוֹפְּצִיָה)

· יחס vcpu/pcpu מקסימלי שיש לחרוג ממנו (מוגדר באמצעות --מקסימום מעבד)

· אחוז פנוי בדיסק מינימלי כדי לרדת מתחת לגבול המוגדר (מוגדר באמצעות --מיני-דיסק)

CLUSTER מְנִיָה
כפי שנאמר קודם, האלגוריתם מנסה למזער את ציון האשכולות בכל שלב. כַּיוֹם
ציון זה מחושב כסכום משוקלל של הרכיבים הבאים:

· סטיית תקן של אחוז הזיכרון הפנוי

· סטיית תקן של אחוז הזיכרון השמור

· סכום אחוזי הזיכרון השמור

· סטיית תקן של אחוז הדיסק הפנוי

· ספירת צמתים שנכשלו בבדיקת N+1

· ספירת המקרים החיים (כראשי או משניים) בצמתים לא מקוונים; בתוך ה
תחושת hbal (ושאר הכלים) צמתים מרוקנים נחשבים לא מקוונים

· ספירת המקרים החיים (כראשי) בצמתים לא מקוונים; זה שונה מהאמור לעיל
מדד על ידי סיוע במעבר כשל של מופעים כאלה באשכולות של 2 צמתים

· סטיית תקן של היחס בין מעבד וירטואלי לפיזי (במקרים ראשוניים של
הצומת)

· סטיית תקן של חלק מהצירים הזמינים (במצב ייעודי,
צירים מייצגים צירים פיזיים; אחרת המידה הניתנת לרישום יתר עבור IO
עומס, ומקדם מנוי היתר נלקח בחשבון בעת ​​חישוב המספר של
צירים זמינים)

· סטיית תקן של העומס הדינמי על הצמתים, עבור מעבד, זיכרון, דיסק ורשת

· סטיית תקן של עומס המעבד המסופק על ידי MonD

· ספירת המקרים עם ראשוני ומשני באותו תחום כשל

ערכי הזיכרון הפנוי והדיסק הפנוי עוזרים להבטיח שכל הצמתים מאוזנים במידה מסוימת
השימוש במשאבים שלהם. הזיכרון השמור עוזר להבטיח שהצמתים יהיו מעט
מאוזנת בהחזקת מופעים משניים, ושאף צומת לא שומר יותר מדי זיכרון
עבור N+1. ולבסוף, אחוז N+1 עוזר להנחות את האלגוריתם לקראת חיסול
N+1 כשלים, אם אפשר.

פרט לכשלים N+1, ספירת מופעים לא מקוונים והפרת תחום כשל
ספירות, אנו משתמשים בסטיית התקן שכן בשימוש עם ערכים בטווח קבוע (we
השתמש באחוזים המבוטאים כערכים בין אפס לאחד) זה נותן תוצאות עקביות על פני
כל המדדים (יש כמה בעיות קטנות הקשורות לאמצעים שונים, אבל זה עובד
בדרך כלל טוב). הערכים מסוג 'ספירה' יהיו בעלי ציון גבוה יותר ולכן יהיו חשובים יותר
לאיזון; לכן אלה טובים יותר לאילוצים קשים (כמו פינוי צמתים ו
תיקון N+1 כשלים). לדוגמה, המופעים הלא מקוונים נספרים (כלומר המספר של
מופעים החיים בצמתים לא מקוונים) יגרמו לאלגוריתם להעביר מופעים באופן אקטיבי
הרחק מצמתים לא מקוונים. זאת, יחד עם ההגבלה על מיקום שניתן על ידי לא מקוון
צמתים, יגרום לפינוי של צמתים כאלה.

יש לקרוא את ערכי העומס הדינמי מקובץ חיצוני (גנטי לא מספקת
אותם), ומחושבים עבור כל צומת כ: סכום עומס המעבד הראשי של המופע הראשי, סכום ראשי
עומס זיכרון מופע, סכום עומס דיסק מופע ראשוני ומשני (כפי ש-DRBD מייצר
כתוב עומס על צמתים משניים גם במקרה רגיל ובתרחישים מושפלים גם לקרוא
עומס), וסכום עומס הרשת של המופע הראשי. דוגמה לאיך ליצור את אלה
ערכים עבור קלט ל-hbal יהיו לעקוב אחר רשימת xm עבור מופעים במשך יום ועד
לחשב את הדלתא של ערכי המעבד, ולהאכיל את זה דרך ה- -U אפשרות לכל המקרים
(ושמור את המדדים האחרים כאחד). כדי שהאלגוריתם יעבוד, כל מה שצריך הוא
שהערכים עקביים עבור מדד בכל המופעים (למשל, כל המופעים משתמשים
cpu% כדי לדווח על שימוש במעבד, ולא משהו שקשור למספר שניות המעבד בשימוש אם
מעבדים שונים), ושהם מנורמלים בין אפס לאחד. שימו לב שכן
מומלץ שלא יהיה אפס כערך הטעינה עבור כל מדד של מופע מאז
מקרים משניים אינם מאוזנים היטב.

עומס ה-CPU מאוסוף הנתונים של MonD ישמש רק אם כל ה-MoDs פועלים,
אחרת זה לא ישפיע על ציון האשכול. מכיוון שאיננו יכולים למצוא את עומס המעבד של כל אחד מהם
מופע, אנו יכולים להניח שעומס המעבד של מופע הוא פרופורציונלי למספר של
ה-vcpus שלו. עם היוריסטיקה זו, מופעים מצמתים עם עומס מעבד גבוה נוטים לזוז
לצמתים עם פחות עומס מעבד.

על אשכול מאוזן לחלוטין (כל הצמתים באותו גודל, כל המופעים באותו גודל ו
מפוזרים על פני הצמתים באופן שווה), הערכים עבור כל המדדים יהיו אפס, עם ה-
למעט האחוז הכולל של הזיכרון השמור. זה לא קורה לעתים קרובות מדי ב
תרגול :)

מנותק מקרים
מכיוון שהגרסאות הנוכחיות של Ganeti אינן מדווחות על הזיכרון בשימוש במופעים לא מקוונים (למטה),
התעלמות מסטטוס הריצה של מופעים תגרום לחישובים שגויים. מסיבה זו, ה
האלגוריתם מוריד את גודל הזיכרון של מופעי למטה מזיכרון הצומת הפנוי שלהם
צומת ראשי, המדמה למעשה את ההפעלה של מופעים כאלה.

הוֹצָאָה מִן הַכְלַל תגיות
מנגנון תגי ההכללה נועד למנוע מופעים שמפעילים את אותו עומס עבודה
(למשל שני שרתי DNS) לנחות על אותו צומת, מה שיהפוך את הצומת המתאים ל-a
SPOF עבור השירות הנתון.

זה עובד על ידי תיוג מופעים עם תגים מסוימים ולאחר מכן בניית מפות אי הכללה על סמך
אלה. אילו תגים משמשים בפועל מוגדרים באמצעות שורת הפקודה (אפשרות
--אי הכללה-תגיות) או באמצעות הוספתם לתגי האשכול:

--exclusion-tags=a,b
זה ייצור את כל תגי המופע של הטופס א:*, ב:* להיחשב עבור
מפת אי הכללה

אשכול תיוגים htools:iextags:a, htools:iextags:b
זה ייצור תגי מופע א:*, ב:* להיחשב למפת ההחרגה. יותר
בדיוק, הסיומת של תגי אשכול שמתחילה ב htools:iextags: יהפוך ל
קידומת של תגי ההכללה.

שתי הצורות לעיל אומרות ששני מופעים בעלי (למשל) התג a:foo or b:bar
לא יסתיים באותו צומת.

הגירה תגיות
אם Ganeti נפרס על אשכול הטרוגני, ייתכן שההגירה לא תתאפשר ביניהם
כל הצמתים של קבוצת צמתים. דוגמה אחת למצב כזה היא שדרוג ההיפרוויזר
צומת אחר צומת. כדי להפוך את hbal מודע להגבלות אלו, תגי האשכול הבאים הם
מְשׁוּמָשׁ.

אשכול תיוגים htools:migration:a, htools:migration:b, וכו '
זה יוצר תגי צומת של הטופס א:*, ב:*וכו' להיחשב הגירה
הַגבָּלָה. ליתר דיוק, הסיומת של תגי אשכול שמתחילה ב
htools:migration: יהפוך לקידומת של תגי ההגירה. רק אלו
העברות יילקחו בחשבון כאשר כל תגי ההגירה של המקור
צומת נמצאים גם בצומת היעד.

אשכול תיוגים htools:allowmigration:x::y ל הֲגִירָה תיוגים x ו y
זה טוען שצומת תקף y מסוגל לקבל מופעים באותו אופן כאילו
היה להם x תָג.

אז במקרה הפשוט של שדרוג היפרוויזר, תיוג כל הצמתים שהיו
משודרג עם תג הגירה מספיק. במצבים מורכבים יותר, זה תמיד כך
אפשר להשתמש בתגית העברה אחרת עבור כל היפרוויזר בשימוש ולציין במפורש את
מותר כיווני הגירה באמצעות htools:allowmigration: תגים.

לוקיישן תגיות
בתוך קבוצת צמתים, ייתכן שצמתים מסוימים ייכשלו בו-זמנית עקב א
סיבה נפוצה לשגיאה (למשל, אם הם חולקים את אותה יחידת ספק כוח). גנטי יכול להיות
הודיעו על הסיבות הנפוצות לכשל באמצעות תגים.

אשכול תיוגים htools:nlocation:a, htools:nlocation:b, וכו '
זה יוצר תגי צומת של הטופס א:*, ב:*וכו' להיחשב כבעלי משותף
סיבה לכישלון.

נלקחים בחשבון מקרים שבהם צומת ראשוני ומשני בעלי סיבה נפוצה לכשל
ממוקם בצורה גרועה. בעוד מיקומים כאלה מותרים תמיד, הם נחשבים בכבדות עבור ה
ציון אשכול.

אפשרויות


האפשרויות שניתן להעביר לתוכנית הן כדלקמן:

-ג, --הדפס-פקודות
הדפס את רשימת הפקודות בסוף הריצה. בלי זה, התוכנית תהיה רק
להראות פלט קצר יותר, אך מסתורי.

שימו לב שרשימת המהלכים תפוצל לשלבים עצמאיים, הנקראים "קבוצות עבודה",
אלא רק לבדיקה ויזואלית, לא להקבילה בפועל. זה לא
אפשר לעשות מקבילים אלה ישירות כאשר הם מבוצעים באמצעות פקודות "gnt-instance",
שכן יש לבצע פקודה מורכבת (כגון failover והחלפת דיסקים).
סדרתי. ביצוע מקביל אפשרי רק בעת שימוש ב-Luxi backend וב-
-L אוֹפְּצִיָה.

האלגוריתם לפיצול המהלכים לקבוצות עבודה הוא על ידי צבירת מהלכים עד
המהלך הבא הוא נגיעה בצמתים שכבר נגעו במהלכים הנוכחיים; זה אומר שאנחנו
לא יכול לבצע במקביל (עקב הקצאת משאבים ב- Ganeti) וכך אנחנו מתחילים
מערך עבודה חדש.

-פ, --הדפס-צמתים
מדפיס את מצב הצומת לפני ואחרי, בפורמט שנועד לאפשר למשתמש
להבין את הפרמטרים החשובים ביותר של הצומת. עיין בדף האיש htools(1) עבור
פרטים נוספים על אפשרות זו.

--הדפס-מופעים
מדפיס את מפת המופע לפני ואחרי. זה פחות שימושי כמצב הצומת,
אבל זה יכול לעזור בהבנת מהלכי מופע.

-O שם
אפשרות זו (שניתן לתת מספר פעמים) תסמן צמתים ככאלה לא מחובר.
זה אומר כמה דברים:

· מופעים לא יוצבו בצמתים אלה, אפילו לא באופן זמני; למשל ה להחליף
יְסוֹדִי העברה אינה זמינה אם הצומת המשני אינו מקוון, מאז מעבר זה
דורש תקלה.

· צמתים אלו לא ייכללו בחישוב הציון (למעט ה
אחוז המקרים בצמתים לא מקוונים)

שים לב שהאלגוריתם גם יסמן כמצב לא מקוון כל צמתים המדווחים על ידי RAPI
ככזה, או שיש להם "?" בקלט מבוסס קבצים בכל שדות מספריים.

-e ציון, --min-score=*ציון*
פרמטר זה מציין עד כמה מעל גבול N+1 יכול ציון האשכולות לנו
היה מרוצה ומשנה את החישוב בשתי דרכים:

· אם לאשכול יש ציון התחלתי נמוך מהערך הזה, אז אנחנו לא נכנסים
את האלגוריתם בכלל, ולצאת בהצלחה

· במהלך התהליך האיטרטיבי, אם נגיע לציון נמוך מערך זה, אנו יוצאים
האלגוריתם

ערך ברירת המחדל של הפרמטר הוא כרגע 1e-9 (נבחר באופן אמפירי).

-g דלתא, --min-gain=*דלתא*
מכיוון שאלגוריתם האיזון יכול לפעמים לגרום רק לשיפורים זעירים,
שמביאים פחות רווח שהם עולים בזמן רילוקיישן, פרמטר זה (ברירת מחדל
ל-0.01) מייצג את הרווח המינימלי שאנו דורשים במהלך שלב, כדי להמשיך
מְאַזֵן.

--min-gain-limit=*סף*
אפשרות הרווח המינימלי לעיל תיכנס לתוקף רק אם ציון האשכול כבר קיים
להלן סף (ברירת המחדל היא 0.1). הרציונל מאחורי הגדרה זו הוא שב
ציוני אשכול גבוהים (אשכולות מאוזנים גרוע), אנחנו לא רוצים לבטל את האיזון מחדש
מהר מדי, שכן רווחים מאוחרים עדיין עשויים להיות משמעותיים. עם זאת, תחת ה
סף, הרווח הכולל הוא רק ערך הסף, כך שנוכל לצאת מוקדם.

--אין-דיסק-תנועות
פרמטר זה מונע מ-hbal להשתמש ב-disk move (כלומר "gnt-instance
replace-disks") פעולות. זה יביא לאיזון הרבה יותר מהיר, אבל של
כמובן שהשיפורים מוגבלים. זה תלוי במשתמש להחליט מתי להשתמש
כזה או אחר.

--אין-מופע-מהלכים
פרמטר זה מונע מ-hbal להשתמש בהזזות מופע (כלומר "gnt-instance
מיגר/failover") פעולות. זה ישתמש רק בהחלפת דיסק איטי
פעולות, וגם יספק איזון גרוע יותר, אבל יכול להיות שימושי אם עוברים
מופעים בסביבה נחשבים לא בטוחים או לא מועדפים.

--מצב evac
פרמטר זה מגביל את רשימת המופעים הנחשבים למעבר לאלו
חיים בצמתים לא מקוונים/מרוקנים. זה יכול לשמש כתחליף (בכמות גדולה) עבור
של גנטי משלו gnt-node לְפַנוֹת, עם הערה שזה לא מבטיח מלא
פינוי.

--הגירה מוגבלת
פרמטר זה מונע כל מהלכי החלפה ראשוניים (frf), כמו גם אלו
מהלכי replace-and-failover (rf) כאשר הצומת הראשי של המופע אינו
סחוט. אם נעשה שימוש יחד עם אפשרות --evac-mode, ההגירות היחידות שיש
hbal תעשה הם העברות של מופעים מצומת מרוקן. זה יכול להיות שימושי אם
במהלך התקנה מחדש של מערכת ההפעלה הבסיסית הגירה אפשרית רק מה-
מערכת ההפעלה הישנה למערכת ההפעלה החדשה. עם זאת, שים לב שבדרך כלל השימוש בתגי הגירה הוא
בחירה טובה יותר.

--select-instances=*מופעים*
פרמטר זה מסמן את המופעים הנתונים (כרשימה מופרדת בפסיקים) כיחידים
אלה המוזזים במהלך האיזון מחדש.

--exclude-instances=*מופעים*
פרמטר זה מסמן את המופעים הנתונים (כרשימה מופרדת בפסיקים) מלהיות
זז במהלך האיזון מחדש.

-U util-קובץ
פרמטר זה מציין קובץ המחזיק מופע מידע על שימוש דינמי
זה ישמש כדי לכוונן את אלגוריתם האיזון כדי להשוות עומס על הצמתים
(בניגוד לשימוש במשאבים סטטיים). הקובץ הוא בפורמט "instance_name
cpu_util mem_util disk_util net_util" שבו הפרמטרים "_util" מתפרשים
כמספרים ושם המופע חייבים להתאים בדיוק למופע כפי שנקרא ממנו
גנטי. במקרה של שמות מופעים לא ידועים, התוכנית תבטל.

אם לא ניתנים, ערכי ברירת המחדל הם אחד עבור כל המדדים ולכן דינמיים
לניצול יש רק השפעה אחת על האלגוריתם: השוויון של המשני
מופעים על פני צמתים (זהו המדד היחיד שלא עוקב אחר אחר,
ערך ייעודי, ובכך עומס הדיסק של מופעים יגרום למופע משני
שוויון). שים לב שהערך של אחד ישפיע מעט גם על הראשוני
ספירת המופעים, אבל זה כבר עוקב באמצעות מדדים אחרים ובכך
ההשפעה של הניצול הדינמי תהיה כמעט חסרת משמעות.

--התעלם-דינו
אם יינתן, כל מידע הניצול הדינמי יתעלם בהנחה שכן
0. אפשרות זו תקבל עדיפות על כל נתונים שיעברו על ידי אפשרות -U או על ידי
ה-MonDs עם האפשרות --mond ו- --mond-data.

--התעלם משגיאות-רכות
אם יינתן, כל הבדיקות לאיתור שגיאות רכות יושמטו בעת בחינת האיזון
מהלכים. בדרך זו, ניתן להתקדם באשכול שבו כל הצמתים נמצאים ב-a
מצב רע מבחינה מדיניות, כמו חריגה מיחסי מנוי יתר במעבד או צירים.

-S שם הקובץ, --save-cluster=*שם קובץ*
אם ניתן, מצב האשכול לפני האיזון נשמר בקובץ הנתון
בתוספת הסיומת "original" (כלומר שם הקובץ.original), והמדינה בסוף
של האיזון נשמר בקובץ הנתון בתוספת הסיומת "מאוזנת" (כלומר
שם הקובץ.מְאוּזָן). זה מאפשר הזנה מחדש של מצב האשכול לכל אחד מה-hbal עצמו
או למשל hspace דרך האפשרות -t.

-t קובץ מידע, --text-data=*datafile*
מפרט אחורי: שם הקובץ שמכיל מידע על צומת ומופע
(אם לא איסוף דרך RAPI או LUXI). זה או אחד מהקצה האחורי האחר חייב להיות
נבחר. האפשרות מתוארת בדף האיש htools(1).

--mond=*כן|לא*
אם תינתן, התוכנית תבקש מכל ה-MonDs להביא נתונים מהנתונים הנתמכים
אספנים ברשת.

--mond-xen
אם תינתן, חפש גם אספנים ספציפיים ל-Xen מ-MonD, בתנאי הניטור הזה
דמונים נשאלים בכלל.

--exit-on-missing-mond-data
אם ניתן, בטל אם הנתונים שניתן להשיג משאילתות MonDs אינם שלמים. ה
התנהגות ברירת המחדל היא להמשיך בניחוש הטוב ביותר על סמך המידע הסטטי.

--mond-data קובץ מידע
שם הקובץ המכיל את הנתונים שסופקו על ידי MonD, כדי לעקוף את MonDs
דרך הרשת. זה משמש בעיקר לניפוי באגים. הקובץ חייב להיות ב-JSON
לעצב ולהציג מערך של אובייקטי JSON , אחד לכל צומת, עם שני איברים.
האיבר הראשון בשם הצומת הוא שם הצומת והאיבר השני בשם
דוחות הוא מערך של אובייקטי דיווח. אובייקטי הדוח חייבים להיות זהים
פורמט כפי שהופק על ידי סוכן הניטור.

-m אשכול
מפרט אחורי: אסוף נתונים ישירות מה- אשכול ניתן כטיעון
דרך RAPI. האפשרות מתוארת בדף האיש htools(1).

-L [נתיב]
מפרט אחורי: אסוף נתונים ישירות מהדמון המאסטר, שאמור להיות
נוצר קשר באמצעות LUXI (פרוטוקול פנימי של Ganeti). האפשרות מתוארת ב-
דף גבר htools(1).

-X בעת שימוש ב-Luxi backend, hbal יכול גם לבצע את הפקודות הנתונות. ה
שיטת הביצוע היא לבצע את מערכי המשימות הבודדים (ראה את -C אפשרות עבור
פרטים) בשלבים נפרדים, הפלה אם בכל עת לסט עבודה אין את כל המשרות
מוּצלָח. כל שלב בפתרון האיזון יתורגם בדיוק
עבודה אחת של Ganeti (בעלת בין אחד לשלושה OpCodes), וכל השלבים ב
סט המשימות יבוצע במקביל. מערכי העבודה עצמם מבוצעים באופן סדרתי.

ניתן להפסיק את ביצוע סדרת העבודה, ראה להלן לטיפול באותות.

-l N, --max-length=*N*
הגבל את הפתרון לאורך זה. זה יכול לשמש למשל כדי להפוך את
ביצוע האיזון.

--max-cpu=*יחס מעבד*
יחס המעבד הווירטואלי לפיזי המרבי, כמספר נקודה צפה גדולה מ
או שווה לאחד. למשל, ציון יחס מעבד as 2.5 כלומר, עבור 4 מעבדים
מכונה, יש לאפשר לכל היותר 10 מעבדים וירטואליים להיות בשימוש עבור ראשי
מקרים. ערך של אחד בדיוק אומר שלא יהיה מנוי יתר למעבד
(פרט לזמן ה-CPU המשמש את הצומת עצמו), וערכים מתחת לאחד אינם מתאימים
תחושה, שכן זה אומר משאבים אחרים (למשל דיסק) לא ינוצלו במלואו עקב
הגבלות מעבד.

--min-disk=*יחס דיסק*
הכמות המינימלית של שטח דיסק פנוי שנותר, כמספר נקודה צפה. ל
לדוגמה, מפרט יחס דיסק as 0.25 פירושו שלפחות רבע מהדיסק
יש להשאיר מקום פנוי בצמתים.

-G uuid, --group=*uuid*
באשכול מרובה קבוצות, בחר קבוצה זו לעיבוד. אחרת חב"ל ירצה
לבטל, מכיוון שהוא לא יכול לאזן מספר קבוצות בו-זמנית.

-v, --מִלוּלִי
הגדל את מידת הפלט. כל שימוש באפשרות זו יגדיל את ה
מילוליות (כרגע יותר מ-2 לא הגיוני) מברירת המחדל של אחד.

-q, --שֶׁקֶט
הפחת את מידת הפלט. כל שימוש באפשרות זו יקטין את ה
מילוליות (פחות מאפס לא הגיוני) מברירת המחדל של אחד.

-V, --גִרְסָה
פשוט הצג את גרסת התוכנית וצא.

אוֹת מטפל


בעת ביצוע עבודות באמצעות LUXI (באמצעות אפשרות -X), בדרך כלל hbal תבצע את כל המשימות
עד שאחת תופיע שגיאה או שכל העבודות יסתיימו בהצלחה.

מכיוון שהאיזון יכול להימשך זמן רב, ניתן להפסיק את Hbal מוקדם בשתי דרכים:

· על ידי שליחת SIGINT (^C), hbal תרשום את בקשת הסיום, ותמתין
עד שהעבודות שהוגשו כעת יסתיימו, ובשלב זה היא תצא (עם קוד יציאה 0
אם כל העבודות הסתיימו כהלכה, אחרת עם קוד יציאה 1 כרגיל)

· על ידי שליחת SIGTERM, hbal תצא מיד (עם קוד יציאה 2); זה
אחריות המשתמש לעקוב אחר גנטי ולבדוק את התוצאה של
עבודות המבצעות כעת

שים לב שבכל מצב, זה בטוח לחלוטין להרוג את Hbal, או באמצעות האותות לעיל
או באמצעות כל אות אחר (למשל SIGQUIT, SIGKILL), מכיוון שהעבודות עצמן מעובדות
מאת Ganeti ואילו Hbal (לאחר ההגשה) צופה רק בהתקדמותם. במקרה הזה,
המשתמש יצטרך לשאול את Ganeti לתוצאות עבודה.

יְצִיאָה סטָטוּס


מצב היציאה של הפקודה יהיה אפס, אלא אם מסיבה כלשהי האלגוריתם נכשל
(למשל נתוני צומת או מופע שגויים), אפשרויות שורת פקודה לא חוקיות, או (במקרה של עבודה
ביצוע) אחת העבודות נכשלה.

לאחר שהתחיל ביצוע העבודה באמצעות Luxi (-X), אם האיזון הופסק מוקדם (via
סיגינט, או באמצעות --max-length) אבל כל העבודות בוצעו בהצלחה, אז סטטוס היציאה הוא
אֶפֶס; קוד יציאה שאינו אפס פירושו שיש לחקור את מצב האשכול, שכן א
העבודה נכשלה או שלא הצלחנו לחשב את הסטטוס שלה וזה יכול גם להצביע על בעיה ב-
צד גאנטי.

השתמש ב-hbal באינטרנט באמצעות שירותי onworks.net


Ad


Ad