許多軟體系統都依賴事件的仔細排序,因此需要穩定一致的系統時鐘,並使用含有時間戳記的系統記錄檔,確保時間同步,並在發生問題時進行偵錯。為確保系統時鐘保持同步,Compute Engine 虛擬機器 (VM) 執行個體已預先設定為使用網路時間通訊協定 (NTP),這是時間同步硬體和軟體的組合解決方案。如果確保時間同步的準確性,以及監控時間同步的準確性對您的目標來說很重要,您可以設定準確時間,而非 NTP,使用 chrony 和 ptp_kvm 將 VM 的時鐘與主機時鐘同步。這項設定的目的是在支援的設定中,達到 1 毫秒內的準確度。
支援的機型
下列機型支援精確時間:
支援的作業系統
下列作業系統支援精確時間:
| OS | 版本 | 圖片 |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| Container-Optimized OS | 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 <0x | 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 <0x | 15 <0x | 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 <0x0 | 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 |
支援的區域
所有標準公開 Google Cloud 區域和可用區都支援精確時間同步功能,但僅限支援的機型和作業系統。
設定精確的時間同步
如要為專案的 VM 設定準確的時間同步,請為每個 VM 完成下列工作:
- 將
chrony設為使用ptp-kvm做為時間來源。 - 設定 Google Cloud Ops Agent,收集及分析資料。
完成這兩項工作後,專案中的 VM 就會設定為準確的時間同步。
如需建立 VM 並完成兩項工作來設定精確時間同步的範例指令碼,請參閱 GitHub 上的 VM 建立指令碼。
設定 chrony 使用 ptp-kvm
如要將 chrony 設定為使用 ptp-kvm 做為時間來源,請在每個專案的 VM 中執行下列指令碼: Google Cloud
在 VM 上 Google Cloud 設定 Ops Agent
如要設定 Google Cloud 作業套件代理程式來收集及分析資料,請在每個 Google Cloud 專案的 VM 中執行下列指令碼:
設定時間同步監控
如要為專案的 VM 設定時間同步監控功能,請為專案執行記錄和資訊主頁設定指令碼。 Google CloudGoogle Cloud 這項指令碼可協助您完成 Google Cloud 專案的下列工作:
- 並為與 VM Google Cloud 專案相關聯的服務帳戶設定適當權限。
- 這項服務會建立記錄指標,
chrony用來確保 VM 和主機伺服器上的時鐘時間一致。 - 系統會結合下列指標,建立資訊主頁來測量 VM 時鐘對 UTC 的追溯性:
- 虛擬機器主機時鐘與世界標準時間的準確度,以Google Cloud 指標的形式提供。
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy chrony指標,用於評估 VM 時鐘與主機時鐘的準確度。
- 虛擬機器主機時鐘與世界標準時間的準確度,以Google Cloud 指標的形式提供。
如要完成上述工作,請執行下列指令碼:
指令碼執行完畢後,即可使用指令碼建立的資訊主頁,查看專案 VM 的時鐘準確度資料。
後續步驟
- 如需設定準確時間的完整程式碼範例 (包括 Google Kubernetes Engine 範例),請前往範例存放區。
- 如要瞭解如何為 Google Kubernetes Engine 節點設定時間同步,請參閱「自訂節點系統設定」說明文件。
- 查看設定 VM 時間同步的可用選項。