在《解决Linux Server时间不准确的问题》一文中,使用了crontab定期执行ntpdate来校对时间。之后恰巧某博客上的文章,认为“时钟的跃变,有时候会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务, 通常会地依赖这样的事实:时间不会往回跳跃。”时间的瞬变,对于crontab等对时间敏感的系统任务,也是很容易造成错乱的。
优雅的解决方案是,在机器刚开机时,执行ntpupdate直接修改系统时间,然后启动ntpd守护进程,渐进式逼近地调整系统时间,基本可以做到分毫不差。
误差小的时候,ntpd不会直接修改系统时间的,只是对时钟频率进行校正。这种方式好处是系统时间不会有跳变,不会影响像crontab这样程序的运行,缺点是校正需要一定的时间。
RHEL系统上,我们常用ntpd来完成该任务;而在Ubuntu系统里,我们则用openntpd来替代它。相对ntpd,openntpd是轻量级的网络时间协议,设置比较简单。关于ntpd和openntpd的设置,参考以下2篇文章
- NTP 時間伺服器 http://linux.vbird.org/linux_server/0440ntp.php
- 设定 OpenNTPD http://wiki.debian.org.hk/w/Setup_OpenNTPD
服务器每隔好几个月,总会差那么几分钟。应对措施,就是每隔段时间,进行网络对时。
以下摘自《鸟哥的私房菜》,可解读为什么会有偏差的问题。
事實上,在我們的身邊就有很多的原子鐘,例如石英表,還有電腦主機上面的 BIOS 內部就含有一個原子鐘在紀錄與計算時間的進行吶!不過由於原子鐘主要是利用計算晶片 (crystal) 的原子震盪週期去計時的,這是因為每種晶片都有自己的獨特的震盪週期之故。 然而因為這種晶片的震盪週期在不同的晶片之間多多少少都會有點差異性, 甚至同一批晶片也可能會或多或少有些許的差異(就連溫度也可能造成這樣的誤差呢!),因此也就造成了 BIOS 的時間會三不五時的給他快了幾秒或者慢了幾秒。
或許您會認為,BIOS 計時器每天快個五秒也沒有什麼了不起的,不過如果您再仔細的算一算,會發現,一天快五秒, 那麼一個月快2.5分鐘,一年就快了 75 分鐘了!所以說,呵呵!時間差是真的會存在的! (依据该原理,只要关机或者重启次数越多,时间就会差得越离谱)
1.挑选最快最稳定的ntp上层服务器
阅读全文…
系统环境 – Vmware WorkStation 7(同系列其他产品,如ESX/Esxi类似)
客户机操作系统 – Ubunt Linux Server 9.10
搭建测试环境,为了快速部署,使用Vmware的Clone功能,快速复制出许多客户机。
启动后发现个问题,除了源客户机,其他副本客户机,网络功能都不正常,具体表现为
- ifconfig输出的网络配置,只有lo,没有eth0
- “ifconfig –a”输出的网络配置中,eth0已经被自动修改为eth1了
- /etc/udev/rules.d/70-persistent-net.rules中,有eth0和eth1的详细定义。eth0为源客户机copy过来的;eth1为虚拟机自动生成的新网卡,定义区块的ATTR{address}记录着新网卡的mac(在虚拟机目录的VMX文件中,也能找到该mac地址)
阅读全文…
多人管理同一台Linux Server,为了方便审计,最好在history内加入操作时间。
It comes in handy particularly if there are multiple people maintaining a given server (so you can see when a command was performed) or even if you are the sole maintainer, but can’t remember exactly when you did or changed something.
Edit your /etc/bashrc and append to the bottom:
export HISTTIMEFORMAT="%h/%d – %H:%M:%S "
阅读全文…
故障现象
某Web服务器,突然出现以下问题,php-cgi僵死在进程里,无法重启
www 9463 0.0 0.3 41996 13612 ? D Apr19 1:22 /usr/local/php/bin/php-cgi –fpm
www 20858 0.0 0.3 40408 12932 ? D May05 1:55 /usr/local/php/bin/php-cgi –fpm
www 20866 0.0 0.3 40688 13296 ? D May05 1:53 /usr/local/php/bin/php-cgi –fpm
www 20878 0.0 0.3 40932 13604 ? D May05 1:51 /usr/local/php/bin/php-cgi –fpm
www 24288 0.0 0.3 40436 12880 ? D Apr15 2:36 /usr/local/php/bin/php-cgi –fpm
www 26881 0.0 0.3 41596 13712 ? D Apr16 6:11 /usr/local/php/bin/php-cgi –fpm
www 26921 0.0 0.3 43224 15848 ? D Apr16 5:57 /usr/local/php/bin/php-cgi –fpm
www 26983 0.0 0.3 42736 14524 ? D Apr16 6:01 /usr/local/php/bin/php-cgi –fpm
www 27007 0.0 0.3 42608 14248 ? D Apr16 6:01 /usr/local/php/bin/php-cgi –fpm
www 27023 0.0 0.3 42464 15172 ? D Apr16 5:57 /usr/local/php/bin/php-cgi –fpm
处理过程
阅读全文…
# 查看默认的运行级别,Debian系默认运行级别为2,Redhat系默认运行级别为3
[11:34:29.9] root@webserver:/usr/local/webserver/nginx# runlevel
[11:34:31.8] N 2webserverwebserver
阅读全文…
程序员反映在sun.xmnn.cn(192.168.96.55)不能利用PHP的mail()函数发送邮件。已解决。
设置步骤如下,
阅读全文…
编辑/etc/ethers,要这样格式写,还必须有可执行权限
IP空格MAC (MAC间用:分开)
如下:
192.168.0.11 04:4B:80:80:80:01
192.168.0.12 04:4B:80:80:80:02
192.168.0.13 04:4B:80:80:80:03
192.168.0.14 04:4B:80:80:80:04
最后在rc.local里加上下面一行
arp -f /etc/ethers
就OK了,开机自动加载
注:ethers文件里不能本机IP绑定本机MAC(不能自己梆自己),否则出错
arp -s 用于在命令行下暂时绑定IP和MAC
arp -s 192.168.0.1 04:4B:80:80:80:04
近期评论