שאלה בעניין שני מונחים הקשורים בשרתי DC

sitepoint7

New member
שאלה בעניין שני מונחים הקשורים בשרתי DC

שלום לכולם,

USN Rollback
lingering objects

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

תודה.
 

מיצו

New member
מורכב מכדי להסביר בשני משפטים

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

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

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

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

sitepoint7

New member
אוקיי, נניח ולא הייתה רפליקציה X זמן...

וב-X זמן הזה לא התווסף או ירד שום יוזר,
לא בוצעו שינויים ב GPO
ולא נוסף או השתנה OU
עדיין אם אין רפליקציה תהיה תקלה ולאוו דווקא בגלל הסנכרון של אובייקטים (אובייקטים שלפחות אפשר לזהות אותם)
&nbsp
האם אני צודק או שאני מפספס פה משהו?
&nbsp
&nbsp
 

מיצו

New member
זה לא כל כך פשוט

בעיקרון, הדאטהבייס של AD לעולם אינו "נח". גם אם אתה לא יוצר או משנה כלום בצורה מודעת, עדיין מאחורי הקלעים מתרחשים דברים שאין לך שום שליטה עליהם, ולכן הרפליקציה תמיד אבל תמיד תתקיים, אפילו שאתה חושב שכלום לא השתנה.
&nbsp
אם שני DCים לא מתרפלקים זמן רב, למרות שאחד יודע שהשני צריך להתרפלק איתו, אז השני מסומן אצל הראשון עם סטטוס מסויים שאומר שהוא לא מגיב. זכור שמעגל רפליקציה הוא לא בהכרח דו-כיווני. דהיינו, אם יש לך 2 DCים אז A מסתנכרן עם B ו- B מתסנכרן עם A. אבל אם יש לך 10 DCים למשל, אז למרות ש- A מסתנכרן עם B זה לא בהכרח אומר שגם B מתסנכרן עם A. יכול להיות ש- B בכלל מסנכרן עם C וכן הלאה.
&nbsp
לכן, רפליקציה חייבת להיות. אבל, אם DC לא שומע מ- DC אחר למשך זמן רב, כאמור הוא מסמן אותו בסימון מיוחד ומפסיק "להציק" לו. עכשיו זה התפקיד של ה- DC האחר למצוא מאיפה לקחת את הנתונים. גם כאן יש מגבלה, והמגבלה הזו מונעת הכנסה של DC "עתיק" (או גיבוי "עתיק") בחזרה לרשת.
&nbsp
כל המנגנון הזה נשלט בצורה טובה מאוד ע"י AD. הצרה מתחילה כשהגורם האנושי מתערב. למשל, שיחזור סנפ-שוט או הכנסה לרשת של DC שלא תיקשר המון זמן עם DCים אחרים.
&nbsp
קראת מאמרים בנושא? אמרתי, כדאי שתתחיל שם, ואז אם יש שאלות ננסה לענות בכיף.
 
למעלה