CentOS Pengaturan tanggal dan waktu, zona, sinkronisasi dengan NTP

Pada artikel ini saya akan memberi tahu Anda cara mengatur waktu, tanggal dan mengubah zona waktu di Linux CentOS, cara menyinkronkan waktu dengan server NTP dan memperbaiki kesalahan umum.

Konten:

  • Hwclock: mengatur waktu perangkat keras (sistem)
  • Pengaturan waktu manual dalam CentOS
  • Pengaturan Zona Waktu pada CentOS
  • Konfigurasikan sinkronisasi waktu NTP di CentOS
  • Kami menggunakan chronyd untuk sinkronisasi waktu di CentOS 8
  • Kesalahan umum saat mengatur waktu di CentOS

Ada dua jenis jam di server. Perangkat keras (jam waktu nyata) yang bekerja bahkan ketika server dimatikan dan jam perangkat lunak dari sistem operasi. Pembacaan dua jam ini mungkin berbeda. Dalam hal ini, setelah peluncuran sistem operasi, jam perangkat lunak didasarkan pada pembacaan perangkat keras dan dapat disesuaikan oleh sistem..

Sebagian besar program menggunakan jam perangkat lunak dalam pekerjaan mereka..

Hwclock: mengatur waktu perangkat keras (sistem)

Utilitas yang digunakan untuk memeriksa waktu perangkat keras di Linux jam:

  • hwclock --localtime - pemeriksaan waktu perangkat keras tanpa koreksi
  • hwclock --utc - memeriksa waktu dengan kondisi jam perangkat keras dalam UTC

[root @ server dll] # hwclock --localtime

Rab 27 Nov 2019 11:28:28 AM +06 -1.012225 detik

[root @ server dll] # hwclock --utc

Rab 27 Nov 2019 05:28:30 PM +06 -0.045476 detik

Untuk mengatur waktu perangkat keras sama dengan waktu sistem, jalankan perintah:

# hwclock --systohc

Untuk mengatur waktu tertentu, lakukan:

# hwclock --set --date "27 Nov 2019 17:30"

Pengaturan waktu manual dalam CentOS

Di Linux, utilitas bertanggung jawab atas waktu program tanggal atau timedatectl. Jika Anda memanggil utilitas tanggal tanpa parameter, ini akan menunjukkan waktu saat ini di server:

[root @ server dll] # date

Rab 27 Nov 17:40:56 +06 2019

Jika Anda ingin mengatur waktu secara manual, Anda dapat menggunakan utilitas tanggal dengan kunci tambahan:

# date MMDDhhmm

Di mana MM adalah bulan, DD adalah hari, jam adalah jam, mm adalah menit.

Sebagai contoh:

# date 11261740

Untuk mendapatkan informasi lanjutan tentang tanggal, waktu, zona, sinkronisasi, pengaturan untuk beralih ke waktu musiman (musim panas / musim dingin), utilitas digunakan timedatectl. Ini memberikan informasi lebih rinci tentang pengaturan waktu server..

Timedatectl juga memungkinkan Anda untuk mengubah waktu:

# timedatectl set-time '2019-11-27 17:51:00'

Pengaturan Zona Waktu pada CentOS

Untuk membuat waktu server CentOS Linux sesuai dengan zona waktu Anda, Anda dapat mengubahnya secara manual. Ada dua utilitas untuk ini:

  • timedatectl
  • tzdata

Untuk mengubah zona waktu melalui utilitas timedatectl, jalankan perintah:

# timedatectl zona waktu Eropa / Moskow

Atau bisa Anda gunakan tzdata. Untuk menggunakan metode ini, Anda harus mengganti file / etc / localtime ke yang Anda butuhkan. Seluruh daftar zona waktu terletak di direktori / usr / share / zoneinfo /. Ubah zona waktu menjadi Asia / Almaty. Buat cadangan file locatime:

# mv / etc / localtime /etc/localtime.bak

Buat symlink ke zona waktu yang diinginkan:

# ln -s / usr / share / zoneinfo / Asia / Almaty / etc / localtime

Konfigurasikan sinkronisasi waktu NTP di CentOS

Anda dapat mengkonfigurasi sinkronisasi waktu otomatis di server Anda dengan server NTP (Network Time Protocol) eksternal. Untuk melakukan ini, instal layanan ntp. Misalnya, pada CentOS 7, instalasi dilakukan melalui yum:

# yum install ntp -y

Setelah instalasi, Anda perlu memulai layanan ntpd dan menambahkannya ke startup:

# systemctl mulai ntpd.service
# systemctl aktifkan ntpd.service

Periksa apakah layanan sedang berjalan:

[root @ server Asia] # layanan ntpd status

Mengarahkan kembali ke / bin / systemctl status ntpd.service ● ntpd.service - Network Time Service Loaded: dimuat (/usr/lib/systemd/system/ntpd.service; diaktifkan; preset vendor: dinonaktifkan) Aktif: aktif (berjalan) sejak Thu 2019-11-28 09:47:33 +06; 5 mnt lalu PID Utama: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─3057 / usr / sbin / ntpd -u ntp: ntp -g 

Dalam file /etc/ntp.conf Anda perlu menentukan server yang ingin Anda selaraskan waktu:

server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org

Sinkronisasi waktu dilakukan secara berurutan. Jika server NTP pertama tidak tersedia, yang kedua diakses, dll..

Anda dapat menyinkronkan waktu secara manual dengan server NTP yang ditentukan menggunakan perintah:

# ntpdate 192.168.1.100

Secara default, ntpd menyalakan mode "mode 11 menit" dalam sistem, yaitu waktu akan disinkronkan setiap 11 menit. Jika Anda tidak dapat menggunakan daemon ntpd, Anda dapat mengonfigurasi sinkronisasi waktu dengan krone, tambahkan perintah berikut ke krona:

# ntpdate pool.ntp.org

Kami menggunakan chronyd untuk sinkronisasi waktu di CentOS 8

Untuk CentOS 8 dihapus dari repositori resmi ntp dan ntpdate, oleh karena itu, untuk menyinkronkan waktu, Anda perlu menggunakan chrony.

Keuntungan utama chrony:

  • kecepatan tinggi dan akurasi sinkronisasi
  • operasi yang benar tanpa adanya akses ke jam referensi (ntpd membutuhkan permintaan reguler)
  • secara default tidak langsung mengubah waktu selama sinkronisasi, sehingga tidak mengganggu operasi program
  • Menggunakan lebih sedikit sumber daya

Utilitas bawaan chrony sudah diinstal pada sistem, tetapi jika karena alasan tertentu Anda tidak memilikinya, instal:

# dnf instal chrony

Seperti layanan lainnya, setelah menginstal chrony, Anda harus mengaktifkan dan menambahkannya ke startup:

# systemctl mulai chronyd
# systemctl aktifkan chronyd

Periksa status layanan:

Untuk memverifikasi bahwa sinkronisasi berfungsi, jalankan perintah:

# status timedatectl

Layanan NTP: aktif

File konfigurasi chrony - /etc/chrony.conf. Di dalamnya, Anda perlu menentukan daftar server NTP yang ingin Anda gunakan untuk sinkronisasi. Seperti kamu ntp, di chrony ada antarmuka baris perintah Kronik. Untuk memeriksa informasi tentang pengaturan sinkronisasi waktu saat ini, gunakan:

# pelacakan chronyc

Untuk memeriksa informasi tentang server sinkronisasi, jalankan perintah:

# sumber chronyc

Jika Anda ingin mengatur waktu dan tanggal tertentu secara manual, Anda dapat menggunakan utilitas tanggal, tetapi sebelum itu Anda perlu menonaktifkan daemon chronyd.

Kesalahan umum saat mengatur waktu di CentOS

Di bagian ini, saya akan menjelaskan kesalahan umum yang terjadi saat bekerja dengan utilitas timedatectl, ntp.

Saat menyinkronkan waktu secara manual, Anda mungkin mengalami kesalahan serupa:

ntpdate [26214]: soket NTP sedang digunakan, keluar

Ini berarti Anda memiliki daemon yang sedang berjalan. ntpd, yang memblokir sinkronisasi waktu manual. Untuk melakukan sinkronisasi manual, hentikan daemon ntpd:

# layanan ntpd berhenti

Dan mulai ulang sinkronisasi:

Kesalahan serupa dapat terjadi ketika bekerja dengan utilitas timedatectl:

Gagal mengatur waktu: Sinkronisasi waktu otomatis diaktifkan.

Sekarang Anda perlu menonaktifkan sinkronisasi otomatis di utilitas timedatectl itu sendiri:

# timedatectl set-ntp 0

Dan jalankan perintah untuk mengatur waktu tertentu:

Saat bekerja dengan zona waktu, mereka mungkin tidak diinstal pada server Anda dan membuat symlink untuk waktu setempat akan gagal. Untuk membuat zona waktu tersedia di sistem, instal utilitas tzdata:

# yum install tzdata -y

Jadi dengan sinkronisasi manual, seringkali ada kesalahan bentuk:

28 Nov 10:12:39 ntpdate [897482]: sendto (185.217.191.98): Operasi tidak diizinkan

Dalam hal ini, periksa aturan firewalld / iptables dan pastikan bahwa port UDP 123 terbuka di server Anda. Juga, beberapa host sinkronisasi mungkin tidak tersedia pada saat verifikasi.