如何使两台linux服务器时间同步

如何使两台linux服务器时间同步,第1张

Linux自带了ntp服务 -- /etc/initd/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntpconf。
为了测试,设置让node2 -- 1921681102和node1 -- 1921681101做时间同步。
第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1 ~]date -s 08/03/2011
[root@node1 ~]date -s 11:12:00
[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。
第二步,然后将node1配置成一个time server,修改/etc/ntpconf,
[root@node1 ~]vi /etc/ntpconf
其他的配置不怎么需要改,只需要关注restrict的配置:
1 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。
2 加入:restrict 19216810 mask 2552552550 -- 让19216810/24网段上的机器能和本机做时间同步
3 这样就可以了,记得下面的:
server 12712710 # local clock
fudge 12712710 stratum 10
这两行需要,这是让本机的ntpd和本地硬件时间同步。
当然,我们也可以添加server xxxxxxxxxxxx,让他和其他的time server时间同步。
4 /etc/initd/ntpd restart
5 chkconfig ntpd on
6 修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。
第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntpconf ,
[root@node2 ~]vi /etc/ntpconf
1 restrict default ignore这行保留为注释状态,因为sales不需要做time server
2 注释掉server 12712710, fudge 12712710 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。
3 加入server 1921681101这行,和node1机器同步。
这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间
第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdatesh
/usr/sbin/ntpdate 1921681101
[root@node2 ~]#chmod 755 ntpupdatesh
[root@node2 ~]#crontab -e
/1 /root/ntpupdatesh
[root@node2 ~]#/etc/initd/crond restart

A、B两个数据库在同一个服务器上?

可以用触发器实现,如果A、B数据库的数据都会变化的话,那么两边都要建立触发器,比如A库a表上建立触发器(增删改都需要,只举插入触发器的例子)

select@字段1=字段1,@字段2=字段2,@主键=主键

frominserted

ifexists(selectfromBdboawhere主键=@主键)

begin

--如果有重复的数据怎么处理?是报错,还是不做任何处理直接return,在这里写语句

end

insertintoBdboa(字段1,字段2)

values(@字段1,@字段2)

如果不在同一台服务器上,用触发器就不太保险,因为如果其中一台服务器出了故障,对表的增删改 *** 作都会出问题,除非你能保证两台服务器都能运行正常,或者可以在很短的时间内排除故障。

用同步软件不就搞定了,省的瞎折腾了啊
我现在用的Bestsync2011同步软件,我觉得还蛮好用的,速度比较快,日志功能很强大,反正如果同步有任何错误,你能查看到每个文件的同步状态。
for example: 你可以把软件安装在服务器上,建立1个任务,来将这两台服务器进行实时同步。
1 在主菜单里面点 编辑-->追加任务
文件夹1选择 服务器A需要同步的文件夹位置
文件夹2选择 服务器B需要同步的文件夹位置
方向为由文件夹2到文件夹1
然后选择 完成 按钮
在主菜单上,点选 开始 按钮, 这样, A与B上的文件就完全一致了。
2 在任务列表中,双击你刚刚建立的这个任务,然后会d出属性对话框

翻到 “日程” 那页
勾选上 “文件一旦变化,立即同步”这个选项
最后点击 确定 按钮
这样,只要服务器A的指定文件夹一旦变化,就实时同步到服务器B了以此类推
他们新浪微博上要好多教程,你不清楚可以去看那上的手册。。。
是否可以解决您的问题?

两台服务器IP地址一样,还要数据同步在一个网络中不可实现;WEB网站数据库文件一般不大,可以使用一台存储或服务器保存数据库就解决数据同步的问题,再做二台前置双击就可以了,成本不高。如果做双节点部署的话,也可以实现宕机的冗余。

你好,你可以直接在一台服务器上面做RIAD!
这样不是很省成本!
RAID系统可以使用两组硬盘同步完成镜像存储
第一张硬盘挂了,可以用第二张来用!
主板坏了?电源坏了? 主板坏了 RIAD得在重做 电源坏了 就没什么影响!
天互数据 为您解答,希望能帮到你

很好的问题,我说下我的想法,
腾讯有很多服务器,北京上海应该不是登录同一个服务器,但是数据库应该是同一个,用户资料这种数据应该也是采取分布式存储的(不一定是放在关系型数据库里面,腾讯这种公司现在在很好的使用云技术),有一个核心主库,各分布式服务器上的数据作为主库的实例缓存在分布式环境中,而修改在线签名这种 *** 作,技术上认为是需要及时同步到主库的,那么上海服务器需要什么资料时,肯定需要从主库拿一次的,这时候拿到的肯定是最新的,同时主库发生了什么变更的时候可以主动发起一个PUSH *** 作,同步各分布式实例。总之,分布式环境下,我们可以定义同步 *** 作的重要级别,级别高的需要迅速完成同步的,并不一定很多,所以效率上面没有问题就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13395555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存