【Linux】服务器间的文件分发问题

是是非非 2009-03-26 01:34:29
我的网站 www.3966.com
图片存放在 images.3966.com 这个服务器上
现在还想把 用户的目录给分离出来,分别放到
qiye.3966.com 和 home.3966.com 上去
=====================================================
用户的操作,比如上传图片,修改资料,删除图片,新建页面,删除页面。。这些都是在主站 www.3966.com 上操作的

现在我是每天手动用7z 压缩以后,在服务器间传输的

服务器是 CentOS 5.2 / RHEL 4.0
网站开发语言是php

请教一下各位,有什么方案可以做到自动,并且能接近实时的服务器间文件传输
还得保障在网络故障或者对方服务器宕机的时候,数据不会丢失。。。

===============================
我想到的是FTP 和 NFS

用FTP的话,维护很多服务器的FTP服务,还有帐号密码是个很头疼的问题。。
NFS没用过,不知道是否可靠。。。
...全文
588 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
whhvc 2009-04-09
  • 打赏
  • 举报
回复
主站 www.3966.com 用nfs映射image服务器的一个目录,不用拷贝
morris88 2009-04-09
  • 打赏
  • 举报
回复
貌似还可以采用 lvs 的共享存储方式

共享存储如分布式文件系统在这个LVS集群系统是可选项。当网络服务需要有相同的内容,共享存储是很好的选择,否则每台服务器需要将相同的内容复制到本地硬盘上。当系统存储的内容越多,这种无共享结构(Shared-nothing Structure)的代价越大,因为每台服务器需要一样大的存储空间,任何的更新需要涉及到每台服务器,系统的维护代价会非常高。

共享存储为服务器组提供统一的存储空间,这使得系统的内容维护工作比较轻松,如Webmaster只需要更新共享存储中的页面,对所有的服务器都有效。分布式文件系统提供良好的伸缩性和可用性,当分布式文件系统的存储空间增加时,所有服务器的存储空间也随之增大。对于大多数 Internet服务来说,它们都是读密集型(Read-intensive)的应用,分布式文件系统在每台服务器使用本地硬盘作Cache(如 2Gbytes的空间),可以使得访问分布式文件系统本地的速度接近于访问本地硬盘。

此外,存储硬件技术的发展也促使从无共享的集群向共享存储的集群迁移。存储区域网(Storage Area Networks)技术解决了集群的每个结点可以直接连接/共享一个庞大的硬盘阵列,硬件厂商也提供多种硬盘共享技术,如光纤通道(Fiber Channel)、共享SCSI(Shared SCSI)。InfiniBand是一个通用的高性能I/O规范,使得存储区域网中以更低的延时传输I/O消息和集群通讯消息,并且提供很好的伸缩性。 InfiniBand得到绝大多数的大厂商的支持,如Compaq、Dell、Hewlett-Packard、IBM、Intel、Microsoft 和SUN Microsystems等,它正在成为一个业界的标准。这些技术的发展使得共享存储变得容易,规模生产也会使得成本逐步降低。

morris88 2009-04-09
  • 打赏
  • 举报
回复
LS的建议就很好,其实有很多方式可以实现。貌似LZ只需要用最适合你的环境的就行了!
cfgm 2009-04-09
  • 打赏
  • 举报
回复
1、使用rsync做定期同步,定时间隔设置较短,比如10分钟,注意用rsyncd来做服务器端,不要用sshd,前者的处理能力要更好。
2、也可以使用主动分发工具,可以用php+ssh(scp/sftp)等方法来操作远程服务器。
3、使用分布式文件系统,比如mogilefs(http://www.danga.com),你只需要增加存储节点。

以上这些方法你可以根据情况组合使用

-------
《构建高性能Web站点》读者讨论组
http://groups.google.com/group/highperformanceweb
  • 打赏
  • 举报
回复
在unix like系统间用NFS,基本可以实时传输.
talkno 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xdspower 的回复:]
6楼上建议用filesafe其实是比较搞笑的,这样还需要专门一台安装Win32类系统的计算机来运行这个软件!
前面说了光是同步备份的话,Linux下面本身就有很多方案,比如采用Rsync,或者最简单的定时运行wget/ftp/scp/samba ...
同步备份其实可能是一个比较复杂的事情,这要看你应用和应用环境的复杂层度。
[/Quote]
恩,没看清问题,非非,误导你了,呵呵.
xdspower 2009-03-26
  • 打赏
  • 举报
回复
6楼上建议用filesafe其实是比较搞笑的,这样还需要专门一台安装Win32类系统的计算机来运行这个软件!
前面说了光是同步备份的话,Linux下面本身就有很多方案,比如采用Rsync,或者最简单的定时运行wget/ftp/scp/samba ...
同步备份其实可能是一个比较复杂的事情,这要看你应用和应用环境的复杂层度。

xdspower 2009-03-26
  • 打赏
  • 举报
回复
这个还有看你自己的服务器群和存储链接的拓扑情况。
比如你可以所有的存储实际上是采用公用的存储网络,只是前端服务器不同,甚至前端服务器也是相同,只是虚拟服务器不同 ,这样的差异就造成了你实际要解决的问题的不同,你现在只是简单的提了一些信息,别人也不能帮你优化。
从你个人的信息来看,你应该是搞web开发前端比较有经验的,可能没有接触过服务器端或者实际硬件。其实你的朋友中应该有接触过这方面应用的,你可以和他们多沟通一下,说不定就解决了问题。

一般机器间可以用同步软件进行目录级的同步,但我想这还不是你想要的,我一个简单的建议是你可以考虑上一个专门的存储空间,所有的前端服务都访问同一个存储空间,这样可以减少很多麻烦。
如果是用存储网络的话也应该是可以的,这是内部网络,带宽可以很高,故障率也是可控的。
是是非非 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 talkno 的回复:]
非非,我之前用FileSafe做过同步镜像,看起来配合FTP的话,可以达到你的要求
[/Quote]

FileSafe是什么?

一个软件么
xhy_851221 2009-03-26
  • 打赏
  • 举报
回复
没整过
先帮顶
talkno 2009-03-26
  • 打赏
  • 举报
回复
非非,我之前用FileSafe做过同步镜像,看起来配合FTP的话,可以达到你的要求
linaxing 2009-03-26
  • 打赏
  • 举报
回复
可以考虑使用nfs,这样就不用拷来拷去的了,可靠性当然没问题,很多数据中心都会用到nfs。
alaiyeshi 2009-03-26
  • 打赏
  • 举报
回复
这个木有玩过,,不过好像有开源的,,,,我给你打听打听?
中科院电子所好像有用这个玩意
是是非非 2009-03-26
  • 打赏
  • 举报
回复
大树。。。分布式系统怎么搞。。。
alaiyeshi 2009-03-26
  • 打赏
  • 举报
回复
分布式系统,,,
可以考虑cluster(是这么写吧?)

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧