Layanan sinkronisasi waktu PTP menyinkronkan jam instance ECS dengan sumber jam atomik Alibaba Cloud melalui Precision Time Protocol (PTP). Gunakan PTP untuk beban kerja yang memerlukan penyelarasan jam lebih ketat daripada yang dapat diberikan oleh protokol waktu jaringan berbasis perangkat lunak, seperti perdagangan keuangan frekuensi tinggi.
Apa itu PTP
PTP adalah protokol sinkronisasi waktu jaringan berpresisi tinggi berdasarkan standar IEEE 1588. Protokol waktu jaringan tradisional seperti NTP dibatasi pada akurasi tingkat milidetik, terutama karena latensi pemrosesan perangkat lunak dan fluktuasi jaringan. PTP menggunakan timestamp perangkat keras, kompensasi jalur dinamis, dan negosiasi jam master-slave cerdas untuk mengatasi batasan tersebut serta menyinkronkan jam perangkat dalam sistem terdistribusi.
Dibandingkan dengan NTP, PTP memindahkan pemrosesan timestamp ke perangkat keras, sehingga mengurangi beban CPU dan jaringan serta meningkatkan akurasi:
Fitur | PTP | NTP |
Akurasi | Sub-mikrodetik | Milidetik |
Implementasi timestamp | Dukungan perangkat keras (seperti perangkat PHC) | Implementasi perangkat lunak |
Lingkungan jaringan | Jaringan area lokal atau latensi rendah | Jaringan area luas |
Konsumsi resource | Rendah (frekuensi pesan dapat dikontrol) | Tinggi (mengandalkan pertukaran pesan yang sering) |
Aplikasi khas | Kontrol industri, perdagangan keuangan, dan komunikasi 5G | Server Internet, perangkat umum |
Cara kerja PTP di Alibaba Cloud
Alibaba Cloud menempatkan jam atomik aktif-standby redundan di tingkat zona. Jam atomik utama disinkronkan dengan waktu GPS, lalu membangun topologi sinkronisasi waktu hierarkis berdasarkan protokol jam batas IEEE 1588 PTP, yang mengirimkan sinyal waktu ke instance ECS secara bertahap.
Secara default, instance ECS menggunakan Chrony atau NTP untuk sinkronisasi waktu.
Kasus penggunaan
Perdagangan keuangan frekuensi tinggi — Akurasi sub-mikrodetik dan timestamp perangkat keras PTP menjaga waktu pesanan tetap selaras ketat di seluruh bursa dan mencegah sengketa urutan perdagangan yang disebabkan oleh deviasi jam. Dikombinasikan dengan kontrol jitter sub-mikrodetik pada jaringan latensi rendah, PTP memenuhi persyaratan keadilan waktu dan kepatuhan yang ketat dalam perdagangan frekuensi tinggi.
Prasyarat
Sebelum mengaktifkan layanan sinkronisasi waktu PTP untuk instance ECS, pastikan akses layanan, resource instance, dan lingkungan dalam instance Anda memenuhi persyaratan berikut.
Akses layanan
Pratinjau undangan — Fitur sinkronisasi waktu PTP saat ini dalam pratinjau undangan. Untuk menggunakan fitur ini, ajukan tiket untuk mengajukan permohonan.
Resource instance
Wilayah dan zona
PTP didukung di wilayah dan zona berikut:
Nama wilayah | ID wilayah | Nama zona | ID zona |
China (Hong Kong) | cn-hongkong | Zona B (Pratinjau Undangan) | cn-hongkong-b |
Zona C (Pratinjau Undangan) | cn-hongkong-c | ||
Zona D (Pratinjau Undangan) | cn-hongkong-d |
Keluarga instance
PTP didukung oleh keluarga instance berikut:
keluarga instans tujuan umum g9i, keluarga instans yang dioptimalkan untuk komputasi c9i, dan keluarga instans yang dioptimalkan untuk memori r9i (pratinjau undangan)
Keluarga instance Mesin Fisik ECS tujuan umum ebmg9i, ebmc9i, dan ebmr9i (pratinjau undangan)
Keluarga instans yang dioptimalkan untuk komputasi dengan kecepatan clock tinggi hfc9i, keluarga instans tujuan umum dengan kecepatan clock tinggi hfg9i, dan keluarga instans yang dioptimalkan untuk memori dengan kecepatan clock tinggi hfr9i
Untuk memeriksa apakah tipe instance tertentu mendukung PTP, panggil operasi DescribeInstanceTypes. Jika parameter
PtpSupportdalam parameterClockpada respons diatur kesupported, tipe instance tersebut mendukung PTP. Jika tipe instance tidak mendukung PTP, parameterPtpSupporttidak disertakan dalam respons.
Gambar
Gambar Linux didukung. (Direkomendasikan) Gunakan versi gambar resmi yang dipelihara. Tabel berikut mencantumkan versi sistem operasi yang didukung.
Sistem operasi | Versi yang didukung |
Alibaba Cloud Linux | 2 hingga 4 |
Anolis OS | 8 |
Debian | 11 hingga 13 |
Ubuntu | 18.04 LTS hingga 26.04 LTS |
AlmaLinux | 8 hingga 10 |
Rocky Linux | 8 hingga 10 |
CentOS Stream | 8 hingga 10 |
RHEL | 9 hingga 10 |
Fedora | 33 hingga 44 |
OpenSUSE | 15.6, 16.0 |
SLES | 15SP2 hingga SP7, 16.0 |
Versi kernel
Versi kernel Linux harus 4.12 atau lebih baru.
Lingkungan dalam instance
Cloud Assistant — Metode perintah publik dan metode plugin memerlukan Cloud Assistant, yang telah dipra-instal pada gambar publik. Jika Cloud Assistant belum diinstal, lihat instal Agen Asisten Cloud.
Akses Internet — Metode paket instalasi mengunduh paket skrip
ptp-monitormelalui internet. Pastikan instance dapat mengakses internet.
Langkah 2: Buat atau tambahkan instance ECS dalam set penyebaran
Semua instance ECS dalam set penyebaran ditempatkan dalam cakupan topologi jaringan yang sama (PSW) di zona yang sama, sehingga mengurangi latensi jaringan. Instance-instance tersebut juga didistribusikan ke server fisik berbeda sebanyak mungkin untuk mengurangi dampak bisnis akibat kegagalan satu server.
Buat instance ECS dengan layanan sinkronisasi waktu PTP diaktifkan dalam set penyebaran, atau aktifkan layanan sinkronisasi waktu PTP untuk instance ECS yang sudah ada lalu tambahkan ke set penyebaran:
Konsol
Tipe instance, wilayah, dan jumlah instance ECS harus mematuhi batasan. Untuk informasi selengkapnya, lihat Batasan.
Buat instance baru dalam set penyebaran:
Pada halaman daftar set penyebaran, temukan set penyebaran target. Di kolom Actions, klik Create Instance. Pada halaman Custom Launch, lengkapi konfigurasi instance.
Tambahkan instance yang sudah ada ke set penyebaran: Lihat Ubah set penyebaran instance.
API
Buat instance baru dalam set penyebaran: Panggil operasi RunInstances dan tentukan parameter
DeploymentSetId.Tambahkan instance yang sudah ada ke set penyebaran: Panggil operasi ModifyInstanceDeployment dan tentukan parameter
InstanceIddanDeploymentSetId.CatatanJika set penyebaran yang ditentukan menggunakan strategi
AvailabilityGroup(strategi kelompok ketersediaan tinggi), Anda dapat menggunakan parameterDeploymentSetGroupNountuk menentukan nomor grup instance dalam set penyebaran.
Langkah 3: Konfigurasikan PTP untuk instance dalam set penyebaran
Instal driver PTP pada setiap instance dalam set penyebaran dan konfigurasikan jam PTP dalam chrony. Untuk petunjuknya, lihat Aktifkan layanan sinkronisasi waktu PTP.
Aktifkan layanan sinkronisasi waktu PTP
Mengaktifkan PTP untuk instance ECS terdiri dari dua tahap. Pada Tahap 1, Anda mengaktifkan layanan sinkronisasi waktu PTP untuk instance di Konsol ECS. Pada Tahap 2, Anda menginstal driver PTP dan mengonfigurasi chrony di dalam instance. Instance tidak akan menggunakan sumber jam PTP hingga kedua tahap selesai.
Tahap 1: Aktifkan PTP untuk instance di Konsol ECS
Buat instance dengan PTP diaktifkan
Buka halamantab Custom Launch di Konsol ECS. Pilih wilayah, tipe instance, dan gambar yang mendukung PTP, lalu aktifkan layanan sinkronisasi waktu PTP di bagian Advanced Options.
Aktifkan PTP untuk instance yang sudah ada
Jika server fisik instance saat ini tidak mendukung PTP, restart instance untuk memigrasikannya ke server fisik yang mendukung PTP, lalu aktifkan PTP.
Buka lalu klik ID instance target untuk membuka halaman detail instance.
Pada halaman Instance Details, pilih All Operations > Instance Settings > Configure PTP Clock Synchronization Service.
Pada kotak dialog Configure PTP Clock Synchronization Service, aktifkan layanan sinkronisasi waktu PTP lalu klik OK. Jendela PTP Time Synchronization Task akan muncul.
Klik ID tugas untuk melihat progres tugas. Setelah tugas selesai, kotak dialog akan ditutup secara otomatis dan PTP diaktifkan untuk instance.
Tahap 1 hanya mengaktifkan kemampuan PTP untuk instance. Lanjutkan ke Tahap 2 agar sumber jam PTP berlaku.
Tahap 2: Instal driver PTP dan konfigurasikan chrony di dalam instance
Pilih metode konfigurasi lalu ikuti langkah-langkah pada tab yang sesuai.
Perintah publik dan fitur plugin memerlukan Cloud Assistant. Tabel berikut menjelaskan kapan masing-masing metode digunakan:
Metode | Gunakan saat | Persyaratan |
Perintah umum Cloud Assistant (Direkomendasikan) | Anda ingin mengaktifkan PTP dari konsol dalam satu operasi tanpa login ke instance. | Cloud Assistant diinstal pada instance. |
Plugin Cloud Assistant | Anda ingin menjalankan setiap aksi secara terpisah, seperti memeriksa perangkat PHC atau mengontrol layanan ptp-monitor. | Cloud Assistant |
Paket instalasi | Instance tidak menggunakan gambar publik. | Akses Internet dari instance untuk mengunduh paket skrip. |
Perintah umum Cloud Assistant
BukaKonsol ECS - halaman Cloud Assistant lalu klik tab Common Commands.
Temukan perintah
ACS-ECS-EnablePTP-for-linux.shlalu klik Run di kolom Actions.Pilih instance yang sedang berjalan lalu klik Run.
Setelah perintah selesai, pastikan instance menggunakan jam perangkat keras PTP. Untuk petunjuknya, lihat Verifikasi dan pantau sinkronisasi PTP.
Plugin Cloud Assistant
Periksa apakah perangkat keras PHC tersedia.
lspci | grep 500cSetelah layanan sinkronisasi waktu PTP diaktifkan, perintah tersebut mengembalikan informasi berikut:

Jika perangkat keras PHC tidak tersedia, ajukan tiket.
Jalankan perintah Cloud Assistant untuk memeriksa versinya.
acs-plugin-manager --versionVersi harus
2.2.3.631atau lebih baru. Jika versinya lebih lama, upgrade Cloud Assistant.Pastikan plugin Cloud Assistant tersedia di wilayah saat ini.
acs-plugin-manager --list | grep ACS-PTP-MonitorJika plugin Cloud Assistant tidak tersedia, ajukan tiket.
Instal driver dengan Cloud Assistant. Perintah biasanya selesai dalam waktu 10 menit.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --install --timeout 0Jika instalasi tidak selesai, lihat Mengapa terjadi error "dkms: command not found" saat saya menginstal driver? untuk mengetahui lokasi log instalasi driver dan penyebab umumnya.
Jalankan layanan ptp-monitor. Ini akan memperbarui konfigurasi chrony, merestart chronyd, mengaktifkan ptp-monitor saat boot, dan menjalankan ptp-monitor.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --startPastikan instance menggunakan jam perangkat keras PTP. Untuk petunjuknya, lihat Verifikasi dan pantau sinkronisasi PTP.
Paket instalasi
Jalankan perintah berikut untuk memeriksa perangkat keras PHC.
lspci | grep 500cSetelah layanan sinkronisasi waktu PTP diaktifkan, perintah tersebut mengembalikan informasi berikut:

Jalankan perintah berikut untuk mengunduh paket skrip terkompresi. Akses Internet diperlukan. Setelah PTP diaktifkan untuk instance ECS, skrip
ptp-monitormenyelesaikan penerapan dan konfigurasi dalam satu operasi.wget https://ptp-monitor-hk.oss-cn-hongkong.aliyuncs.com/ptp-monitor/ptp-monitor-latest.zipInstal
unziplalu ekstrak paket tersebut. Pada sistem operasi yang menggunakanyum, jalankan perintah berikut:yum install -y unzip unzip ptp-monitor-latest.zip -d ptp-monitor-latest cd ptp-monitor-latestPada sistem operasi seperti Ubuntu dan Debian, jalankan perintah berikut:
sudo apt update && sudo apt install unzip unzip ptp-monitor-latest.zip -d ptp-monitor-latest cd ptp-monitor-latestJalankan perintah berikut untuk mengompilasi dan menginstal driver.
bash ptp-monitor.sh --installJika instalasi gagal, lihat Mengapa terjadi error "dkms: command not found" saat saya menginstal driver? untuk mengetahui lokasi log instalasi driver dan penyebab umumnya.
Jalankan perintah berikut untuk memastikan driver PTP telah diinstal.
ptp-monitormengompilasi driver PTP berdasarkan versi sistem operasi saat ini. Driver tersebut bernamaptp_cipu.lsmod | grep ptp_cipuJalankan perintah berikut untuk memastikan file perangkat PTP telah dibuat.
ls -l /dev/ptp*Jika informasi file perangkat dikembalikan, driver berjalan dengan benar:

Jalankan perintah berikut untuk mengonfigurasi chrony, merestart layanan chronyd, dan menjalankan layanan ptp-monitor.
bash ptp-monitor.sh --startSetelah Anda merestart layanan chronyd, sumber jam PTP berlaku dalam hitungan puluhan detik. Anda dapat memverifikasinya dengan melihat status sinkronisasi PTP.
Verifikasi dan pantau sinkronisasi PTP
Setelah Anda mengaktifkan layanan sinkronisasi waktu PTP, gunakan perintah chronyc untuk memastikan instance ECS menggunakan jam perangkat keras PTP dan memantau kesehatan jam tersebut.
Lihat status sinkronisasi PTP
Jalankan chronyc sources untuk melihat status sumber waktu yang dikonfigurasi (PTP dan NTP). Sinkronisasi PTP berfungsi jika sumber PHC0 ditandai dengan #*.
Contoh output:
Contoh berikut menunjukkan instance yang telah diaktifkan dan dikonfigurasi layanan sinkronisasi waktu PTP. Instance menggunakan jam perangkat keras PTP sebagai sumber sinkronisasi utama, dan offset yang diukur berada pada tingkat nanodetik:

MS: pengenal sumber waktu.PHC0menunjukkan jam perangkat keras PTP. Alamat IP menunjukkan server NTP.#*menandai sumber sinkronisasi saat ini, artinya instance menggunakan jam perangkat keras PTP.Stratum: stratum sumber waktu. Nilai lebih rendah menunjukkan akurasi lebih tinggi (0 adalah jam atomik atau GPS, dan 1 adalah sumber presisi tinggi yang terhubung langsung).Poll: eksponen interval polling. Interval polling saat ini adalah2^Polldetik. Misalnya,Poll=4berarti 16 detik.Reach: nilai oktal yang menunjukkan tingkat keberhasilan delapan upaya sinkronisasi terakhir.LastRx: waktu sejak respons terakhir diterima, dalam detik.Last sample: offset jam dari pengukuran terakhir, dalam formatoffset [raw offset] +/- error, yang mencerminkan perbedaan antara waktu sistem dan waktu sumber.
Pantau kesehatan sinkronisasi PTP
Jalankan chronyc tracking untuk memantau dan mengevaluasi kesehatan jam sistem, termasuk metrik dinamis seperti bias waktu, kesalahan frekuensi, dan latensi jaringan, guna memastikan keandalan untuk aplikasi sensitif waktu seperti perdagangan keuangan.
Contoh output:
Pada contoh berikut, bias waktu yang diukur berada pada tingkat nanodetik (System time = 1 ns, RMS offset = 1.175 ns), yang memenuhi persyaratan presisi tinggi, dan kesalahan frekuensi rendah (5,213 ppm), yang menunjukkan operasi jam perangkat keras yang stabil:

System time: bias saat ini antara jam sistem dan jam perangkat keras PTPPHC0.slowberarti waktu sistem tertinggal 1 nanodetik (1 ns = 10⁻⁹ s).RMS offset: offset root mean square jangka panjang, yaitu 1.175 nanodetik dalam contoh ini dan mencerminkan stabilitas sinkronisasi.Frequency: bias frekuensi jam sistem.slowberarti jam lokal berjalan 5,213 mikrodetik per detik lebih lambat daripada jam perangkat keras PTPPHC0(ppm = parts per million).Root delay: total latensi jaringan ke sumber waktu akar. Latensi sangat rendah pada gambar menunjukkan lingkungan jaringan yang sangat stabil.
Nonaktifkan layanan sinkronisasi waktu PTP
Menonaktifkan PTP memerlukan dua tahap yang sama seperti saat mengaktifkannya. Pada Tahap 1, Anda menonaktifkan layanan sinkronisasi waktu PTP untuk instance di Konsol ECS. Pada Tahap 2, Anda menghapus sumber jam PTP di dalam instance.
Tahap 1: Nonaktifkan PTP untuk instance di Konsol ECS
Buka lalu klik ID instance target untuk membuka halaman detail instance.
Pada halaman Instance Details, pilih All Operations > Instance Settings > Configure PTP Clock Synchronization Service.
Pada kotak dialog Configure PTP Clock Synchronization Service, nonaktifkan layanan sinkronisasi waktu PTP lalu klik OK. Jendela PTP Time Synchronization Task akan muncul.
Klik ID tugas untuk melihat progres tugas. Setelah tugas selesai, kotak dialog akan ditutup secara otomatis dan PTP dinonaktifkan untuk instance.
Tahap 2: Hapus sumber jam PTP di dalam instance
Menonaktifkan PTP menghapus perangkat PTP. Ini memperbarui file konfigurasi chrony untuk menghapus sumber jam perangkat keras PTP, merestart layanan chronyd untuk mengembalikan layanan jam default seperti NTP, dan menghentikan program ptp-monitor.
Pilih metode lalu ikuti langkah-langkah pada tab yang sesuai.
Perintah publik dan fitur plugin memerlukan Cloud Assistant. Cloud Assistant telah dipra-instal pada gambar publik. Untuk instance yang tidak menggunakan gambar publik, gunakan paket instalasi.
Perintah umum Cloud Assistant
BukaKonsol ECS - halaman Cloud Assistant lalu klik tab Common Commands.
Temukan perintah
ACS-ECS-DisablePTP-for-linux.shlalu klik Run di kolom Actions.Pilih instance yang sedang berjalan lalu klik Run.
Plugin Cloud Assistant
Jalankan perintah berikut untuk menghentikan layanan ptp-monitor.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --stopPaket instalasi
Jalankan perintah berikut untuk menonaktifkan sumber jam PTP.
bash ptp-monitor.sh --stopPastikan PTP telah dinonaktifkan
Jalankan chronyc sources untuk memastikan sumber PHC0 tidak lagi terdaftar dan instance disinkronkan dengan server NTP. Untuk petunjuknya, lihat Lihat status sinkronisasi PTP.
Untuk menggunakan PTP pada instance lagi, ulangi prosedur di Aktifkan layanan sinkronisasi waktu PTP. Untuk menghapus driver PTP dari instance, lihat Bagaimana cara menguninstal driver PTP?.
FAQ
Apakah saya dapat mengaktifkan atau menonaktifkan layanan sinkronisasi waktu PTP menggunakan OpenAPI?
Ya. Gunakan operasi pembuatan instance untuk instance baru dan operasi opsi jam untuk instance yang sudah ada, lalu jalankan perintah konfigurasi dalam instance secara remote.
Buat instance: panggil operasi RunInstances dan atur
PtpStatusdalamClockOptionsmenjadienabledataudisableduntuk membuat instance ECS dengan layanan sinkronisasi waktu PTP diaktifkan atau dinonaktifkan.Untuk instance yang sudah ada: panggil operasi ModifyInstanceClockOptions dan atur
PtpStatusmenjadienabledataudisableduntuk mengaktifkan atau menonaktifkan layanan sinkronisasi waktu PTP untuk instance.Jika berhasil, ID tugas (
TaskId) dikembalikan. Anda dapat memanggil operasi DescribeTasks denganTaskActiondiatur keModifyInstanceClockOptionsdanTaskIdsdiatur ke ID tugas yang sesuai untuk menanyakan status eksekusi operasi aktivasi atau nonaktivasi secara real-time.Periksa hasilnya: panggil operasi DescribeInstances dengan
AdditionalAttributesdiatur keCLOCK_OPTIONSuntuk memastikan apakah layanan sinkronisasi waktu PTP diaktifkan untuk instance.Konfigurasikan instance: panggil operasi RunCommand untuk menjalankan perintah terkait dan menyelesaikan konfigurasi.
Apakah PTP dapat digunakan bersama NTP?
Ya. PTP tidak memengaruhi NTP. chronyd menggunakan algoritma internal untuk memilih sumber jam terbaik dan memprioritaskan PTP berdasarkan konfigurasi.
Mengapa terjadi error "dkms: command not found" saat saya menginstal driver?
Menginstal driver PTP pertama-tama menginstal paket tool yang diperlukan, dan dkms adalah salah satunya, sehingga Anda harus menyelesaikan masalah instalasi paket dkms. Untuk log error detail tentang kegagalan instalasi driver, lihat /var/log/ptp-cipu-ptp-monitor.log.
Skenario 1: konfigurasi sumber repo mungkin belum mutakhir. Perbarui sumber repo lalu coba lagi.
Skenario 2: dapatkan paket instalasi yang sesuai dari situs web resmi dkms.
Bagaimana cara mengaktifkan atau menonaktifkan auto-start untuk program ptp-monitor?
ptp-monitor adalah komponen O&M yang berjalan di dalam instance. Disarankan untuk tetap menjalankannya, meskipun tidak wajib. Setelah instalasi, komponen tersebut secara default akan mulai otomatis saat boot.
Nonaktifkan auto-start saat boot.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --disable-serviceAktifkan auto-start saat boot.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --enable-serviceBagaimana cara menguninstal driver PTP?
Driver PTP bernama ptp_cipu. Driver ini diperlukan untuk fitur PTP, dan menginstalnya tidak memengaruhi instance. Untuk menguninstal driver PTP, jalankan perintah Cloud Assistant berikut:
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --uninstall