מערכות תוכנה רבות שמסתמכות על רצף מדויק של אירועים נשענות על שעון מערכת יציב ועקבי, ומשתמשות ביומני מערכת עם חותמות זמן כדי להבטיח סנכרון זמן ולפתור בעיות בזמן שהן מתרחשות. כדי לשמור על סנכרון של שעוני המערכת, מכונות וירטואליות (VM) של Compute Engine מוגדרות מראש לשימוש בפרוטוקול זמן ברשת (NTP), פתרון משולב של חומרה ותוכנה לסנכרון זמן. אם חשוב לכם להבטיח סנכרון מדויק של השעה ולעקוב אחרי הדיוק של סנכרון השעה, אתם יכולים להגדיר שעה מדויקת במקום NTP, כדי לסנכרן את השעון של המכונה הווירטואלית עם שעון המארח באמצעות chrony ו-ptp_kvm. התצורה הזו מיועדת להשגת דיוק של עד 1 אלפית השנייה בהגדרות נתמכות.
סוגי מכונות נתמכים
סוגי המכונות הבאים תומכים בשעה מדויקת:
מערכות הפעלה נתמכות
מערכות ההפעלה הבאות תומכות בשעון מדויק:
| מערכת הפעלה | גרסאות | תמונות |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| מערכת הפעלה שמותאמת לקונטיינרים | COS 105 LTS, COS 109 LTS, COS 113 LTS, COS 117 LTS | cos-105-lts, cos-109-lts, cos-113-lts, cos-117-lts |
| Debian | 11 (Bullseye), 12 (Bookworm) | debian-11, debian-12 |
| Fedora Cloud | 39 | fedora-cloud-39 |
| RHEL | 8, 9 | rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha, rhel-8-10-sap-ha, rhel-9, rhel-9-0-sap-ha, rhel-9-2-sap-ha, rhel-9-4-sap-ha |
| Rocky Linux | 8, 9 | rocky-linux-8, rocky-linux-8-optimized-gcp, rocky-linux-9-optimized-gcp, rocky-linux-9-optimized-gcp |
| SLES | 15 | sles-15, sles-15-sp2-byos, sles-15-sp2-sap, sles-15-sp3-byos, sles-15-sp3-sap, sles-15-sp4-byos, sles-15-sp4-sap, sles-15-sp5-byos, sles-15-sp5-sap |
| Ubuntu | 22.04 LTS (Jammy Jellyfish), 24.04 LTS (Noble Numbat) | ubuntu-2204-lts, ubuntu-2404-lts-amd64 |
| Ubuntu Pro | 2004 | ubuntu-pro-2004-lts, ubuntu-pro-2004-lts-amd64 |
אזורים נתמכים
באזורים הבאים יש תמיכה בשעון מדויק:
| תחום (zone) | מיקום |
|---|---|
europe-west1-b |
סנט ג׳יסלאן, בלגיה, אירופה |
europe-west1-c |
סנט ג׳יסלאן, בלגיה, אירופה |
europe-west2-b |
לונדון, אנגליה, אירופה |
europe-west3-a |
פרנקפורט, גרמניה, אירופה |
us-central1-a |
קאונסיל בלאפס, איווה, צפון אמריקה |
us-central1-b |
קאונסיל בלאפס, איווה, צפון אמריקה |
us-central1-c |
קאונסיל בלאפס, איווה, צפון אמריקה |
us-central1-f |
קאונסיל בלאפס, איווה, צפון אמריקה |
us-east1-b
|
מונקס קורנר, דרום קרוליינה, צפון אמריקה |
us-east1-c
|
מונקס קורנר, דרום קרוליינה, צפון אמריקה |
us-east4-c |
אשבורן, וירג'יניה, צפון אמריקה |
us-east5-a |
קולומבוס, אוהיו, צפון אמריקה |
us-south1-a |
דאלאס, טקסס, צפון אמריקה |
us-west1-b |
דה דיילס, אורגון, צפון אמריקה |
us-west2-a
|
לוס אנג'לס, קליפורניה, צפון אמריקה |
us-west3-a |
סולט לייק סיטי, יוטה, צפון אמריקה |
הגדרת סנכרון מדויק של השעה
כדי להגדיר סנכרון מדויק של השעה במכונות הווירטואליות של הפרויקט, צריך לבצע את המשימות הבאות לכל מכונה וירטואלית:
- מגדירים את
chronyכך שישתמש ב-ptp-kvmכמקור הזמן שלו. - מגדירים את Google Cloud Ops Agent לאיסוף ולניתוח נתונים.
אחרי שתשלימו את שתי המשימות, תוגדר סנכרון מדויק של השעה למכונות הווירטואליות בפרויקט.
ב-GitHub אפשר לראות סקריפט לדוגמה שיוצר מכונת VM ומשלים את שתי המשימות להגדרת סנכרון מדויק של השעה.
הגדרה של chrony לשימוש ב-ptp-kvm
כדי להגדיר את chrony כך שישתמש ב-ptp-kvm כמקור הזמן שלו, מריצים את הסקריפט הבא בכל אחת מהמכונות הווירטואליות של פרויקט Google Cloud :
הגדרת Google Cloud סוכן תפעול במכונה הווירטואלית
כדי להגדיר את Google Cloud Ops Agent לאיסוף ולניתוח נתונים, מריצים את הסקריפט הבא בכל מכונה וירטואלית של Google Cloud הפרויקט:
הגדרת מעקב אחר סנכרון הזמן
כדי להגדיר מעקב אחר סנכרון הזמן במכונות הווירטואליות של פרויקט Google Cloud, מריצים את הסקריפט להגדרת ה-Logging ולוח הבקרה של פרויקטGoogle Cloud . הסקריפט הזה עוזר לכם לבצע את המשימות הבאות בפרויקט Google Cloud :
- הוא מגדיר הרשאות מתאימות בחשבון השירות שמשויך לפרויקט של המכונה הווירטואלית Google Cloud .
- הכלי יוצר מדד מבוסס-יומן ש
chronyמשמש כדי לוודא שהשעונים במכונה הווירטואלית ובשרת המארח שלה מסונכרנים. - לוח הבקרה שנוצר מודד את יכולת המעקב של השעון במכונה הווירטואלית אחרי שעון UTC, על ידי שילוב של המדדים הבאים:
- הדיוק של השעון במארח ה-VM ביחס ל-UTC, שזמין כמדדGoogle Cloud ,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. chronyמדדים למדידת הדיוק של השעון במכונה הווירטואלית ביחס לשעון של המארח שלה.
- הדיוק של השעון במארח ה-VM ביחס ל-UTC, שזמין כמדדGoogle Cloud ,
כדי לבצע את המשימות הקודמות, מריצים את הסקריפט הבא:
אחרי שהסקריפט מסיים לפעול, אפשר להשתמש בלוח הבקרה שהוא יצר כדי לראות את נתוני הדיוק של השעון במכונות הווירטואליות של הפרויקט.
המאמרים הבאים
- כדי לראות קוד לדוגמה מלא להגדרת זמן מדויק, כולל דוגמאות ל-Google Kubernetes Engine, אפשר לעבור אל מאגר הדוגמאות.
- בודקים את האפשרויות הזמינות להגדרת סנכרון הזמן של המכונה הווירטואלית.