最简单的同步方式是两个服务器共享存储空间,比如使用相同的网络硬盘最为网站服务器使用,这种方法是永远同步的。比如你的局域网里面有三台机器,一台链接网通宽带提供对外WEB服务,一台链接电信宽带对外提供WEB服务,另外一台不链接外网,安装大硬盘并共享出来,另外两台服务器都设置网站主目录为共享机器上的硬盘。换种思路解决这问题,我提供点方法:1:找分区或目录同步软件,某台服务器改动了自动把修改应用到别的服务器,比如红旗的HA。2:换种建服务器的思路,后台用一台独立的服务器做数据库和文件服务器,用来存放数据库和上传的文件,另外的做负载均衡运行服务器,把不需要变动的网页程序放上面。。。。假设你这两台服务器是linux的,将第三台服务器当做文件共享服务器,挂载到你这两个服务器上的同一个位置,然后PHP上传文件时,保存到这个挂载盘上,这样两台服务器的附件就共享了,并且同步,不管在哪套程序上上传的,都一样。
当然也可以不需要第三台服务器,将你这两台中的一台挂载到另一台上,也是一样的效果。
windows服务器原理相同,不在赘述。
只用两台服务器,举例说明:
你的两个服务器分别是1921681100和1921681200
在1921681100上,文件上传的目录设置为/var/tmp
将/var/tmp挂载到1921681200的/var/tmp上
(1)在1921681100上开启NFS服务并编辑/etc/exports文件:
chkconfig --level 35 nfs on
service nfs start
vi /etc/exports,加入:
/var/tmp 1921681200(rw,sync,no_root_squash)
(2)在1921681200上创建目录并挂载
mkdir /var/tmp
chmod 777 -R /var/tmp
mount 1921681100:/var/tmp /var/tmp
这样就可以了。
你不管在哪台服务器上上传,都将文件保存到/var/tmp里,两个服务器之间的文件实现共享了可以架构FTP服务器,然后找同步软件来实现两台服务器的同步。
我现在用的Bestsync2011,感觉还不错了,可以指定时间进行差异备份,尤其是数据量大的情况,这软件多线程同步速度还是可圈可点的~~你可以试试
用起来蛮简单的,举例:
1 你本地装上软件以后,在主菜单里面 编辑-->追加任务
文件夹1选择 驱动盘中要备份的文件夹位置
文件夹2选择 选择FTP(填写FTP地址等相关参数)
同步方向为 文件夹2 --》文件夹1
在 FTP设定 下面填写服务器地址,账户名,密码等信息)
然后选择 完成 按钮
2 在主界面下,双击你刚建立的任务,会d出属性对话框
3 选择“日程”属性页,勾选最后一个复选框“按指定日程启动任务”,然后在下面选择你想同步的具体时间点就Ok了~~嘿嘿
这个软件就是可以同时扫描多个文件夹以减少准备时间,N个小文件扫描也很费时间的。这个功能很有用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的功能,所以需要注释掉。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)