是软件Raid1与本地硬盘和GNDB使用mdadm可能吗?

我有多个使用许多小文件创builddynamic网页的networking服务器。 caching网页不是一个选项。 networking服务器也执行写入,所以我需要一个同步文件系统。

我期待最大限度地提高性能,因为据我所知,小文件是集群文件系统在以太网上的弱点(在不同程度上)。

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

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

这可能吗?

如果是这样,是否有任何优势,使其成为一个tmpfs磁盘,而不是本地硬盘?

或者,本地硬盘上的文件只是caching在RAM中,所以我不会看到使用tmpfs的性能增益,假设有足够的内存可用?

我build议你看glusterfs 。 我使用它1)透明度 – 它的支持存储,如果你愿意,是一个普通的文件系统,如ext3; 2)数据可用性 – glusterfs提供条带化,复制或任何组合; 3)性能和可靠性和4)易于使用。

虽然您可以在(networking服务器)客户端/(文件服务器)服务器模式下使用它,但取决于networking的速度,在每台计算机上启用它可能更有意义。 从某种意义上说,文件服务器成为最终的来源。 每个networking服务器读取和写入到它自己的本地glusterfs服务器,或者至less它自己的本地I / O速度caching和networking速度的文件服务器使系统相当快。

它可以使用tcp或Infiniband。 它似乎在amazon web services下工作。 它还导出NFS和CIFS,因此可以相当便携。 在CentOS下通过yum安装,启动并在20分钟内运行。 与GNBD相比,安装和使用起来要容易得多。 Glusterfs以高度模块化的方式进行configuration,因此您只能使用您需要的内容。

glusterfs的美妙之处在于它非常容忍networking或主机的中断。 在我的公司whcreative.com中,我将它用于在CentOS 5.5,Fedora 13和其他各种Linux风格的混合环境中提供家庭目录的部分移动笔记本电脑以及html和数据库文件系统(用于Drupal CMS)。 主目录是从每台笔记本电脑以及服务器提供的。 当笔记本电脑在使用脱离networking后重新连接时,服务器上的一个简单的ls -Rl会同步一切。 如果一台机器崩溃,而且ext4文件系统可能存在过时的数据,那么一旦活着的机器同步到崩溃的机器就不会有问题,可以很快解决问题。

第一个缺点是只能在x86_64上testing(声称在i386上运行)。 尽pipe对大多数来说不是一个大问题。 更大的缺点是它的文档。 例如,没有手册页描述其中一个关键命令,glusterfs-volgen和网站上的“man like”页面没有提供工作简介,尽pipe它提供了示例。 configuration选项没有明确的文件logging,并采取一些黑客找出。 最后一个缺点是它基本上只依赖于用户的安全权限。 但是在nix传统中,在VPN内部运行是非常容易的,所以这不是一个大问题。

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

祝您好运,Eric Chowanski

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

我很惊讶,你认为只有300M的数据caching不成为一个选项。 你可以把它放在一个50美元的RAM中(假设你不想要一些便宜的东西)

还有一些你可以考虑的是添加一个RAM磁盘到RAIDarrays。 您可以在RAID 1arrays中拥有尽可能多的设备,因此您可以在RAID 1中安装RAM磁盘,本地物理磁盘和GNDB。

但是,不清楚你的要求是什么。 您需要高读写性能,您有多个Web服务器。 Web服务器以任何方式链接? 如果主要需要性能,为什么arrays中的一个磁盘在networking上?

回答你的问题的最后一部分,不,我不认为你需要使用tmpfs。 在没有其他内存需求的情况下,linux会在第一次读取文件后将其保存在页面caching中。

这里的真正问题似乎是“我有一组文件,经常读取但很less写入,我需要保持机器之间的同步,我该怎么做?

现存的build议似乎是

  • 共享磁盘文件系统(例如安装在所有服务器上的iscsi卷,通过GFS2访问)
  • 分布式文件系统(例如glusterfs)
  • 一个NFS服务器

在这些想法中,我更喜欢NFS服务器的简单性。 当添加一个文件时,我会抛出另一个一次性使用lsyncd (或其他基于inotify的工具)来触发同步。 Lsyncd可以很容易地通过rsync执行同步,但不幸的是,这并不适合在多个方向同步。 csync2是为此而构build的工具,可以与lsyncd集成 。

是软件Raid1与本地硬盘和GNDB使用mdadm可能吗?

答案: 42这是可能的任何块设备PERIOD