可以使用 mdadm 与本地硬盘和 GNDB 构建软件 Raid1 吗?

可以使用 mdadm 与本地硬盘和 GNDB 构建软件 Raid1 吗?

我有多个 Web 服务器,它们使用许多小文件来创建动态网页。缓存网页不是一个选项。Web 服务器还执行写入操作,因此我需要一个同步文件系统。

我希望最大限度地提高性能,因为据我了解,小文件是以太网集群文件系统的弱点(程度不同)。

目前我正在使用 Centos 5.5,64 位。

由于数据只有大约 300MB,我正在查看使用带有 GNBD 的 RAID-1 和本地硬盘的 mdadm,并使用“--write-mostly”选项,以便使用本地硬盘进行读取。

这可能吗?

如果是这样,将其设为 tmpfs 磁盘而不是本地硬盘有什么优势吗?

或者,本地硬盘上的文件是否无论如何都会被缓存在 RAM 中,因此,假设有足够的可用 RAM,我不会通过使用 tmpfs 看到性能提升?

答案1

我建议你看看集群文件系统。我使用它的原因是 1) 透明度 - 如果你愿意的话,它的后备存储是一个普通的文件系统,例如 ext3;2) 数据可用性 - glusterfs 提供条带化、复制或任何组合;3) 性能和可靠性以及 4) 易于使用。

虽然您可以根据网络速度在(Web 服务器)客户端/(文件服务器)服务器模式下使用它,但对我来说,在每台机器上启用它更有意义。从某种意义上说,文件服务器成为权威来源。每个 Web 服务器都以本地 I/O 速度读取和写入自己的本地 glusterfs 服务器,或者至少以本地 I/O 速度读取和写入自己的缓存,并以网络速度写入文件服务器,从而使系统速度非常快。

它可以使用 tcp 或 Infiniband。而且它似乎可以在 Amazon Web Services 下工作。它还导出 NFS 和 CIFS,因此相当便于携带。在 CentOS 下通过 yum 安装,20 分钟内即可启动并运行。与 GNBD 相比,它的设置和使用要容易得多。Glusterfs 以高度模块化的方式配置,因此您可以只使用您需要的部分。

glusterfs 的优点在于它对网络或主机中断具有很强的容忍度。在我的公司 whcreative.com 中,我将其用于部分移动笔记本电脑,在 CentOS 5.5、Fedora 13 和其他各种 Linux 版本的混合环境中为主目录以及 html 和数据库文件系统(用于 Drupal CMS)提供服务。主目录由每台笔记本电脑和服务器提供服务。当笔记本电脑在离网使用后重新连接时,服务器上的简单 >ls -Rl 即可同步所有内容。如果一台机器崩溃并且 ext4 文件系统可能有过时的数据,这不是问题,因为一旦崩溃的机器恢复运行,同步到它就可以很快解决问题。

第一个缺点是它只在 x86_64 上进行了测试(据称可以在 i386 上运行)。不过对大多数人来说这不是什么大问题。更大的缺点是它的文档。例如,没有手册页描述关键命令之一 glusterfs-volgen,网站上的“man like”页面虽然提供了示例,但没有提供工作概要。配置选项没有明确记录,需要一点黑客攻击才能弄清楚。最后一个缺点是它本质上仅依赖于用户权限来确保安全性。但在 *nix 传统中,它在 VPN 内运行相当容易,所以这不是什么大问题。

我无法保证它的可靠性,因为我只使用了几个月。但是,在断开连接、使用笔记本电脑并重新连接后,它似乎可以很好地处理我们的主目录。当然,我并不完全信任它,而是对 CentOS、ext3 文件系统进行基于 tar 的备份。

祝你好运,Eric Chowanski

答案2

RAID-1 只会提高读取性能,而不会提高写入性能。/tmp 无论如何都会被清除,因此请在 /tmp 上使用 tmpfs。此外,如果您不关心冗余,请使用 RAID-0(条带化)并指定较小的块大小,因为您的文件较小。

答案3

我很惊讶你认为缓存不是只有 300M 数据的选项。你可以把它装在 50 美元的 RAM 中(假设你不是在寻找便宜的东西)

您还可以考虑将 RAM 磁盘添加到 RAID 阵列。您可以在 RAID 1 阵列中拥有任意数量的设备,因此您可以在 RAID 1 中拥有 RAM 磁盘、本地物理磁盘和 GNDB。

但是,不清楚您的要求是什么。您需要高读写性能,您有多个 Web 服务器。Web 服务器是否以任何方式链接?如果您主要需要性能,为什么阵列中的一个磁盘通过网络?

答案4

可以使用 mdadm 与本地硬盘和 GNDB 构建软件 Raid1 吗?

答案:42任何块设备都有可能

相关内容