CentOS配置时间同步NTP

CentOS配置时间同步NTP

为什么要使用ntpd而不是ntpdate?

原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18分,而标准时间是9.28分,ntpd会在一段时间内逐渐的把时间校准到与标准时间相同,而ntpdate会立刻把时间调整到9.28分,如果你往数据库内写入内容或在其他对时间有严格要求的生产环境下,产生的后果会是很严重的。(注:当本地时间与标准时间相差30分钟以上是ntpd会停止工作)

NTP通信协议原理

1.首先主机启动NTP。

2.客户端会向NTP服务器发送调整时间的message。

3.然后NTP server会送出当前的标准时间给client

4.client接受来自server的时间后,会根据这个信息来调整自己的时间。这样就实现了网络对时。

NTP这个deamon采用了123端口。(UDP)

“当我们要利用Tim server来进行实践的同步更新时,就需要使用NTP软件提供的ntpdate来连接端口123”

与时间相关的一些命令和配置文件

1./etc/ntp.conf

linux各版本虽然目录不同,但文件名相同。可以用which ntp.conf 或者locate ntp.conf来查找。这是NTP唯一的一个设置文件。

2./usr/share/zoneinfo/

这个里面规定了这个主要时区的时间设置文件。

3./etc/sysconfig/clock

这个文件是linux的主要时区设置文件,每次开机后linux会自动读取这个文件来设置系统所默认的显示时间,可以看看它里面到底设置了什么:

cat /etc/sysconfig/clock 
# The ZONE parameter is only evaluated by system-config-date. 
# The timezone of the system is defined by the contents of /etc/localtime. 
ZONE="Asia/Shanghai" 
UTC=true 
ARC=false

4./etc/localtime

本地端时间配置文件。

5./bin/date

这个是时间的修改命令,除了输出时间,还可以修改时间。

6./sbin/hwclock

因为linux系统上面BIOS时间与linux系统时间是分开的,所以使用date这个指令调整了时间之后,还需要使用hwclock才能将修改过的时间写入BIOS中。

7./usr/sbin/ntpd

这是NTP的daemon文件,需要启动它才能提供NTP服务,这个命令会读取/etc/ntp.conf里面的设置。

8./usr/sbin/ntpdate

这是client用来连接NTP Server的主要执行文件,如果您不想启用NTP,只想启用NTP Client功能的话,可以只应用此命令。

9,/usr/sbin/ntptrace

可以用来追踪某台时间服务器的时间对应关系。

安装与配置

1、设置时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2、安装ntpd服务

yum -y install ntp

3、配置ntpd

vi /etc/ntp.conf

    
restrict default kod nomodify notrap nopeer noquery   #
restrict -6 default kod nomodify notrap nopeer noquery  #针对ipv6设置

# 允许本地所有操作
restrict 127.0.0.1 
restrict -6 ::1

# 允许的局域网络段或单独ip
restrict 10.0.0.0 mask 255.0.0.0 nomodify motrap
restrict 192.168.0.0 mask 255.255.255.0 nomodify motrap
restrict 192.168.1.123 mask 255.255.255.255 nomodify motrap

# 使用上层的internet ntp服务器
restrict cn.pool.ntp.org
restrict 1.cn.poo.ntp.org
restrict 0.asia.pool.ntp.org
restrict 3.asia.pool.ntp.org

server cn.pool.ntp.org prefer
server 1.cn.poo.ntp.org
server 0.asia.pool.ntp.org
server 3.asia.pool.ntp.org

# 如果无法与上层ntp server通信以本地时间为标准时间
server   127.127.1.0    # local clock
fudge    127.127.1.0 stratum 10    

# 计算本ntp server 与上层ntpserver的频率误差
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography. 
keys /etc/ntp/keys
#日志文件
logfile /var/log/ntp.log

修改/etc/sysconfig/ntpd:

# Drop root to id 'ntp:ntp' by default. 
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"

# Set to 'yes' to sync hw clock after successful ntpdate 
SYNC_HWCLOCK=yes #make no into yes; BIOS的时间也会跟着修改

# Additional options for ntpdate 
NTPDATE_OPTIONS=""

验证与状态检查

运行ntp

service ntpd start/stop/restart

查看ntp的端口

应该看到123端口

netstat -unlnp

查看ntp服务器有无和上层连通

# ntpstat

synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s

注意:此命令出现上述synchronised结果比较慢,我的用了大概5分钟。

查看ntp服务器与上层间的联系

# ntptrace -n 127.0.0.1

127.0.0.1: stratum 3, offset -0.001095, synch distance 0.532610
116.193.83.174: timed out, nothing received

查看ntp服务器与上层ntp服务器的状态

# ntpq -p

其中:

remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
refid - 参考上一层ntp主机地址
st - stratum阶层
when - 多少秒前曾经同步过时间
poll - 下次更新在多少秒后
reach - 已经向上层ntp服务器要求更新的次数
delay - 网络延迟
offset - 时间补偿
jitter - 系统时间与bios时间差

如果所有远程服务器的jitter值是4000并且delay和reach的值是0,那么说明时间同步是有问题的

可能的原因是防火墙阻断了与server之间的通讯,即123端口是否正常开放;

此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate 服务器ip”的时候将返回:

27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found

启动NTPD

我采用了一个很笨的办法来手动启动ntpd,而不是把ntpd加入服务,写一个简单的脚本

vi ntpstart.sh

ntpdate cn.pool.ntp.org
ntpdate cn.pool.ntp.org
service ntpd start

然后加入/etc/rc.local

/shpath/ntpstart.sh

这是因为我有一台服务器启动后的时间总是与标准时间差别很大,每次启动后ntpd要花很多时间才能把时间校准,所以我是先在系统启动后ntpdate更新两次,然后再启动ntpd服务,在freebsd里好像有修改配置文件,让时间服务器在系统启动之前启动的,centos还没仔细琢磨

客户端配置

方法1.使用ntpdate与上面配置的时间服务器定时同步,不推荐此方法

方法2.安装ntpd,指定时间server为上面配置的服务器地址,推荐

更详细的介绍参见台湾 鸟哥的Linux私房菜

http://linux.vbird.org/linux_server/0440ntp.php

附录

中国国家授时中心(陕西西安) 210.72.145.44

上海: 61.129.66.79 (t2.hshh.org) 61.129.42.44 (ntp.fudan.edu.cn) 202.120.2.101 (ntp.sjtu.edu.cn)

浙江 218.75.4.130 (t1.hshh.org)

内蒙古 218.21.130.42 (t1.hshh.org)

香港: 137.189.11.66 (clock.cuhk.edu.hk ) 137.189.11.128 (ntp.cuhk.edu.hk )

台湾: 220.130.158.52(time.stdtime.gov.tw) 220.130.158.72(Clock.stdtime.gov.tw)

220.130.158.51(tick.stdtime.gov.tw) 220.130.158.54(watch.stdtime.gov.tw)

asia.pool.ntp.org, 更多亚洲服务器请参考 http://www.pool.ntp.org/zone/asia

cn.pool.ntp.org, 更多中国服务器请参考 http://www.pool.ntp.org/zone/cn

tw.pool.ntp.org, 更多中国台湾服务器请参考 http://www.pool.ntp.org/zone/tw

hk.pool.ntp.org, 更多中国香港服务器请参考 http://www.pool.ntp.org/zone/hk

12/02/15补充:

取消ntpd自动启动,在系统启动时,指定ntpdate远程标准时间服务器两次,然后service ntpd start

好像也可以修改rc.conf或者加上一堆什么参数来实现,我偷懒用这个笨办法来保证时间的准确了

 

 http://www.crsay.com/wiki/wiki.php/server/centos/ntp-set

12/02/13补充: 郑重建议不再使用ntpdate了,以下内容仅供参考,不建议使用
Read more...

BlackScreen Problem In BackTrack 5 R2 After StartX

BackTrack 5 R3: Black Screen After Startx/Caps Lock Blinks/USB Thumb Drive Boot Problem

 
Well, I have to say up front, this took me a couple of hours to resolve.  It appears that this issue is quite common, but I found, literally no complete resolution to this issue anywhere on the Internet.  Here is what I tried to do:
I was trying to make a bootable USB drive with BackTrack 5 R3 on it.  Here is what I did to get that done:
1.  Get unetbootin and the ISO of backtrack.
2.  Run unetbootin and select the ISO of backtrack and the USB stick you want to use.
3.  Run the program and wait for it to finish.

This worked, except that it wouldnt boot after typing in 'startx".  It would just freeze up, black screen, and caps lock blinking steadily.  It wouldnt go any further.  From my research into this, it appears to be a video driver issue.  Im running a Dell Latitude E5410.  There appears to be fixes out there, but because Im running this on a USB drive, none of them were permanent fixes.  This is the fix that actually got me to realize that the my USB install was ok, and that this was a video driver issue (I found this in the BackTrack forums, posted by p0cTeam):
quote: insert DVD-live, in the grub press TAB to edit boot, you well see something like this file=/cdrom/preseed/ubuntu.see boot=casper initrd=/casper/initrd.gz, add xforcevesa noapic nosplash irqpoll -- after initrd.gz          end quote.

Well, that worked, ONCE.  There was another fix I found as well, and it appears to be similar in nature, although the syntax was different.  It consisted of editing the grub.cfg file.  The only problem was that I could not do a 'update-grub' after editing the grub file.  Which apparently fixed people's issue IF it was installed on the hard drive of the pc/laptop.  Mine wasnt, again, it was on the USB.  So for some reason, when I did the update-grub command, it complained to me and it never would write to the grub.cfg file.  Bummer.
Well, I found that someone on the Internet mentioned the sys.cfg file.  I looked for it in the linux directory, but I couldnt find it anywhere.  Another bummer.  But, what I did do was boot back into Windows and look at my USB drive and found a file called 'syslinux.cfg'.  I opened it up and I edited as follows:
--------
label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/custom.seed boot=casper text splash vga=791 xforcevesa noapic noapci nosplash irqpoll --

label ubnentry0
menu label BackTrack Text - Default Boot Text Mode
kernel /casper/vmlinuz
append initrd=/casper/initrd.gz file=/cdrom/preseed/custom.seed boot=casper  text splash vga=791 xforcevesa noapic noapci nosplash irqpol --


--------
Highlighted above is what I added.  Notice its the same as what p0cTeam said to add, except that it was in the syslinux.cfg file on the USB stick instead of in the grub file on the hard drive.
Ive tested this above and it works well (in my scenario).  I appears that there is about 3 variants to this, according to the install you do.  Again, mine was a USB, while most appears to address an install on the hard drive.  Im not sure how you would edit this on a CD.  I hope this helps you.
 
http://www.shanekillen.com/2012/11/backtrack-5-r3-black-screen-after.html
Read more...

联阳IT1171_A0AA主控U盘量产教程

1、下载量产工具(本帖提供绿色中文版下载)解压,展开工具目录。
2、运行InfUpdate工具输入VID&PID号,点击ADD加入后关闭窗口。
3、运行DtMPTool.exe出现量产工具主界面,见下图:


4、插入U盘后工具会辨认出U盘,如果没发现U盘,请点击“刷新”或“枚举端口”就能找到U盘,见下图:


5、点击“设置”输入密码123后点击“确定”出现参数设置界面。
A、“厂商信息”页面设置如下图:


“厂商信息”栏参数除VID&PID外可随意修改,VID&PID最好别改,若你执意要改则应按十六进制规范填写。“QC项目”栏选“自动侦测”,“磁盘类型”栏可选自己喜欢的,“可除去的”为ZIP,“本地”为HDD。
B、“参数输入”页面可按下图设置:


可以选择自己喜欢的序列号,选“本地”项后就可以输入序列号。第一次量产时“mass production”栏的“开卡之前”项应选“Rebuild Bad Block”模式,因为量产工具对第一次量产的U盘要进行坏块标注,否则量产会失败。因该模式必须扫描整个U盘,所以花费的时间较长,请耐心等待。再次量产时可选“正常”以便节省时间。“开卡之后”项选“没有”。
C、“分区设置”页面设置如下图:


勾选“公共分区I”和“公共分区II”的“分区选项”,“公共分区I”容量大小选“自动”。请注意:量产CDROM时“文件位置”栏的“公共分区II”项应点选“File”,调入镜像时有两种格式可供选择(dgo&iso)。“加密分区”&“隐藏分区”本人认为没有太大的意义,读者可自行研究。
设置好后点击“确定”按钮保存配置文件退出,点击“开始”按钮开始量产。量产成功时会出现下图:


关闭主界面,拔插U盘后在“我的电脑”里就可以见到刚才量产的USBROM和U盘分区了,见下图:


6、注意事项
A、如果量产失败,请双击鲜红色横条打开“出错信息表”,可根据出错信息对设置参数进行调整。
B、量产成功后有可能会出现找不到U盘分区的情况,这时可右击“我的电脑”点“管理”打开“磁盘管理”后重建U盘分区即可。
C、想量产CDROM时,为提高U盘性能,量产前先用本帖提供的“一键4K扇区对齐”工具优化U盘,因为CDROM的只读特性,量产后再优化时对提高性能没有帮助。
D、如果多次量产都失败时,请使用本帖提供的检测工具检测你的U盘,看看U盘的Flash型号在量产工具的Flash列表中有没有,如果没有就不要再浪费时间了,等待更新版本的量产工具吧。
E、本帖提供的量产工具为绿色中文版,适合联阳的IT-1167~1171等主控U盘。
F、因该U盘的工作电流较大,量产时请不要使用USB延长线,最好使用背面端口。

Read more...

thinkpad 启动 量产

thinkpad上不能启动并不是量产引起的.
是由于盘符造成的.
thinkpad bios只能认第一个盘符为cdrom, 但是量产不支持.

所以有个办法就是之量产为一个光驱, 不要u盘.
thinkpad就能正常使用了.

 

http://www.mydigit.net/read.php?tid=53131&fpage=0&toread=&page=1

---------------------------------------------------------------------------------------------------------

本方法是自残U盘,因此姑且称之为“葵花大法”,以临时解决UT165无法从我的ThinkPad上以USB-CDROM启动的问题。 

        UT165主控U盘(我的Kingmax超棒4G就是)利用量产工具1.65.11.10(其他版本也相似,包括UFD Utility)可成功制作 1个可移动磁盘分区 + 1个CDROM ,注意这个CDROM分区总是在U盘移动磁盘分区之后! 


        这样问题来了,在我的T43、T60两台笔记本上均无法从 USB-CDROM启动,系统BIOS均只能识别第一个USB-HDD分区——可移动磁盘分区。同样的问题也在Dell台式机(OPTIPLEX 330)上发生。这个问题很恼火,大多数量产成功但无法从 USB-CDROM启动的问题都是由此。 

        而在另两个U盘:金士顿U盘(主控SSS6677)和宇瞻AH320(主控UP13)则不存在以上问题,原因很简单,这两个U盘量产后 CDROM分区均位于第一个分区,只要电脑BIOS支持USB-CDROM启动,都能顺利从U盘CDROM分区启动。 

        偶然从论坛上发现UT165量产工具打开隐藏功能的方法,发现一个有趣的选项:“OneDisk Autorun”,从字面上理解,是产生一个可自动运行的磁盘,如选中该选项,则“Public Area I(LUN 0)”成不可选状态,且有一行文字说明:“Minimum size can be zero if Hidden Block or Security Area is not 0 MB”——即Public Area I分区可在Hidden Block或Security Area不为0MB的情况下为0!(有点绕口哦,简单说就是——Hidden Block或Security Area不为0MB的情况下,可以没有Public Area I 分区 ) 

分析一下:
 
Hidden Block——隐藏区域,应该是将U盘的部份区域隐藏不用。如果要将你的4G U盘变成1G,就用它隐藏3个G好了。除了我这样的冤大头恐怕没人会干 。 
Security Area——应该是加密分区,还可设置登录密码及密码提示。——但我至今也没搞懂怎么用,即便设置了,如何访问呢?系统中不可见,也没有相应的登录软件入口,不知用UFD Utility能否登录?没试过。 


        回到主题,我的情况是要将CDROM分区放到第一,但量产工具无法做到,那就考虑将非CDROM分区去除,使系统只能认CDROM分区!自残就自残吧,U盘是拿来用的,要用到U盘正常功能再量产回去。 

动手: 使用量产工具1.65.11.10


1. 右键双击Partition Setting选项卡右侧空白区域,打开隐藏选项。 

2. 勾选“Enable OneDisk Autorun”,软件自动选中“Security Area”和“Autorun Area”的分区设置。 

3. “Image File Location”处选择ISO,我的是老毛桃911,软件自动给出分区容量110M。 

4. 关键的一步:Hidden Block Partiton 设置容量:1 MB。——其实设置多少无所谓,反正你也用不到了,只要在1以上,总容量-ISO容量以内就行。Security Area就让它Auto。 

5. OK,设置完毕。 

6. 开始量产 

 

量产完毕后,再插入U盘时,系统只认出一个CDROM,OK! 

        启动我的T60,BIOS终于识别出我的USB-CDROM,继续,进入老毛桃PE,意外发生了,PE是进去了,但没有加载外置程序,而ISO没问题,在SSS6677的金士顿上是正常的啊?

        经过对WinPE的一夜分析,baidu、google,终于找到问题,是PE的配置文件没有正常加载,看来,UT165和SSS6677就是不一样,(后又试了AH320,UP13居然也没有加载PE的外置程序),经修改PE配置文件后(——以后有空再单独发帖说明吧,大多数U盘CD分区PE不加载外置都是这个原因),我的Kingmax超棒终于能以USB-CDROM启动ThinkPad进入老毛桃911了。 

后记,该方法应该对所有支持USB-CDROM启动的计算机都有效,兼容性是大大提高了,但U盘的移动存储功能也就为0了。此法只能是急需USB-CDROM启动功能的UT165用户使用(UT163是否需要不清楚),其他主控仅供参考了,关键看各位是否需要挥刀自残。 

    敲字很累,论坛老大也提供了这个办法,但偷懒没说详细,给点辛苦费吧! 

Read more...

lsof 工具

lsof 工具可列出某个Unix 进程所打开文件信息的清单,被打开文件的类型可能包括了:本地文件,目录,网络共享文件,块设备文件,字符设备文件,共享库,管道,软链接,套接字等等.

以下是具体的lsof 操作实例总结:

1,列出所有被打开文件信息

#lsof

2,查看某个被打开文件信息

#lsof /path/to/file

#lsof /path/to/file1 /path/to/file2

3,列出某个目录下的被打开文件

#lsof +D /path

#lsof | grep “/path”

4,列出某个用户下的被打开文件

#lsof -u nobody

#lsof -u nobody,root

5,列出某个进程下的被打开文件

#lsof -c httpd

#lsof -c httpd -c mysqld

6,复合查询(OR)被打开文件信息

#lsof -u nobody -c httpd

7,复合查询(AND)被打开文件信息

#lsof -a -u root -c httpd

8,查看除root之外所有用户的被打开文件

#lsof -u ^root

9,查看具体进程PID的被打开文件

#lsof -p 10101

#lsof -p 10101,10102,10103

10,列出所有网络连接

#lsof -i

11,列出所有网络TCP或者UDP连接

#lsof -i tcp

#lsof -i udp

12,查看具体网络端口信息

#lsof -i :80

#lsof -i tcp:80

#lsof -i udp:53

13,查看具体用户下所有网络连接

#lsof -a -u www -i

14,列出NFS 文件

#lsof -N

15,列出Unix 套接字文件

#lsof -U

16,列出某个特定文件描述符相关联的文件

#lsof -d 2

#lsof -d 0-2

#lsof -d mem

0 1 2 => FD: standard input, output, and error

17,列出所有网络连接关联的PID

#lsof -t -i

#kill -9 `lsof -t -i`  => kill all process use network

18,重复lsof 输出

#lsof -r 1 -a -u www -i

Read more...

[ERROR] /usr/libexec/mysqld: Can't open file: '.s.frm' (errno: 24)

 

130522  1:45:20 [ERROR] /usr/libexec/mysqld: Can't open file: './alamise/alamise_categories.frm' (errno: 24)

 -----------------------------------------------------------------

ps -ef|grep mysql

查看 pid

pid 32150

 ---------------------------------------------------------------------

cat /proc/32150/limits |grep files

查看pid最大limite

 -------------------------------------------------

lsof -p 32150 |wc -l

查看已经打开的数量

 

lsof | grep mysqld

查看列表

-----------------------------------------------------------

查看 mysql值

mysql -uUser -pPASS

show global variables like "%open_files_limit%";

-------------------------------------

修复表

mysqlcheck -A -o -r -p

password

----------------------------------------

更改

 

/etc/my.cnf

[mysqld]

open_files_limit = 100000

 

 

 

 

 

 

 

Read more...

centos shell get ip mac address

--------------------------------mac------------------------

cat /sys/class/net/eth*/address

 

-------------------------mac-----------------------------

/sbin/ifconfig \
   | grep 'eth0' \
   | tr -s ' ' \
   | cut -d ' ' -f5

------------------ip--------------------------
/sbin/ifconfig \
   | grep '\<inet\>' \
   | sed -n '1p' \
   | tr -s ' ' \
   | cut -d ' ' -f3 \
   | cut -d ':' -f2
--------------------------mac----------------
ifconfig | grep HWaddr | awk -F" " '{print $5}'

------------------------ip-------------------------
ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
Read more...
Subscribe to this RSS feed
Notice: Undefined offset: 1 in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/pagination.php on line 18

Notice: Undefined offset: 1 in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/pagination.php on line 34

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/com_k2/templates/default/category.php on line 191

Notice: Undefined offset: 1 in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/pagination.php on line 18

Notice: Undefined offset: 1 in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/pagination.php on line 34