ctdb - מקוון בענן

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

תָכְנִית:

שֵׁם


ctdb - כלי ניהול CTDB

תַקצִיר


ctdb [אוֹפְּצִיָה...] {פקודה} [COMMAND-ARGS]

תיאור


ctdb הוא כלי עזר לצפייה וניהול של אשכול CTDB.

המונחים הבאים משמשים כאשר מתייחסים לצמתים באשכול:

PNN
מספר צומת פיזי. מספר הצומת הפיזי הוא מספר שלם המתאר את הצומת
באשכול. לצומת הראשון יש צומת פיזית מספר 0. באשכול.

PNN-LIST
זהו PNN יחיד, רשימה מופרדת בפסיקים של PNN או "הכל".

פקודות המתייחסות למסד נתונים משתמשות במונחים הבאים:

DB
זהו שם מסד נתונים, כגון locking.tdb או מזהה מסד נתונים כגון
"0x42fe72c5".

DB-LIST
רשימה מופרדת ברווחים של לפחות אחד DB.

אפשרויות


-n PNN-LIST
יש לשאול את הצמתים שצוינו על ידי PNN-LIST עבור המידע המבוקש.
ברירת המחדל היא לבצע שאילתה של הדמון הפועל על המארח המקומי.

-Y
הפק פלט בצורה קריא מכונה לניתוח קל יותר על ידי סקריפטים. זה משתמש ב-a
מפריד שדה של ':'. לא כל הפקודות תומכות באפשרות זו.

-x מפריד
השתמש ב-SEPARATOR כדי לתחום שדות בפלט קריא במכונה. זה מרמז על -Y.

-X
הפק פלט בצורה קריא מכונה לניתוח קל יותר על ידי סקריפטים. זה משתמש ב-a
מפריד שדה של '|'. לא כל הפקודות תומכות באפשרות זו.

זה שווה ערך ל-"-x|" ונמנע מבעיות של ציטוט קליפות.

-t פסק זמן
מציין ש-ctdb צריך להמתין עד TIMEOUT שניות לתגובה לרוב הפקודות
נשלח לדמון CTDB. ברירת המחדל היא 10 שניות.

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

-? --עֶזרָה
הדפס קצת טקסט עזרה על המסך.

--נוֹהָג
הדפס מידע שימוש למסך.

-d --debug=DEBUGLEVEL
שנה את רמת ניפוי הבאגים עבור הפקודה. ברירת המחדל היא הודעה (2).

--socket=שם קובץ
ציין ש-FILENAME הוא השם של שקע הדומיין של Unix לשימוש בעת החיבור
הדמון CTDB המקומי. ברירת המחדל היא /tmp/ctdb.socket.

מנהלי פקודות


אלו הן פקודות המשמשות לניטור וניהול של אשכול CTDB.

pnn
פקודה זו מציגה את ה-PNN של הצומת הנוכחי.

xpnn
פקודה זו מציגה את ה-PNN של הצומת הנוכחי מבלי ליצור קשר עם הדמון CTDB. זה
מנתח את קובץ הצמתים ישירות, כך שהוא יכול לייצר פלט בלתי צפוי אם יש לקובץ הצמתים
נערך אך לא נטען מחדש.

מצב
פקודה זו מציגה את המצב הנוכחי של כל צמתי ה-CTDB בהתבסס על מידע מה-
צומת שאילתה.

הערה: אם הצומת הנשאל אינו פעיל, ייתכן שהסטטוס אינו עדכני.

צומת מצב
זה כולל את מספר הצמתים הפיזיים ואת המצב של כל צומת. לִרְאוֹת ctdb(7)
לקבלת מידע על מצבי צומת.

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

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

לפעמים מספר זה יוצג כ"לא חוקי". זה רק אומר שה-ctdbd
daemon התחיל אך הוא עדיין לא התמזג עם האשכול באמצעות שחזור. את כל
צמתים מתחילים בדור "INVALID" ולא מוקצה להם מזהה דור אמיתי עד
הם מוזגו בהצלחה עם אשכול באמצעות שחזור.

וירטואלי צומת מספר (VNN) מַפָּה
מורכב ממספר הצמתים הווירטואליים ומיפוי ממספרי צמתים וירטואליים ל
מספרי צומת פיזיים. צמתים וירטואליים מארחים מסדי נתונים של CTDB. רק צמתים שכן
השתתפות במפת VNN יכולה להפוך ל-lmaster או dmaster עבור רשומות מסד נתונים.

התאוששות מצב
זהו מצב השחזור הנוכחי של האשכול. ישנם שני מצבים אפשריים:

NORMAL - האשכול פועל במלואו.

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

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

כאשר הדמון CTDB מופעל, הוא יתחיל במצב RECOVERY. ברגע שהצומת היה
מוזגו לאשכול וכל מסדי הנתונים שוחזרו, מצב הצומת ישתנה
למצב NORMAL ומסדי הנתונים "יופשרו", ויאפשרו לסמבה לגשת ל
שוב מאגרי מידע.

התאוששות אב
זהו צומת האשכול שמיועד כעת כמאסטר השחזור. זֶה
הצומת אחראי לניטור העקביות של האשכול ולבצע את
תהליך התאוששות בפועל כאשר נדרש.

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

דוגמה
# סטטוס ctdb
מספר צמתים: 4
pnn:0 192.168.2.200 בסדר (הצומת הזה)
pnn:1 192.168.2.201 בסדר
pnn:2 192.168.2.202 בסדר
pnn:3 192.168.2.203 בסדר
דור: 1362079228
גודל: 4
hash:0 lmaster:0
hash:1 lmaster:1
hash:2 lmaster:2
hash:3 lmaster:3
מצב שחזור: נורמלי (0)
מאסטר התאוששות:0

מצב צומת [PNN-LIST]
פקודה זו דומה ל- מצב פקודה. הוא מציג את תת-קבוצת "מצב הצומת" של
תְפוּקָה. ההבדלים העיקריים הם:

· קוד היציאה הוא ה-OR bitwise של הדגלים עבור כל צומת שצוין, בעוד ctdb
מצב יוצא עם 0 אם הוא הצליח לאחזר סטטוס עבור כל הצמתים.

· ctdb מצב מספק מידע סטטוס עבור כל הצמתים. ctdb מצב צומת ברירת מחדל ל
מתן סטטוס לצומת הנוכחי בלבד. אם PNN-LIST מסופק אז הסטטוס הוא
נתון עבור הצומת/ים המצוינים.

כברירת מחדל, ctdb מצב צומת אוסף סטטוס מהצומת המקומי. עם זאת, אם מופעל
עם "-n all" (או דומה) אז הסטטוס נאסף מהצומת/ים הנתונים. ב
מסוים ctdb מצב צומת את כל ו ctdb מצב צומת -n את כל יפיק אחרת
תְפוּקָה. אפשר לספק 2 מפרטי צמתים שונים (עם ובלי "-n") אבל
הפלט בדרך כלל מבלבל!

קריאה נפוצה בתסריטים היא ctdb מצב צומת את כל כדי לבדוק אם כל הצמתים ב-a
אשכול בריאים.

דוגמה
# מצב צומת ctdb
pnn:0 10.0.0.30 בסדר (הצומת הזה)

# ctdb nodestatus הכל
מספר צמתים: 2
pnn:0 10.0.0.30 בסדר (הצומת הזה)
pnn:1 10.0.0.31 בסדר

רקמאסטר
פקודה זו מציגה את ה-pnn של הצומת שהוא כרגע ה-remaster.

הערה: אם הצומת הנשאל אינו פעיל, ייתכן שהסטטוס אינו עדכני.

זמן פעולה תקין
פקודה זו מציגה את זמן הפעולה עבור דמון ctdb. כאשר ההתאוששות האחרונה או ה-IP-failover
הושלם וכמה זמן זה לקח. אם ה"משך" מוצג כמספר שלילי, זה
מציין שיש שחזור/כשל בתהליך והוא התחיל כל כך הרבה שניות
לפני.

דוגמה
# זמן פעולה של ctdb
שעה נוכחית של הצומת: ה' 29 באוקטובר 10:38:54 2009
זמן התחלה של Ctdbd: (000 16:54:28) יום רביעי 28 באוקטובר 17:44:26 2009
זמן ההתאוששות/הכשל האחרון: (000 16:53:31) יום רביעי 28 באוקטובר 17:45:23 2009
משך ההתאוששות/הכשל האחרון: 2.248552 שניות

צמתי רשימה
פקודה זו מציגה רשימה של כתובות ה-IP של כל הצמתים באשכול.

דוגמה
# צמתי רשימות ctdb
192.168.2.200
192.168.2.201
192.168.2.202
192.168.2.203

natgwlist
הצג את המאסטר הנוכחי של שער ה-NAT ואת המצב של כל הצמתים בשער ה-NAT הנוכחי
קְבוּצָה. עיין בסעיף NAT GATEWAY ב ctdb(7) לפרטים נוספים.

דוגמה
# ctdb natgwlist
0 192.168.2.200
מספר צמתים: 4
pnn:0 192.168.2.200 בסדר (הצומת הזה)
pnn:1 192.168.2.201 בסדר
pnn:2 192.168.2.202 בסדר
pnn:3 192.168.2.203 בסדר

פינג
פקודה זו תעשה "פינג" לצמתי CTDB שצוינו באשכול כדי לוודא שכן
ריצה.

דוגמה
# ctdb ping -n הכל
תגובה מ-0 זמן=0.000054 שניות (3 לקוחות)
תגובה מ-1 זמן=0.000144 שניות (2 לקוחות)
תגובה מ-2 זמן=0.000105 שניות (2 לקוחות)
תגובה מ-3 זמן=0.000114 שניות (2 לקוחות)

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

דוגמה
# ctdb ifaces
ממשקים בצומת 0
name:eth5 link:up הפניות:2
name:eth4 קישור:למטה הפניות:0
name:eth3 link:up הפניות:1
name:eth2 link:up הפניות:1

# ctdb -X ifaces
|שם|סטטוס קישור|הפניות|
|eth5|1|2|
|eth4|0|0|
|eth3|1|1|
|eth2|1|1|

ip
פקודה זו תציג את רשימת הכתובות הציבוריות שמסופקות על ידי האשכול
ואיזה צומת פיזי משרת כעת את ה-IP הזה. כברירת מחדל פקודה זו תהיה ONLY
הצג את הכתובות הציבוריות המוכרות לצומת עצמו. לצפייה ברשימה המלאה של כולם
כתובות IP ציבוריות ברחבי האשכול עליך להשתמש ב-"ctdb ip -n all".

דוגמה
# ctdb ip -v
כתובות IP ציבוריות בצומת 0
172.31.91.82 צומת[1] פעיל[] זמין[eth2,eth3] מוגדר[eth2,eth3]
172.31.91.83 node[0] active[eth3] זמין[eth2,eth3] מוגדר[eth2,eth3]
172.31.91.84 צומת[1] פעיל[] זמין[eth2,eth3] מוגדר[eth2,eth3]
172.31.91.85 node[0] active[eth2] זמין[eth2,eth3] מוגדר[eth2,eth3]
172.31.92.82 צומת[1] פעיל[] זמין[eth5] מוגדר[eth4,eth5]
172.31.92.83 node[0] active[eth5] זמין[eth5] מוגדר[eth4,eth5]
172.31.92.84 צומת[1] פעיל[] זמין[eth5] מוגדר[eth4,eth5]
172.31.92.85 node[0] active[eth5] זמין[eth5] מוגדר[eth4,eth5]

# ctdb -X ip -v
|IP ציבורי|צומת|ActiveInterface|AvailableInterfaces|ConfiguredInterfaces|
|172.31.91.82|1||eth2,eth3|eth2,eth3|
|172.31.91.83|0|eth3|eth2,eth3|eth2,eth3|
|172.31.91.84|1||eth2,eth3|eth2,eth3|
|172.31.91.85|0|eth2|eth2,eth3|eth2,eth3|
|172.31.92.82|1||eth5|eth4,eth5|
|172.31.92.83|0|eth5|eth5|eth4,eth5|
|172.31.92.84|1||eth5|eth4,eth5|
|172.31.92.85|0|eth5|eth5|eth4,eth5|

ipinfo IP
פקודה זו תציג פרטים על הכתובות הציבוריות שצוינו.

דוגמה
# ctdb ipinfo 172.31.92.85
מידע IP ציבורי[172.31.92.85] על צומת 0
IP: 172.31.92.85
CurrentNode:0
מספר ממשקים:2
ממשק[1]: שם:eth4 קישור:למטה הפניות:0
ממשק[2]: שם:eth5 קישור:למעלה הפניות:2 (פעיל)

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

דוגמה
# סטטוס סקריפט ctdb
7 סקריפטים בוצעו במחזור הניטור האחרון
00.ctdb סטטוס:בסדר משך:0.056 יום שלישי 24 במרץ 18:56:57 2009
10. ממשק סטטוס:בסדר משך:0.077 יום שלישי 24 במרץ 18:56:57 2009
11.natgw סטטוס:בסדר משך:0.039 יום שלישי 24 במרץ 18:56:57 2009
20.multipathd סטטוס:בסדר משך:0.038 יום שלישי 24 במרץ 18:56:57 2009
31.clamd סטטוס:נכה
40.vsftpd סטטוס:בסדר משך:0.045 שלישי 24 במרץ 18:56:57 2009
41.httpd סטטוס:בסדר משך:0.039 יום שלישי 24 במרץ 18:56:57 2009
50.samba סטטוס:ERROR משך:0.082 יום שלישי 24 במרץ 18:56:57 2009
פלט:שגיאה: יציאת Samba tcp 445 לא מגיבה

לבטל את ה-script SCRIPT
פקודה זו משמשת כדי להשבית eventscript.

זה ייכנס לתוקף בפעם הבאה ש-eventscripts יבוצעו כך שזה יכול לקחת א
זמן קצר עד שזה בא לידי ביטוי ב'סטטוס script'.

enablescript SCRIPT
פקודה זו משמשת להפעלת eventscript.

זה ייכנס לתוקף בפעם הבאה ש-eventscripts יבוצעו כך שזה יכול לקחת א
זמן קצר עד שזה בא לידי ביטוי ב'סטטוס script'.

listvars
רשום את כל המשתנים הניתנים לכוונון, למעט הערכים של ה-tunables המיושנים כמו
VacuumMinInterval. ניתן לאחזר את ה-tunables המיושנים רק במפורש באמצעות "ctdb
הפקודה getvar".

דוגמה
# ctdb listvars
MaxRedirectCount = 3
SeqnumInterval = 1000
ControlTimeout = 60
TraverseTimeout = 20
KeepaliveInterval = 5
KeepaliveLimit = 5
RecoverTimeout = 20
RecoverInterval = 1
פסק זמן לבחירות = 3
TakeoverTimeout = 9
מרווח מוניטור = 15
TickleUpdateInterval = 20
EventScriptTimeout = 30
EventScriptTimeoutCount = 1
RecoveryGracePeriod = 120
RecoveryBanPeriod = 300
DatabaseHashSize = 100001
DatabaseMaxDead = 5
RecoveryTimeout = 10
EnableBans = 1
IPs דטרמיניסטיים = 0
LCP2PublicIPs = 1
ReclockPingPeriod = 60
NoIPFailback = 0
DisableIPFailover = 0
VerboseMemoryNames = 0
RecdPingTimeout = 60
RecdFailCount = 10
LogLatencyMs = 0
RecLockLatencyMs = 1000
RecoveryDropAllIPs = 120
VacuumInterval = 10
VacuumMaxRunTime = 30
RepackLimit = 10000
מגבלת ואקום = 5000
VacuumFastPathCount = 60
MaxQueueDropMsg = 1000000
UseStatusEvents = 0
AllowUnhealthyDBRead = 0
StatHistoryInterval = 1
DeferredAttachTO = 120
AllowClientDBAttach = 1
RecoverPDBBySeqNum = 0

getvar שֵׁם
קבל את ערך זמן הריצה של משתנה שניתן לכוונן.

דוגמה
# ctdb getvar MaxRedirectCount
MaxRedirectCount = 3

setvar שֵׁם ערך
הגדר את ערך זמן הריצה של משתנה שניתן לכוונן.

דוגמה: ctdb setvar MaxRedirectCount 5

lvsmaster
פקודה זו מראה איזה צומת הוא כרגע ה-LVSMASTER. ה-LVSMASTER הוא הצומת ב-
אשכול המניע את מערכת LVS ואשר מקבל את כל התעבורה הנכנסת מלקוחות.

LVS הוא המצב שבו כל אשכול CTDB/Samba משתמש בכתובת IP אחת עבור
אשכול שלם. במצב זה כל הלקוחות מתחברים לצומת אחד ספציפי אשר לאחר מכן
multiplex/איזון עומסים את הלקוחות באופן שווה על גבי הצמתים האחרים באשכול. זה
חלופה לשימוש בכתובות IP ציבוריות. ראה את דף ה-manage עבור ctdbd למידע נוסף
על LVS.

lvs
פקודה זו מראה אילו צמתים באשכול פעילים כעת ב-LVS
תְצוּרָה. כלומר באילו צמתים אנו מבצעים כעת איזון עומסים של כתובת ה-IP הבודדת
ברחבי.

LVS כברירת מחדל יהיה רק ​​איזון עומס על פני אותם צמתים שהם גם מסוגלים ל-LVS וגם
בָּרִיא. למעט אם כל הצמתים אינם בריאים, ובמקרה זה LVS יהיה איזון עומסים על פני כולם
גם צמתים לא בריאים. LVS לעולם לא ישתמש בצמתים שהם מנותקים, עצורים, אסורים
או נכה.

פלט לדוגמה:

2:10.0.0.13
3:10.0.0.14

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

פלט לדוגמה:

רקמאסטר: כן
למאסטר: כן
LVS: לא
NATGW: כן

סטטיסטיקה
אסוף נתונים סטטיסטיים מדמון CTDB לגבי כמה שיחות הוא שירת. מֵידָע
על תחומים שונים בסטטיסטיקה ניתן למצוא ב ctdb-סטטיסטיקות(7).

דוגמה
# סטטיסטיקות ctdb
CTDB גרסה 1
num_clients 3
קפוא 0
מתאושש 0
client_packets_sent 360489
client_packets_recv 360466
node_packets_sent 480931
node_packets_recv 240120
keepalive_packets_sent 4
keepalive_packets_recv 3
צומת
req_call 2
השב_שיחה 2
req_dmaster 0
reply_dmaster 0
reply_error 0
req_message 42
req_control 120408
reply_control 360439
לקוחות
req_call 2
req_message 24
req_control 360440
פסק זמן
התקשר אל 0
שליטת 0
לעבור 0
סך_שיחות 2
שיחות_ממתינות 0
lockwait_calls 0
pending_lockwait_ calls 0
memory_used 5040
max_hop_count 0
max_call_latency 4.948321 שניות
max_lockwait_latency 0.000000 שניות

אפס סטטיסטיקה
פקודה זו משמשת לניקוי כל מונים הסטטיסטיקה בצומת.

דוגמה: ctdb statisticsreset

dbstatistics DB
הצגת נתונים סטטיסטיים על מסד הנתונים DB. מידע על תחומים שונים ב-dbstatistics
ניתן למצוא ctdb-סטטיסטיקות(7).

דוגמה
# ctdb dbstatistics locking.tdb
סטטיסטיקת DB: locking.tdb
ro_delegations 0
ro_ביטול 0
מנעולים
סה"כ 14356
נכשלה 0
הנוכחי 0
בהמתנה 0
hop_count_buckets: 28087 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0
lock_buckets: 0 14188 38 76 32 19 3 0 0 0 0 0 0 0 0 0
locks_latency MIN/AVG/MAX 0.001066/0.012686/4.202292 שניות מתוך 14356
מספר מקשים חמים: 1
Count:8 Key:ff5bd7cb3ee3822edc1f0000000000000000000000000000

getreclock
הצג את השם של קובץ נעילת השחזור, אם קיים.

פלט לדוגמה:

שעון מחדש של קובץ:/clusterfs/.ctdb/recovery.lock

setreclock [קובץ]
FILE מציין את השם של קובץ נעילת השחזור. אם קובץ נעילת השחזור שונה ב-
זמן ריצה אז זה יגרום לשחזור, אשר בתורו גורם לנעילת השחזור להיות
נלקח מחדש.

אם לא צוין FILE, לא יהיה עוד שימוש בקובץ נעילת שחזור.

פקודה זו משפיעה רק על הגדרת זמן הריצה של צומת CTDB בודד. ההגדרה הזו צריך be
שונה בכל הצמתים בו זמנית על ידי ציון -n את כל (או דומה). למידע
לגבי הגדרת קובץ נעילת השחזור אנא עיין בערך CTDB_RECOVERY_LOCK ב
ctdbd.conf(5) והכניסה --reclock ב ctdbd(1). למידע על נעילת השחזור
אנא עיין בסעיף נעילת שחזור ב ctdb(7).

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

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

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

שגיאה אזהרה הודעה מידע באג

setdebug DEBUGLEVEL
הגדר את רמת ניפוי הבאגים של צומת. זה שולט איזה מידע יירשם.

קובץ ניפוי הבאגים הוא אחד מ-INFO של גילוי אזהרת שגיאה

עצבני
פקודה זו תחזיר את מזהה התהליך של הדמון ctdb.

להשבית
פקודה זו משמשת להשבית ניהולית של צומת באשכול. צומת מושבת
עדיין ישתתף באשכול ויארח רשומות TDB באשכולות אבל ה-IP הציבורי שלו
הכתובת השתלטה על ידי צומת אחר והיא כבר לא מארח שירותים כלשהם.

לאפשר
הפעל מחדש צומת שהושבת ניהולית.

להפסיק
פקודה זו משמשת לעצירה מנהלתית של צומת באשכול. צומת עצור הוא
מחובר לאשכול אבל לא יארח שום כתובת IP ציבורית, וגם לא משתתף
ב-VNNMAP. ההבדל בין צומת DISABLED לצומת STOPPED הוא ש- STOPPED
node אינו מארח חלקים של מסד הנתונים, מה שאומר שנדרש שחזור
עצירה/המשך צמתים.

להמשיך
הפעל מחדש צומת שהופסק ניהולית.

addip IPADDR/מסכה IFACE
פקודה זו משמשת להוספת IP ציבורי חדש לצומת במהלך זמן הריצה. זה מאפשר לציבור
כתובות שיתווספו לאשכול ללא צורך להפעיל מחדש את ctdb daemons.

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

דליפ IPADDR
פקודה זו משמשת להסרת ip ציבורי מצומת במהלך זמן ריצה. אם ה-IP הציבורי הזה
מתארח כעת בצומת שממנו הוא מוסר, ה-IP ייכשל לראשונה
צומת נוסף, אם אפשר, לפני הסרתו.

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

moveip IPADDR PNN
ניתן להשתמש בפקודה זו לכשל ידני של כתובת IP ציבורית לצומת ספציפי.

על מנת לעקוף באופן ידני את ההפצה ה"אוטומטית" של כתובות IP ציבוריות
ctdb מספק בדרך כלל, פקודה זו פועלת רק כאשר שינית את ה-tunables עבור
דמון ל:

IPs דטרמיניסטיים = 0

NoIPFailback = 1

כיבוי
פקודה זו תכבה דמון CTDB ספציפי.

setlmasterrole מופעל|כבוי
פקודה זו משמשת כדי להפעיל/להשבית את יכולת ה-LMASTER עבור צומת בזמן ריצה. זֶה
היכולת קובעת אם ניתן להשתמש בצומת בתור LMASTER עבור רשומות ב-
מאגר מידע. צומת שאין לו יכולת LMASTER לא יופיע במפת vnn.

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

לאחר שהגדרה זו הופעלה/הושבתה, עליך לבצע שחזור כדי שהיא תעבור
השפעה.

ראה גם "ctdb getcapabilities"

setrecmasterrole מופעל|כבוי
פקודה זו משמשת כדי להפעיל/להשבית את יכולת ה-RECMASTER עבור צומת בזמן ריצה.
יכולת זו קובעת אם ניתן להשתמש בצומת כ-RECMASTER עבור ה-
אֶשׁכּוֹל. צומת שאין לו את יכולת ה-RECMASTER לא יכול לזכות ב-remaster
בְּחִירָה. צומת שכבר הוא ה-remaster עבור האשכול כאשר היכולת
מופשט מהצומת יישאר ה-remaster עד הבחירות הבאות באשכול.

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

ראה גם "ctdb getcapabilities"

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

הליך להוספת צומת:

1, כדי להרחיב אשכול קיים, תחילה ודא עם 'סטטוס ctdb' שכל הצמתים למעלה
וריצה ושכולם בריאים. אל תנסה להרחיב אשכול אלא אם כן
בריא לחלוטין!

2, בכל הצמתים, ערוך את /etc/ctdb/nodes והוסף את הצומת החדש כערך האחרון לקובץ.
יש להוסיף את הצומת החדש לסוף הקובץ הזה!

3, ודא שלכל הצמתים יש קבצי /etc/ctdb/nodes זהים לאחר שערכת אותם
והוסיפו את הצומת החדש!

4, הפעל את 'ctdb reloadnodes' כדי לאלץ את כל הצמתים לטעון מחדש את קובץ ה-nodes.

5, השתמש ב'סטטוס ctdb' בכל הצמתים וודא שהם מציגים כעת את הצומת הנוסף.

6, התקן והגדר את הצומת החדש והבא אותו לאינטרנט.

הליך להסרת צומת:

1, כדי להסיר צומת מאשכול קיים, תחילה ודא עם 'סטטוס ctdb' שהכל
צמתים, מלבד הצומת שיימחק, פועלים ושכולם בריאים. לַעֲשׂוֹת
אל תנסה להסיר צומת מאשכול אלא אם כן האשכול בריא לחלוטין!

2, כיבוי וכיבוי של הצומת שיש להסיר.

3, בכל שאר הצמתים, ערוך את קובץ /etc/ctdb/nodes והעיר את הצומת להיות
הוסר. אל תמחק את השורה עבור הצומת הזה, פשוט תגיב על ידי הוספת '#' ב-
תחילת השורה.

4, הפעל את 'ctdb reloadnodes' כדי לאלץ את כל הצמתים לטעון מחדש את קובץ ה-nodes.

5, השתמש ב'סטטוס ctdb' בכל הצמתים וודא שהצומת שנמחק כבר לא מופיע ב
הרשימה..

טעינות מחדש [PNN-LIST]
פקודה זו טוענת מחדש את קובץ התצורה של הכתובות הציבוריות בצמתים שצוינו. מתי
הוא משלים כתובות יוגדרו מחדש ויוקצו מחדש ברחבי האשכול כ
נחוץ.

getdbmap
פקודה זו מפרטת את כל מסדי הנתונים של TDB באשכולות שהדמון CTDB צירף אליהם. כמה
מסדי נתונים מסומנים כ-PERSISTENT, זה אומר שמסד הנתונים מאחסן נתונים באופן קבוע
והנתונים יישארו לאורך אתחולים מחדש. דוגמה אחת למסד נתונים כזה היא secrets.tdb
שבו מאוחסן מידע על האופן שבו האשכול צורף לדומיין.

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

ראה גם "ctdb getdbstatus", "ctdb backdb", "ctdb restoredb", "ctdb dumpbackup", "ctdb
wipedb", "ctdb setvar AllowUnhealthyDBRead 1" וכן (אם מותקנים samba או tdb-utils)
"בדיקת tdbtool".

רוב מסדי הנתונים אינם מתמידים ומאחסנים רק את מידע המצב הנוכחי
הפעלת דמוני סמבה צריכים. מסדי נתונים אלה נמחקים תמיד כאשר ctdb/samba מתחיל ו
כאשר צומת מופעל מחדש.

דוגמה
# ctdb getdbmap
מספר מאגרי מידע:10
dbid:0x435d3410 name:notify.tdb נתיב:/var/ctdb/notify.tdb.0
dbid:0x42fe72c5 name:locking.tdb path:/var/ctdb/locking.tdb.0
dbid:0x1421fb78 name:brlock.tdb נתיב:/var/ctdb/brlock.tdb.0
dbid:0x17055d90 name:connections.tdb נתיב:/var/ctdb/connections.tdb.0
dbid:0xc0bdde6a name:sessionid.tdb נתיב:/var/ctdb/sessionid.tdb.0
dbid:0x122224da שם:test.tdb נתיב:/var/ctdb/test.tdb.0
dbid:0x2672a57f name:idmap2.tdb נתיב:/var/ctdb/persistent/idmap2.tdb.0 PERSISTENT
dbid:0xb775fff6 name:secrets.tdb נתיב:/var/ctdb/persistent/secrets.tdb.0 PERSISTENT
dbid:0xe98e08b6 name:group_mapping.tdb נתיב:/var/ctdb/persistent/group_mapping.tdb.0 PERSISTENT
dbid:0x7bbbd26c name:passdb.tdb נתיב:/var/ctdb/persistent/passdb.tdb.0 PERSISTENT

# ctdb getdbmap # דוגמה למסד נתונים לא בריא
מספר מאגרי מידע:1
dbid:0xb775fff6 name:secrets.tdb נתיב:/var/ctdb/persistent/secrets.tdb.0 PERSISTENT UNHEALTHY

# ctdb -X getdbmap
|מזהה|שם|נתיב|מתמשך|לא בריא|
|0x7bbbd26c|passdb.tdb|/var/ctdb/persistent/passdb.tdb.0|1|0|

backdb DB קובץ
העתק את תוכן מסד הנתונים DB ל-FILE. FILE ניתן מאוחר יותר לקרוא בחזרה באמצעות שוחזר ב.
זה שימושי בעיקר לגיבוי מסדי נתונים קבועים כגון secrets.tdb וכדומה.

שוחזר ב קובץ [DB]
פקודה זו משחזרת מסד נתונים קבוע שגובה בעבר באמצעות backupdb.
כברירת מחדל, הנתונים ישוחזרו בחזרה לאותו מסד נתונים שממנו הם נוצרו.
על ידי ציון dbname תוכל לשחזר את הנתונים למסד נתונים אחר.

קבע לבד DB
פקודה זו תאפשר תמיכה ברשומות לקריאה בלבד עבור מסד נתונים. זה
תכונה ניסיונית לשיפור הביצועים עבור רשומות מתמודדות בעיקר ב-locking.tdb
ו-brlock.tdb. בעת הפעלת תכונה זו עליך להגדיר אותה בכל הצמתים באשכול.

setdbsticky DB
פקודה זו תאפשר את תמיכת הרשומות הדביקות עבור מסד הנתונים שצוין. זה
תכונה ניסיונית לשיפור הביצועים עבור רשומות מתמודדות בעיקר ב-locking.tdb
ו-brlock.tdb. בעת הפעלת תכונה זו עליך להגדיר אותה בכל הצמתים באשכול.

פְּנִימִי פקודות


פקודות פנימיות משמשות את הסקריפטים של CTDB ואינן נדרשות לניהול CTDB
אֶשׁכּוֹל. הפרמטרים וההתנהגות שלהם נתונים לשינוי.

דגדוגים IPADDR
הצג את חיבורי TCP הרשומים ב-CTDB ל"דגדוג" אם יש תקלה.

gratiousarp IPADDR ממשק
שלח ARP מועיל עבור הממשק שצוין דרך הממשק שצוין. זֶה
הפקודה משמשת בעיקר את ctdb eventscripts.

killtcp
קרא רשימה של חיבורי TCP, אחד בכל שורה, מקלט סטנדרטי והפסק כל אחד מהם
חיבור. חיבור מוגדר כ:

SRC-IPADDR:SRC-PORT DST-IPADDR:DST-PORT

כל חיבור מסתיים על ידי הנפקת TCP RST לנקודת הקצה SRC-IPADDR:SRC-PORT.

ניתן לציין חיבור בודד בשורת הפקודה ולא בקלט רגיל.

מחיקה DB מפתח
מחק את KEY מ-DB.

pfetch DB מפתח
הדפס את הערך המשויך ל-KEY ב-DB.

pstore DB מפתח קובץ
אחסן KEY ב-DB עם התוכן של FILE כערך המשויך.

ptrans DB [קובץ]
קרא רשימה של צמדי מפתח-ערך, אחד בכל שורה מ-FILE, ואחסן אותם ב-DB באמצעות
עסקה בודדת. ערך ריק שווה ערך למחיקת המפתח הנתון.

המפתח והערך צריכים להיות מופרדים על ידי רווחים או טאבים. כל מפתח/ערך צריך להיות א
מחרוזת להדפסה מוקפת במירכאות כפולות.

runstate [setup|first_recovery|startup|פועל]
הדפס את מצב הריצה של הצומת שצוין. מצבי ריצה משמשים להסדרה של מצבים חשובים
מעברים ב-CTDB, במיוחד במהלך ההפעלה.

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

דוגמה
# מצב ריצה של ctdb
רץ

setifacelink IFACE למעלה|למטה
הגדר את המצב הפנימי של ממשק הרשת IFACE. זה משמש בדרך כלל ב
10.ממשק סקריפט באירוע "מוניטור".

דוגמה: ctdb setifacelink eth0 up

setnatgwstate מופעל|כבוי
הפעל או השבת את יכולת ה-NAT gateway master בצומת.

דגדוג SRC-IPADDR:SRC-PORT DST-IPADDR:DST-PORT
שלח דגדוג TCP למארח המקור עבור חיבור ה-TCP שצוין. דגדוג TCP הוא א
חבילת TCP ACK עם רצף לא חוקי ומספר אישור ואישור כאשר יתקבל על ידי
מארח המקור מביא לכך שהוא שולח ACK תקין מיידית בחזרה לקצה השני.

דגדוגים של TCP שימושיים כדי "לדגדג" לקוחות לאחר שהתרחש כשל ב-IP מאז צוואה זו
לגרום ללקוח לזהות מיד את חיבור ה-TCP שיבשו וכי
הלקוח יצטרך להקים מחדש. זה מאיץ מאוד את הזמן שלוקח ללקוח לעשות זאת
לזהות ולהקים מחדש לאחר כשל ב-IP באשכול ctdb.

גרסה
הצג את גרסת ה-CTDB.

פיתרון פקודות


פקודות אלו משמשות בעיקר לפיתוח ובדיקות CTDB ואין להשתמש בהן
לניהול רגיל.

אפשרויות
--הדפס רשומות ריקות
זה מאפשר הדפסה של רשומות ריקות בעת השלכת מסדי נתונים עם ה-catdb, cattbd
ופקודות dumpdbbackup. רשומות עם פלח נתונים ריק נחשבות שנמחקו על ידי
ctdb ונוקה על ידי מנגנון השאיבה, כך שהמתג הזה יכול להיות שימושי עבור
איתור באגים בהתנהגות שאיבת האבק.

--הדפס-גודל נתונים
זה מאפשר ל-dumps של מסד נתונים (catdb, cattdb, dumpdbbackup) להדפיס את גודל הרשומה
נתונים במקום לזרוק את תוכן הנתונים.

--print-lmaster
זה מאפשר ל-catdb להדפיס את ה-lmaster עבור כל רשומה.

--print-hash
זה מאפשר ל-dumps של מסד נתונים (catdb, cattdb, dumpdbbackup) להדפיס את ה-hash עבור כל רשומה.

--print-recordflags
זה מאפשר ל-catdb ול-dumpdbbackup להדפיס את דגלי הרשומות עבור כל רשומה. ציין זאת
cattdb תמיד מדפיס את הדגלים.

תהליך-קיים מח"ש
פקודה זו בודקת אם קיים תהליך ספציפי במארח ה-CTDB. זה משמש בעיקר על ידי
Samba כדי לבדוק אם מופעים מרוחקים של סמבה עדיין פועלים או לא.

getdbstatus DB
פקודה זו מציגה פרטים נוספים על מסד נתונים.

דוגמה
# ctdb getdbstatus test.tdb.0
dbid: 0x122224da
שם: test.tdb
נתיב: /var/ctdb/test.tdb.0
מתמיד: לא
בריאות: בסדר

# ctdb getdbstatus registry.tdb # עם TDB פגום
dbid: 0xf2a58948
שם: registry.tdb
נתיב: /var/ctdb/persistent/registry.tdb.0
מתמיד: כן
HEALTH: NO-HEALTHY-NODES - ERROR - גיבוי של TDB פגום ב-'/var/ctdb/persistent/registry.tdb.0.corrupted.20091208091949.0Z'

catdb DB
הדפס dump של מסד הנתונים של TDB באשכולות DB.

cattdb DB
הדפס dump של התוכן של DB מסד הנתונים המקומי של TDB.

dumpdbbackup קובץ
הדפס dump של התוכן מקובץ גיבוי מסד הנתונים, בדומה ל catdb.

wipedb DB
הסר את כל התוכן של מסד הנתונים DB.

לשחזר
פקודה זו תפעיל את דמון השחזור לבצע שחזור אשכול.

ipreallocate, לסנכרן
פקודה זו תאלץ את מאסטר השחזור לבצע תהליך מלא של הקצאת ip מחדש ו
להפיץ מחדש את כל כתובות ה-IP. זה שימושי כדי "לאפס" את ההקצאות בחזרה
מצב ברירת המחדל אם הם שונו באמצעות הפקודה "moveip". בעוד "להחלים" יהיה
גם לבצע את ההקצאה מחדש, התאוששות היא הרבה יותר כבדה שכן היא גם תהיה
לבנות מחדש את כל מסדי הנתונים.

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

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

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

מצב setmon 0 | 1
ניתן להשתמש בפקודה זו כדי לבטל/לאפשר באופן מפורש מצב ניטור בצומת. הראשי
המטרה היא אם אדם רוצה לצרף GDB לדמון ctdb פועל אך רוצה למנוע את
צמתים אחרים מסימון זה כמנותק והוצאת שחזור. כדי לעשות זאת, הגדר
מצב ניטור ל-0 בכל הצמתים לפני החיבור עם GDB. זכור להגדיר ניטור
מצב חזרה ל-1 לאחר מכן.

לצרף DBNAME [מַתְמִיד]
צור מסד נתונים CTDB חדש בשם DBNAME וצרף אליו בכל הצמתים.

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

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

dumpmemory
זו פקודת ניפוי באגים. פקודה זו תגרום לדמון ctdb לכתוב זיכרון מילוי
מפת הקצאה לפלט סטנדרטי.

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

לְהַפְשִׁיר
הפשר צומת שהוקפא בעבר.

כתב אירוע טיעונים
זו פקודת ניפוי באגים. ניתן להשתמש בפקודה זו כדי להפעיל ולהפעיל באופן ידני את
כתבי אירועים עם טיעונים שרירותיים.

לֶאֱסוֹר BANTIME
חסום מנהלית צומת למשך שניות BANTIME. החסימה של הצומת תבוטל לאחר BANTIME
שניות חלפו.

צומת אסורה אינו משתתף באשכול. זה לא מארח שום רשומות עבור
מקבץ TDB ואינו מארח כתובות IP ציבוריות.

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

כדי לבצע אי הכללה מנהלתית של צומת מאשכול, השתמש ב- להפסיק פקודה.

לבטל הסרה
פקודה זו משמשת לביטול החסימה של צומת שנאסר ניהולית
פקודת החסימה או נחסמה אוטומטית.

rebalancenode [PNN-LIST]
פקודה זו מסמנת את הצמתים הנתונים כיעדי איזון מחדש בהקצאת ה-IP של LCP2
אַלגוֹרִיתְם. ה טעינות מחדש הפקודה תעשה זאת לפי הצורך ולכן הפקודה הזו לא צריכה להיות
נָחוּץ.

check_srvids SRVID ...
פקודה זו בודקת אם קבוצה של יציאות הודעות srvid רשומות בצומת או
לֹא. הפקודה דורשת רשימת ערכים כדי לבדוק.

דוגמה
# ctdb check_srvids 1 2 3 14765
מזהה שרת 0:1 לא קיים
מזהה שרת 0:2 לא קיים
מזהה שרת 0:3 לא קיים
מזהה שרת 0:14765 קיים

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



התוכניות המקוונות האחרונות של לינוקס ו-Windows