ansible一括変更NTP構成
6022 ワード
ネットワークグループの学友は私にいくつかの仮想マシンのntp配置が間違っていることを知らせて、時間は同期することができなくて、ntpサーバーの配置を修正して時間を同期する必要があって、ansibleを使って処理し終わって、今総括します.
ntp同期方式
ntp同期時間には、ntpサーバに直接同期する方法と、自機のntpサービスを起動し、上司のntpサーバにタイミングよく同期する方法があります.
ntpdateを使用してcrontabと協力してサーバに同期する
crontabを使用すると、毎日5:10 Linuxシステムで自動的にネットワーク校正が行われますよ!この方式の特徴は簡単ですが、NTPサーバーを起動しない場合にのみ適しています.NTPサーバは本来上位タイムサーバと時間の同期化を行うので、プリセットの場合、NTPサーバはntpdateを使用できません!すなわちntpdateとntpdは同時に有効にできない.
ntpサーバを起動し、上位サーバにローカルクロックを同期
本論文ではこの方法を用いた.
このうち10.10.255.1,10.10.255.2は,会社が提供する上位ntpサーバである.説明すると、server 10.10.255.1 iburst minpoll 3 maxpoll 4 preferは、ネイティブntpサーバの上位サーバを構成するためである.restrict 10.10.255.1は、サーバからホストへの権限を付与するためです.crontab方式に比べて、構成数秒で1回の同期が行われ、複数の上位サーバを構成できるなど、より高度な構成が使用できるため、この方式がより良いことは明らかです.
変更後にntpサービスを再起動し、
ソリューション
もちろん一つ一つ変えることはできません.もちろんansible大殺器を使います.ntp_conf.yml
サーバーがあるhostsとregionを変更すればいいだけです
ntpサーバ構成
サーバによる上位NTPサーバの設定
上位NTPサーバーの設定方法は以下の通りです.
restrictによる権限制御の管理
ntp.confファイル内では『restrict』を利用して権限を管理することができ、このパラメータの設定方式は:
ignore:すべてのタイプのNTPオンラインを拒否します.nomodify:クライアントはntpcとntpqの2つのプログラムを使用してサーバの時間パラメータを変更することはできませんが、クライアントはこのホストを通じてネットワークの校正を行うことができます.noquery:クライアントはntpq,ntpcなどの命令を使用して時間サーバをクエリーすることができず、NTPのネットワーク校正を提供しないことに等しい.notrap:trapというリモートイベントログイン(remote event logging)の機能は提供されません.notrust:認証されていないクライアントを拒否します.もしあなたがparameterの場所にパラメータを付けていなければ、これは「このIPやセグメントは制限されていない」という意味ですよ.一般的には、NTPの権限を閉じてから、ログイン可能なセグメントをもう1つ有効にすることができます.
ntpqを使用してクロック同期状態を表示する
このntpq-pは、現在のNTPと関連する上位NTPの状態をリストすることができ、上位のいくつかのフィールドの意味は、remote:つまりNTPホストのIPまたはホスト名ですね~注意一番左の記号が「*」であれば現在働いている上位NTPを表し、「+」であればオンラインもあります.また、次の更新時間を提供する候補として使用することができる.
refid:参考の前の階のNTPホストのアドレスst:stratum階層ですね!when:数秒前に時間同期化更新の動作をしたことがあります.Poll:次の更新は数秒後です.reach:既に上位NTPサーバに更新を要求した回数delay:ネットワーク転送中に遅延した時間,単位10^(-6)秒offset:時間補償の結果,単位と10^(-3)秒jitter:Linuxシステム時間とBIOSハードウェア時間の差時間,単位は10^(-6)秒である.
実はこの出力の結果は、時間が本当に正確だと教えてくれました.差はいずれも0.001秒以内なので、私たちの一般的な使用に合っています.また、あなたのBIOS時間とLinuxシステム時間の違いをチェックすることもできます./var/lib/ntp/driftというファイルの内容です.私たちのLinuxシステム時間とBIOSハードウェアクロックの差はどのくらいですか.単位は10^(-6)秒です!4分ほど速い機械を見つけました.同期した後、時間が直接同期しても悪くないのではなく、同期offsetの時間差が数ミリ秒減るのです.これは、実行中のプログラムに問題が発生しないようにするためです.そうしないと、タイミングなどのプログラムに問題が発生するに違いありません.
参考:http://cn.linux.vbird.org/linux_server/0440ntp.php#server http://blog.csdn.net/iloli/article/details/6431757
ntp同期方式
ntp同期時間には、ntpサーバに直接同期する方法と、自機のntpサービスを起動し、上司のntpサーバにタイミングよく同期する方法があります.
ntpdateを使用してcrontabと協力してサーバに同期する
[root@clientlinux ~]# ntpdate [-dv] [NTP IP/hostname]
:
-d : (debug) , 。
-v : 。
[root@clientlinux ~]# ntpdate 192.168.100.254
28 Jul 17:19:33 ntpdate[3432]: step time server 192.168.100.254 offset -2428.396146 sec
# (offset), , ...
[root@clientlinux ~]# date; hwclock -r
7 28 17:20:27 CST 2011
2011 07 28 ( ) 18 19 26 -0.752303 seconds
# ? ! hwclock -w BIOS !
[root@clientlinux ~]# vim /etc/crontab
# !
10 5 * * * root (/usr/sbin/ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w) &> /dev/null
crontabを使用すると、毎日5:10 Linuxシステムで自動的にネットワーク校正が行われますよ!この方式の特徴は簡単ですが、NTPサーバーを起動しない場合にのみ適しています.NTPサーバは本来上位タイムサーバと時間の同期化を行うので、プリセットの場合、NTPサーバはntpdateを使用できません!すなわちntpdateとntpdは同時に有効にできない.
ntpサーバを起動し、上位サーバにローカルクロックを同期
本論文ではこの方法を用いた.
restrict 10.10.255.1
restrict 10.10.255.2
server 10.10.255.1 iburst minpoll 3 maxpoll 4 prefer
server 10.10.255.2 iburst minpoll 3 maxpoll 4 prefer
このうち10.10.255.1,10.10.255.2は,会社が提供する上位ntpサーバである.説明すると、server 10.10.255.1 iburst minpoll 3 maxpoll 4 preferは、ネイティブntpサーバの上位サーバを構成するためである.restrict 10.10.255.1は、サーバからホストへの権限を付与するためです.crontab方式に比べて、構成数秒で1回の同期が行われ、複数の上位サーバを構成できるなど、より高度な構成が使用できるため、この方式がより良いことは明らかです.
変更後にntpサービスを再起動し、
service ntpd restart
centos 7もsystemctl restart ntpd
を使用できます.ソリューション
もちろん一つ一つ変えることはできません.もちろんansible大殺器を使います.ntp_conf.yml
---
- hosts: xct9
become: yes
gather_facts: false
max_fail_percentage: 50
serial: "100%"
vars:
ntp_server_all: {
'bj2b': {
"server1": "10.9.255.1",
"server2": "10.9.255.2"
},
'bj2c': {
"server1": "10.10.255.1",
"server2": "10.10.255.2"
},
'bj2d': {
"server1": "10.19.255.1",
"server2": "10.19.255.2"
}
}
ntp_server1: "{{ ntp_server_all.bj2b.server1 }}"
ntp_server2: "{{ ntp_server_all.bj2b.server2 }}"
tasks:
- name: set ntp restrict 1
lineinfile:
dest: /etc/ntp.conf
regexp: '^restrict 10\.[0-9]{1,3}\.255\.1'
line: restrict {{ ntp_server1}}
#create: yes
owner: root
group: root
- name: set ntp restrict 2
lineinfile:
dest: /etc/ntp.conf
regexp: '^restrict 10\.[0-9]{1,3}\.255\.2'
line: restrict {{ ntp_server2}}
#create: yes
owner: root
group: root
- name: set ntp server 1
lineinfile:
dest: /etc/ntp.conf
#regexp: '^restrict 10\.[0-9]{1,3}\.255\.1'
regexp: '^server 10\.[0-9]{1,3}\.255\.1 iburst minpoll 3 maxpoll 4 prefer'
line: 'server {{ ntp_server1}} iburst minpoll 3 maxpoll 4 prefer'
#create: yes
owner: root
group: root
- name: set ntp server 2
lineinfile:
dest: /etc/ntp.conf
#regexp: '^restrict 10\.[0-9]{1,3}\.255\.2'
regexp: '^server 10\.[0-9]{1,3}\.255\.2 iburst minpoll 3 maxpoll 4 prefer'
line: 'server {{ ntp_server2}} iburst minpoll 3 maxpoll 4 prefer'
#create: yes
owner: root
group: root
- name: restart ntpd
command: service ntpd restart
サーバーがあるhostsとregionを変更すればいいだけです
ntpサーバ構成
サーバによる上位NTPサーバの設定
上位NTPサーバーの設定方法は以下の通りです.
server [IP or hostname] [prefer]
はserverの後端でIPあるいはホスト名を受け取ることができて、鳥の兄は個人的にIPを使って設定するのが好きです!そのperferが『优先使用』を表すサーバーについては~简単でしょう!restrictによる権限制御の管理
ntp.confファイル内では『restrict』を利用して権限を管理することができ、このパラメータの設定方式は:
restrict [ IP] mask [netmask_IP] [parameter]
parameterのパラメータは主に次のとおりです.ignore:すべてのタイプのNTPオンラインを拒否します.nomodify:クライアントはntpcとntpqの2つのプログラムを使用してサーバの時間パラメータを変更することはできませんが、クライアントはこのホストを通じてネットワークの校正を行うことができます.noquery:クライアントはntpq,ntpcなどの命令を使用して時間サーバをクエリーすることができず、NTPのネットワーク校正を提供しないことに等しい.notrap:trapというリモートイベントログイン(remote event logging)の機能は提供されません.notrust:認証されていないクライアントを拒否します.もしあなたがparameterの場所にパラメータを付けていなければ、これは「このIPやセグメントは制限されていない」という意味ですよ.一般的には、NTPの権限を閉じてから、ログイン可能なセグメントをもう1つ有効にすることができます.
ntpqを使用してクロック同期状態を表示する
[root@www ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*tock.stdtime.go 59.124.196.87 2 u 19 128 377 12.092 -0.953 0.942
+59-124-196-83.H 59.124.196.86 2 u 8 128 377 14.154 7.616 1.533
+59-124-196-84.H 59.124.196.86 2 u 2 128 377 14.524 4.354 1.079
このntpq-pは、現在のNTPと関連する上位NTPの状態をリストすることができ、上位のいくつかのフィールドの意味は、remote:つまりNTPホストのIPまたはホスト名ですね~注意一番左の記号が「*」であれば現在働いている上位NTPを表し、「+」であればオンラインもあります.また、次の更新時間を提供する候補として使用することができる.
refid:参考の前の階のNTPホストのアドレスst:stratum階層ですね!when:数秒前に時間同期化更新の動作をしたことがあります.Poll:次の更新は数秒後です.reach:既に上位NTPサーバに更新を要求した回数delay:ネットワーク転送中に遅延した時間,単位10^(-6)秒offset:時間補償の結果,単位と10^(-3)秒jitter:Linuxシステム時間とBIOSハードウェア時間の差時間,単位は10^(-6)秒である.
実はこの出力の結果は、時間が本当に正確だと教えてくれました.差はいずれも0.001秒以内なので、私たちの一般的な使用に合っています.また、あなたのBIOS時間とLinuxシステム時間の違いをチェックすることもできます./var/lib/ntp/driftというファイルの内容です.私たちのLinuxシステム時間とBIOSハードウェアクロックの差はどのくらいですか.単位は10^(-6)秒です!4分ほど速い機械を見つけました.同期した後、時間が直接同期しても悪くないのではなく、同期offsetの時間差が数ミリ秒減るのです.これは、実行中のプログラムに問題が発生しないようにするためです.そうしないと、タイミングなどのプログラムに問題が発生するに違いありません.
参考: