我有问题,我不知道很多关于服务器pipe理,现在我们已经有2个服务器负载均衡器后面,我需要同步从Apache的htdocs文件夹。
我认为最大的问题是,我没有root权限的服务器只是一个“正常的”SSH用户和FTP。
我希望你对我有一些想法如何pipe理这个。
您可以简单地使用rsync ,如:
$ rsync -au src dest
如果不在本地机器上,任何src和dest都可以写成user@host:src 。 这默认使用ssh。
如果提供的用户在两台服务器上具有足够的权限来读取和写入文件/文件夹,则不需要root访问权限。
您可以使用rsync和cron之类的东西来定期镜像文件。 缺点是同步不是实时的,而是以你设定的任何间隔进行。
如果您需要立即同步到组中的所有节点,则应该查看DRDB等内容 。 如果你没有root访问权限,你需要一个root用户来为你设置,但这是非常值得的。
像其他人所说的那样,rsync是一个不错的select,但是像SAN这样的networking存储设备或者只是设置一个简单的networking共享,比如NFS或者Samba,可能会更容易。
我个人只有一个存储设备,这两个服务器将读取。 无论哪种方式你去,它会奏效。 Rysnc不是我会select的,因为你很可能把它放在一个cron作业上,而且你可能会有一些更新的延迟,因为一台服务器更新了,但另一台服务器没有更新。 但是,可能有某种方法可以让服务全天候运行,以检查更改并在需要时更新其他服务器; 从来没做过。
新数据多长时间添加到系统中?
这是决定如何解决这个问题的关键因素。
如果数据不经常添加,那么与rsync或其他工具的频繁同步可以工作。
如果频繁添加数据,则必须经常同步。 在这种情况下,您需要通过NFS / Samba或集群文件系统共享存储。 然而,这将需要root权限来设置。
我更喜欢集中的数据。 维护,备份和保护要容易得多,避免系统不同步。 这也更容易扩展到多个Apache节点,而不是试图保持10个Apache服务器同步。