分布式文件系统-困惑

分布式文件系统-困惑

我对这个概念还很陌生。:)

我可以使用分布式文件系统来实现 Web 应用程序的冗余吗?

服务器 A 和服务器 B 将在分布式文件系统上安装 Apache/mySql,服务器 C 管理连接(如果 sA 发生故障,则转到 sB - 或循环 DNS)。这样的方法可行吗?

如果是这样,那就太棒了,因为我不必担心数据库同步和文件同步。

谢谢你!

编辑:非常感谢大家提供的信息丰富的答案!有很多东西需要我消化。我(几乎)随机提名了一个答案。

答案1

我可以使用分布式文件系统来实现 Web 应用程序的冗余吗?

你当然可以。

服务器 A 和服务器 B 将在分布式文件系统上安装 Apache/mySql,服务器 C 管理连接(如果 sA 发生故障,则转到 sB - 或循环 DNS)。这样的方法可行吗?

您可以使用 MySQL 复制或者查看:http://dev.mysql.com/doc/refman/5.0/en/ha-overview.html

对于 Apache,你可以使用以下命令设置 A 和 BDRBD在双主模式和集群文件系统中政府金融服务局或者OCFS2关于C,你可以使用HAProxy或者Pacemaker。

答案2

由于您不清楚您实际谈论的技术,我假设“分布式文件系统”是指 DFS。

DFS-R 不适用于数据库。您仍需要在数据库级别提供冗余,但这适用于 Web 内容。您只需更新一台服务器,更改就会复制到 DFS-R 池中的其他服务器。

答案3

MySQL 无法从共享或同步文件系统运行。您需要寻找其他解决方案,例如使用 MySQL Cluster。

Apache 和其他 Web 服务器应该可以在共享或同步存储上正常运行。请确保您也共享脚本语言(例如 PHP)的会话存储,否则用户在更改服务器时将丢失会话。

DNS 轮询不是实现 HA(高可用性)的好方法,甚至可能也不是实现负载平衡的好方法。考虑使用其他技术。例如,有多种实现负载平衡的解决方案,它们也能实现 HA。我首先想到的是:Linux 虚拟服务器 (LVS)、Varnish 和可能的 Nginx。

答案4

至于 MySQL 位,您可以设置 MultiMaster 配置(http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-replication-multi-master.html),或者您可以拥有一个主/从服务器,通过 DRBD 保持同步(http://www.mysql.com/why-mysql/drbd/),使用心跳传感器来处理故障转移——或者您也可以通过 MySQL 的内部复制保持主/从同步;启动和运行非常简单。处理两台服务器之间的故障转移的方法大约有一百万种。

其他人已经对 Apache 问题提供了很好的答案。

相关内容