入门级
部门级
企业级
特种服务器
其它

五大核心
Web服务器
FTP服务器
Mail服务器
域名服务器
文件共享服务器
其它
路由器应用
代理服务器
数据库

Windows阵营
Unix
Linux
你的位置: 软件> 服务器软件> Linux系列>
Linux下的实时数据镜像
2002-04-23 11:53:00· · RealSKy

1 2 3 4  下一页

  一、摘要

  在本文中我们将要讨论的是,如何抛开昂贵的SAN(存贮区域网络Storage Area Network,如全球文件系统GFS)或网络块设备在Linux下实现数据复制。我们在复制系统中采用了FAM (文件变更监视模块)和IMON(信息节点监视模块),这两个系统都是SGI当初为IRIX开发的。

  SGI的员工真是非常的Cool,是他们将这两个程序移植到了Linux上并且公开了源代码。 当花费已不再是问题时,可以采用基于GFS(全球文件系统)和SAN实现实时数据镜像;否则, 数据共享及其它许多的选择就不可或缺了。

  有几个方法可供选择。在本文中我们将会对这些方法进行讨论,你将会看到它们各自的优缺点。

  二、为何要用复制替代共享?

  难道假设文件服务器不向客户端提供共享数据吗?是的,假设的工作环境确实是这样的。如果我们正在使用的文件服务器是通过NFS或SMB之类软件的共享文件的,系统中就会存在一个"瓶颈"和"引起系统故障的关键点"。若是在GFS之上通过共享的存贮设备(SAN或多通道的SCSI)共享数据,这种配置不但代价昂贵,并且这种存贮盒还会成为"引起系统故障的关键点"。也可以用NBD(网络块设备)建立一个网络镜像,但这不是一种常用的方式,NBD本身有些缺限,它非常难于设置管理,如果你只是要在少数几个WEB服务器间复制数据,用NBD只会给你带来更多的麻烦。

  三、 尽量简单

  好的,下面我们来试着复制。

  方案一:

  两台WEB服务器中的一台为主服务器,另外一台是备份服务器。要求备份服务器上的文件要与主服务器上的保持相同。

  这很简单吧。

  但是如何使其自动工作呢?用户每天得多次FTP到主服务器上复制数据。但当主服务器发生错误、由备份服务器接管系统时会发生什么呢?由于这种备份操作不是实时的,备份服务器中的数据肯定与主服务器不一致,这时管理员会非常恼怒。你当然可以运行一个计时守护程序, 每隔5秒运行一次"rsync -av -delete source destination"(参见《Rsync - 镜像备份工具使用指南》一文,编者注),但这样做会增加机器的负荷,影响系统的运转。

  方案二:

  有一台FTP服务器用来保存更新Web数据,而六个Web服务器使用dns轮转方式实现负载平衡,这样可以保证每台服务器上的数据都是相同的。这样我们就可以避免使用NFS,但是这样的解决方案并不能令人满意。

  那么最好的解决方法是什么呢?应该是"只有在数据发生变化时才将文件复制到各个Web服务器?quot;,如果文件没有发生变化就什么也不作。这也就是我们使用"fam"来做的工作。

1 2 3 4  下一页


■ 相关内容