הרבה מערכות תוכנה שמסתמכות על רצף מדויק של אירועים נשענות על שעון מערכת יציב ועקבי. הן משתמשות ביומני מערכת עם חותמות זמן כדי לוודא שהזמן מסונכרן ולפתור בעיות כשהן מתרחשות. כדי לשמור על סנכרון של שעוני המערכת, מכונות וירטואליות (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 בסקריפט ליצירת מכונה וירטואלית.
הגדרת chrony לשימוש ב-ptp-kvm
כדי להגדיר את chrony כך שישתמש ב-ptp-kvm כמקור הזמן שלו, מריצים את הסקריפט הבא בתוך כל מכונות ה-VM של הפרויקט Google Cloud :
הגדרת Google Cloud סוכן תפעול במכונה הווירטואלית
כדי להגדיר את Google Cloud Ops Agent לאיסוף ולניתוח נתונים, מריצים את Google Cloud הסקריפט הבא בכל אחת מהמכונות הווירטואליות של הפרויקט:
הגדרת מעקב אחר סנכרון הזמן
כדי להגדיר מעקב אחר סנכרון הזמן במכונות הווירטואליות של פרויקט Google Cloud, מריצים את הסקריפט להגדרת ה-Logging ולוח הבקרה של פרויקטGoogle Cloud . הסקריפט הזה עוזר לכם לבצע את המשימות הבאות בפרויקט Google Cloud :
- הוא מגדיר הרשאות מתאימות בחשבון השירות שמשויך לפרויקט של המכונה הווירטואלית Google Cloud .
- הכלי יוצר מדד מבוסס-יומן שמשמש כדי לוודא שהשעונים במכונה הווירטואלית ובשרת המארח שלה מסונכרנים.
chrony - נוצר מרכז בקרה למדידת יכולת המעקב של שעון ה-VM אחרי שעון UTC על ידי שילוב של המדדים הבאים:
- הדיוק של השעון במארח של המכונה הווירטואלית ביחס ל-UTC, שזמין כGoogle Cloud מדד,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. chronyמדדים למדידת הדיוק של השעון במכונה הווירטואלית ביחס לשעון של המארח שלה.
- הדיוק של השעון במארח של המכונה הווירטואלית ביחס ל-UTC, שזמין כGoogle Cloud מדד,
כדי לבצע את המשימות הקודמות, מריצים את הסקריפט הבא:
אחרי שהסקריפט מסיים לפעול, אפשר להשתמש בלוח הבקרה שהוא יצר כדי לראות את נתוני הדיוק של השעון במכונות הווירטואליות של הפרויקט.
המאמרים הבאים
- כדי לראות קוד לדוגמה מלא להגדרת זמן מדויק, כולל דוגמאות של Google Kubernetes Engine, אפשר לעבור אל מאגר הדוגמאות.
- כדאי לעיין באפשרויות הזמינות להגדרת סנכרון הזמן של המכונה הווירטואלית.