এমন কোনও সার্ভারের সাথে সিঙ্ক না করার কারণটি এখানে সময়লিপিযুক্ত :
5.1.1.4। রেফারেন্স সময় পরিবর্তন হলে কী হবে?
আদর্শভাবে রেফারেন্স সময়টি বিশ্বের সর্বত্রই একইরকম। একবার সিঙ্ক্রোনাইজ হয়ে গেলে, অপারেটিং সিস্টেমের ঘড়ি এবং রেফারেন্স ক্লকের মধ্যে কোনও অপ্রত্যাশিত পরিবর্তন হওয়া উচিত নয়। সুতরাং, পরিস্থিতি সামাল দেওয়ার জন্য এনটিপির কোনও বিশেষ পদ্ধতি নেই।
পরিবর্তে, এনটিপিডির প্রতিক্রিয়া স্থানীয় ঘড়ি এবং রেফারেন্স সময়ের মধ্যে অফসেটের উপর নির্ভর করবে। একটি ক্ষুদ্র অফসেটের জন্য এনটিপিডি স্থানীয় ঘড়িকে যথারীতি সামঞ্জস্য করবে; ছোট এবং বৃহত্তর অফসেটগুলির জন্য, এনটিপিডি কিছু সময়ের জন্য রেফারেন্স সময়টিকে প্রত্যাখ্যান করবে। পরবর্তী ক্ষেত্রে অপারেশন সিস্টেমের ঘড়িটি শেষ সংশোধন কার্যকর হওয়ার সাথে সাথে চলতে থাকবে যখন নতুন রেফারেন্স সময়টি প্রত্যাখ্যান করা হচ্ছে। কিছু সময়ের পরে, ছোট অফসেটগুলি (এক সেকেন্ডের তুলনায় উল্লেখযোগ্যভাবে কম) কেটে ফেলা হবে (ধীরে ধীরে সামঞ্জস্য করা হবে), তবে বড় অফসেটগুলি ঘড়ির পদক্ষেপ নেওয়ার কারণ হবে (নতুনভাবে সেট করা)। বিশাল অফসেটগুলি প্রত্যাখ্যান করা হয়, এবং এনটিপিডি নিজেকে শেষ করে দেবে, বিশ্বাস করে খুব অদ্ভুত কিছু অবশ্যই ঘটেছে।
এটি দ্বারা নিয়ন্ত্রিত আমার বর্তমান এনটিপি কনফিগারেশনে, puppet
আমি ম্যানপেজে বর্ণিত হিসাবে ntp.conf
ফাইলটিতে উভয়ই ফাইল ব্যবহার করে tinker panic
এবং ডিমন সেটিংসে ( /etc/sysconfig/ntpd
) উভয়ই সার্ভারের সাথে সিঙ্ক্রোনাইজেশনকে বাধ্য করি ntpd(8)
:
-g সাধারণত, অফসেটটি প্যানিক থ্রেশহোল্ডকে ছাড়িয়ে যায়, যা ডিফল্টরূপে 1000 সেকেন্ড হয় the এই বিকল্পটি কোনও সীমাবদ্ধতা ছাড়াই সময়কে কোনও মানে সেট করার অনুমতি দেয়; তবে এটি কেবল একবারই ঘটতে পারে। এর পরে যদি থ্রেশহোল্ড অতিক্রম করা হয়, এনটিপিডি সিস্টেম লগের বার্তায় প্রস্থান করবে। এই বিকল্পটি -Q এবং -x বিকল্পগুলির সাথে ব্যবহার করা যেতে পারে।
আমি এটি করি কারণ আমি যে এনটিপি সার্ভারের সাথে সংযোগ করছি তাতে বিশ্বাস রাখতে পারি।
মডিউলটির প্রাসঙ্গিক অংশ যা ক্লায়েন্টদের জন্য প্রযোজ্য তা নিম্নরূপ:
class ntp (
$foo
$bar
...
){
$my_files = {
'ntp.conf' => {
path => '/etc/ntp.conf',
content => template("ntp/ntp.conf.$template.erb"),
selrole => 'object_r',
seltype => 'net_conf_t',
require => Package['ntp'], },
'ntp-sysconfig' => {
path => '/etc/sysconfig/ntpd',
source => 'puppet:///modules/ntp/ntp-sysconfig',
require => Package['ntp'], },
...
}
$my_files_defaults = {
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => 's0',
selrole => 'object_r',
seltype => 'etc_t',
seluser => 'system_u',
}
create_resources(file, $my_files, $my_files_defaults)
exec { 'ntp initial clock set':
command => '/usr/sbin/ntpd -g -q -u ntp:ntp',
refreshonly => true,
timeout => '-1',
subscribe => File['/etc/ntp.conf'],
}
}
এবং রেফারেন্সযুক্ত ফাইলগুলির বিষয়বস্তু হ'ল:
$ cat devops/puppet/modules/ntp/files/ntp-sysconfig
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -a"
এবং:
$ cat devops/puppet/modules/ntp/templates/ntp.conf.RedHat.erb
# HEADER: This file was autogenerated by puppet.
# HEADER: While it can still be managed manually, it
# HEADER: is definitely not recommended.
tinker panic 0
<% server.each do |ntpserver| -%>
server <%= ntpserver %> autokey
<% end -%>
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
crypto pw hunter2
crypto randfile /dev/urandom
keysdir /etc/ntp
এখানে hiera
অংশটি অনুপস্থিত, তবে আপনি ধারণাটি পাবেন।
tinker panic 0