正在设置多服务器基础设施?建议最佳选择

正在设置多服务器基础设施?建议最佳选择

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

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

1) 在大约 14 台 2x 四核/6 核 1 U 服务器上运行 250 Vms,这些服务器配备 32 GB RAM 250 GB SAS 15 K RPM x 2 (RAID 1)。基本应用程序可以轻松装入 2 GB 内,包括操作系统

2) 拥有一组专用的 1 U 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 TB 阵列,每个阵列都镜像到另一个阵列。因此,如果发生任何故障,冗余盒将接管,让我们有足够的时间进行切换。我们有一些备用的 3 U 机箱,带有 15 个热插拔驱动器托架。我们正在考虑使用双 Xeon 处理器,每个处理器上都有 16 GB ECC RAM,并且还考虑在每个盒子上使用软件 RAID 而不是 H/W RAID。想法是,有了强大的 CPU,软件 RAID 应该比 H/W RAID 效果更好。

我们收到了一些批评,主要来自一些希望我们购买其专有存储盒的供应商。我们可能会面临什么样的性能问题。我有一位朋友是亚马逊的前系统管理员,他说这种架构与亚马逊或谷歌使用的架构非常相似,并指出,由于我们实际上并没有建立一个可能有数百万点击量的面向公众的网站,所以这种架构已经足够好了。他还告诉我,UNIX 系统上的软件 RAID 性能与硬件 RAID 一样好。这就是为什么谷歌或其他地方的大多数服务器实际上都是非常便宜的计算机的原因。

我想就此事听取第二种意见......

答案1

实际上,我们正在考虑运行基于 RAID 0 的 30 TB 阵列,每个阵列都镜像到另一个阵列。因此,如果发生任何故障,冗余盒将接管,让我们有足够的时间进行切换。

除非我忽略了什么,否则这是一个危险的设置。第二个阵列中的单个磁盘故障将丢失整个数据集。当您谈论每个至少有 10 个磁盘的阵列时,这种情况很可能发生。

亚马逊和谷歌拥有自己的专用存储技术,这些技术专门用于与硬件设备(大量廉价的不同单元)配合使用。具体来说,他们的软件可以检测存储块中的故障,并持续确保每项内容存储在至少 x 个其他位置。当存储设备发生故障时,其所有内容都会立即被添加到其他存储池中。除非您为存储层推出类似的定制软件,否则您不能将它们用作比较的基础。

关于供应商 - 确实,您可能不需要来自大型企业之一的阵列 - Netapp/EMC 或类似公司。他们的存储设计用于直接从它们运行大量并发虚拟机。但是,您谈论的是提供平面文件的哑 NAS......使用情况要简单得多,并且 IO 的开销和随机性要低得多。不过,您至少还是要考虑 RAID 6。

您的备份策略是什么?

答案2

对于 3),我会使用 HW-Raid 5。这是速度和可用性之间的良好折衷。您不想重新镜像 30 TB。在重新镜像期间,您可能会丢失额外的磁盘。

我还建议使用 HW-Raid,因为它能够警告磁盘故障并具有自动重建的能力。

它也更容易设置和维护。对于 HW-Raid,我指的是真正的 raid 控制器,它将 raid 作为磁盘呈现给操作系统。

相关内容