build立多服务器基础架构? build议最好的select

我们正在为一个基本上使用LAMP + Java编写的应用程序的客户设置一些虚拟机(大约250个),并在这250个实例中进行一些定制。 本质上,每个应用程序都可以被视为一个Web应用程序,它可以扩展到大约200-500GB的数据(大部分是文件),大小约为1-1.5GB的MySQL数据库。

我们有一个标准的42U机架,我们正在考虑这样的架构。

1)在具有32 GB RAM(250 GB SAS 15 K RPM x 2(RAID 1))的大约14个2x四核/ 6核1U服务器上运行250 Vms。 基本应用程序适合在2 GB以内,包括操作系统舒适

2)拥有一组专用的1U MySQL数据库服务器,并启用了300 GB SAS x 3(RAID 5 H / w)。 添加更多,因为我们需要扩大规模

3)有一堆JBOD(大约6个),容量为30 TB,存储容量为1:1。 这是每个30 TB的JBOD有一个镜像的30 TB的JBOD。 这些将用于存储主要由PDF,word,excel,JPG和一些电影文件组成的文件。

每个应用程序将有大约2-10个同时在线的用户将会写入数据库以及上传文件。 该应用程序是一个商业应用程序,其中每个部门的日常交易数字存储。 可能有几百个页面浏览量或尝试下载为每个应用程序上传的一些文档。

粗略地说,这相当于在10个小时的工作时间内在原始的NAS服务器上,在接近250,000个读写的地方。 预计在MySQL服务器上也会有类似的加载

由于缺乏资金,我们不想投资EMC或NetAPP或任何大型存储供应商的存储盒。 实际上,我们考虑运行基于RAID 0的30 TBarrays,每个arrays都镜像到另一个arrays。 所以如果出现任何故障,冗余盒接pipe,给我们足够的时间来切换。 我们有一些备用的3U机箱,有15个热插拔驱动器托架。 我们正在考虑抛出Dual Xeon处理器,每个处理器都有16 GB ECC RAM,并且在每个盒子上都考虑使用软件RAID而不是H / W RAID。 想法是,强大的CPU,软件RAID应该比H / W RAID更好。

我们收到了一些主要来自一些供应商的批评,这些供应商希望我们购买他们的存储盒。 我们可能会遇到什么样的performance问题。 我有一个朋友是亚马逊的前系统pipe理员,他说这种架构与亚马逊或谷歌使用的非常相似,并指出,因为我们实际上并没有build立一个面向公众的网站,有可能成百上千的点击,这个架构是足够好的。 他还告诉我,在UNIX系统上的软件RAID和H / W RAID一样好。 这是在谷歌或其他地方的大多数服务器实际上是非常便宜的电脑的原因。

我想就同样的第二个意见…..

实际上,我们考虑运行基于RAID 0的30 TBarrays,每个arrays都镜像到另一个arrays。 所以如果出现任何故障,冗余盒接pipe,给我们足够的时间来切换。

除非我在这里错过了一些东西,这是一个危险的设置。 第二个arrays中的单个磁盘故障将会丢失整个数据集。 当您谈论每个arrays至less有10个磁盘时,这是一个非常可能的情况。

亚马逊和谷歌有自己的专用存储技术,专门写入与他们的硬件装载(很多廉价不同的单位)很好地工作。 具体而言,他们的软件检测存储块中的故障,并持续确保每个项目至less存储在x个附加位置。 当一个存储设备出现故障时,其所有内容都会立即将一个新的副本添加到某个其他存储池中。 除非您为存储层滚动类似的定制软件,否则不能将它们用作比较的基础。

关于供应商 – 确实,您可能没有来自这里的大企业玩家arrays – Netapp / EMC或类似的。 他们的存储devise是为了直接从它们运行大量并发的虚拟机。 然而,你正在谈论的是服务于平面文件的虚拟NAS …更简单的用例,你的IO的开销和随机性是下降的。 不过,你至less要考虑RAID 6。

你的备份策略是什么?

3)我会使用HW-Raid 5.这是一个很好的速度和可用性comprimise。 你不想重新反映30TB。 在重新镜像期间,您可能会丢失额外的磁盘。

我也build议使用HW-Raid,因为它能够警告磁盘故障和自动重​​build的能力。

安装和维护也更容易。 有了HW-Raid,我正在谈论的是真正的raid控制器,将raid作为磁盘提交给操作系统。