מערכות תוכנה רבות שמתבססות על רצף מדויק של אירועים מסתמכות על שעון מערכת יציב ועקבי. יומני המערכת שנכתבים על ידי רוב השירותים כוללים חותמת זמן, שעוזרת לנפות באגים בבעיות שמתרחשות בין רכיבים שונים במערכת.
כברירת מחדל, מכונות Compute Engine מוגדרות מראש לשימוש בפרוטוקול זמן רשת (NTP), שעוזר לשמור על סנכרון בין שעוני המערכת. אם מגדירים את NTP במכונה הווירטואלית (VM) בצורה נכונה, אפשר לבצע אופטימיזציה של סנכרון הזמן במכונה הווירטואלית כדי להתחשב בשניות מעוברות כשהן מתרחשות.
אם חשוב לכם לוודא שסנכרון הזמן מדויק ולעקוב אחרי רמת הדיוק של סנכרון הזמן, אתם יכולים לסנכרן את השעון של המכונה הווירטואלית עם השעון של שרת המארח באמצעות chrony ו-ptp_kvm (גרסת Preview), במקום להשתמש ב-NTP. ההגדרה הזו נועדה להשיג דיוק של עד אלפית השנייה בהגדרות נתמכות.
הגדרת פרוטוקול זמן רשת (NTP) במכונה וירטואלית
המכונות ב-Compute Engine מוגדרות מראש לשימוש בפרוטוקול Network Time Protocol (NTP), שעוזר לשמור על סנכרון בין שעוני המערכת, וכולל את האפשרויות הבאות:
- רמת דיוק גבוהה יותר לעומת שרתי NTP של צד שלישי.
- טיפול בשניות מעוברות, התאמות של שנייה אחת שמתבצעות בשעון UTC כדי להתחשב בשינויים בסיבוב כדור הארץ. הוספת שניות מעוברות לא מתרחשת במרווחי זמן קבועים, כי מהירות הסיבוב של כדור הארץ משתנה באופן לא סדיר בתגובה לאירועים אקלימיים וגיאולוגיים.
הוראות להגדרת NTP במכונת VM זמינות במאמר הגדרת NTP במכונת VM.
הגדרת שעה מדויקת
כדי להשיג דיוק של עד מילי-שנייה אחת בהגדרות נתמכות, אפשר להגדיר את מכונת ה-VM כך שהשעון שלה יסתנכרן עם השעון של שרת המארח. פרטים נוספים זמינים במאמר בנושא הגדרת זמן מדויק למכונות וירטואליות ב-Compute Engine.