שרתים וטרמינלים

הגדרת זמן בשרת

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

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

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

מתחילים

ראשית חשוב להבין מבחינה לוגית מהיכן השרת שוב את הגדרות הזמן. ונתחיל בדוגמה:

יש לנו בחברה 2 שרתים:

האחד שרת DC01 שיושב על גבי שרת HyperV פיזי

השני שרת DC02 שיושב על גבי שרת וירטואלי

משום מה השרתים מציגים דיליי של 3 דקות מהזמן האמיתי

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

שום דבר לא הכין אותנו לטיול הזה.

היגיון לוגי- כיצד הדברים עובדים

במידה ולא שיניתם שום הגדרה, המצב הדיפולטיבי הוא כזה:

השרת הפיזי מאזין לסוללה\לוח אם

אם זה שרת וירטואלי אז הגדרות הזמן ילקחו מהמארח

הסדר הוא כזה:

השרת הפיזי שואב את הגדרות הזמן לפי מה שהוגדר לו

השרת הוירטואלי שואב את הגדרות הזמן מהשרת הפיזי

כלל השרתים שואבים את הגדרות הזמן מהשרת שמנהל את ה-PDC Emulator (אחד מ-5 חוקי ה-FSMO)

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

וידוא פעילות סרוויסים בשרת

יש לוודא שהסרוויסים הבאים למעלה:

Windows Time

Netlogon

במידה ומתקבלת השגיאה הבאה:

יש לוודא כמובן שהסרוויס Netlogon למעלה, ולאחר מכן להדליק גם את Windows Time

ביטול שאיבת הגדרות זמן משרת HyperV

כעת נגש לחלק האמנותי:

יש לגשת לשרת ה-HyperV שלנו:

קליק ימני על המכונה ואז על Settings

בחלונית Settings נקליק על integration Services ונוריד את הסימון מעל Time synchronization ונלחץ OK

או ב-VMWARE דרך גישה אל:

Edit Settings > VM Options > VMware Tools > Time

נעבור אל הטאב VM Option, נוריד את הסימון מעל Synchronize guest time with host ונלחץ על Save:

חשוב מאוד:

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

בדיקה מיהו שרת ה-NTP

על מנת לבדוק מיהו שרת ה-NTP הנוכחי יש להקליד את הפקודה הבאה כ-Administrator:

w32tm /query /source

התוצאה:

C:\>w32tm /query /source
DC.tiktakit.local

קופצים למים

דבר ראשון נדרש לנו לברר מי מהשרתים בעצם מנהל את ה-PDC Emulator

לשם כך נכניס ב-cmd את הפקודה:

netdom query fsmo

התוצאה:

C:\Windows\System32>netdom query fsmo

Schema master                   DC01.tiktakit.com
Domain naming master       DC01.tiktakit.com
RID master                          DC01.tiktakit.com
PDC emulator                      DC01.tiktakit.com
Infrastructure master           DC01.tiktakit.com

The command completed successfully.

ניתן לראות ששרת DC01 מנהל את ה-PDC emulator

כעת נגש לבדוק מי באמת הוא ה-NT5DS:

בשרת ה-DC01 נכניס ב-cmd את הפקודה הבאה:

W32tm /query /configuration

התוצאה:

C:\Windows\system32>W32tm /query /configuration
[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 6 (Local)
MaxPollInterval: 10 (Local)
MaxNegPhaseCorrection: 172800 (Local)
MaxPosPhaseCorrection: 172800 (Local)
MaxAllowedPhaseOffset: 300 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 7 (Local)
UpdateInterval: 100 (Local)


[TimeProviders]

NtpClient (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
CrossSiteSyncFlags: 2 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 3600 (Local)
Type: NT5DS (Local)

NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)

VMICTimeProvider (Local)
DllName: C:\Windows\System32\vmictimeprovider.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)

כאן ניתן לראות את כל הפרמטרים.

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

W32tm /query /computer:dc01 /status

התוצאה:

C:\Windows\system32>W32tm /query /computer:dc01 /status

Leap Indicator: 0(no warning)
Stratum: 2 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 0.0100000s
ReferenceId: 0x564D5450 (source IP:  80.66.44.22)
Last Successful Sync Time: 12/04/2022 14:52:27
Source: VM IC Time Synchronization Provider
Poll Interval: 6 (64s)

הגדרת שרת NTP אחר

ניתן להגדיר הפנייה לשרת NTP אחר על ידי שימוש בפקודה (כאשר pool.ntp.org הוא שרת ה-NTP הרצוי):

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL

לאחר מכן יש לבצע כיבוי והדלקה של הסרוויס w32time

Stop-Service w32time
Start-Service w32time

הפעלה באמצעות GPO לכל ה-Forest

במידה ורוצים להגדיר סנכרון זמן משרת NTP חיצוני לכלל הדומיינים ב-FOREST, יש להשתמש ב-WMI Filters ייעודי:

נגש אל Group Policy Management

נפתח את ה-Forest ואת הדומיין, קליק ימני על WMI Filters ואז New

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

בחלונית נכניס את הקוד:

Select * from Win32_ComputerSystem where DomainRole = 5

ונלחץ על OK

לאחר מכן יש ליישם את ה-GPO על כלל השרתים שלנו.

על מנת לבדוק תוצאות GPO יש להשתמש בפקודה הבאה:

gpresult /r

יש להיכנס או להשתמש בלינק הבא למידע נוסף

בהצלחה

Rami

יזם, איש סיסטם, מתכנת בחסד, ונושם אינטרנט.

מאמרים קשורים

Leave a Reply

Your email address will not be published.

אתה תאהב גם את זה
Close
Back to top button