作为一家公司,我们准备购买一台新服务器,该服务器将运行虚拟机管理程序并托管另外 3 台虚拟机 - 两个业务系统 + 仅带有 Sql Server 的虚拟机(相当于 AWS RDS)
每个虚拟机和虚拟机管理程序的操作系统将使用 SSD 作为存储。虚拟机和数据库将在 raid 1 中使用 HDD 7.2k。
我们有足够的处理能力和 RAM(128GB),但让我有点担心的是,RDS 等效项(Sql Server VM)将使用主服务器存储(raid 1 中的 HDD 7.2k 4TB)作为存储。
我们不会倾向于将这些系统推向极限,它们更愿意运行带有在线商店的网站,因此不应该非常耗费 I/O)目前很难给出任何数字,因为我们不知道流量会是什么样子。
据我所知,HDD 可能是这里的瓶颈,但在研究网络和论坛时听说我们拥有的大量 RAM 可能会消除它。真的是这样吗?
问候
附言:遗憾的是我无法更改服务器规格或附加任何额外的存储空间。
服务器规格:https://www.fasthosts.co.uk/sites/fasthosts.co.uk/files/1370_Data_Sheet_1.pdf
答案1
这要看情况。说真的。虚拟化中没有任何东西可以改变磁盘布局的基本规则。服务器托管一个供 5 个人使用的内联网网站?很有可能。服务器托管一个繁忙的 TB 级数据库 - 连接更多磁盘/SSD 并将它们直接映射到 VM。
您的 SQL 存储(raid 1 中的 HDD 7.2k 4TB)很“可怜”(即:在更大的 SQL 世界中很低)并且可能有效也可能无效 - 这完全取决于服务器有多小。
但同样,没有什么可以阻止您附加更多 IOPS。我知道一个在 Hyper-V 中运行的数据库服务器(同一主机上还有大约 8 个其他低性能 VM),它分配了 48GB RAM,大约有十几个磁盘/SSD 直接从底层硬件映射到 VM。在带有 24 个 2.5 英寸插槽的 2U 机架机箱中。这很容易实现。
据我所知,HDD 可能是这里的瓶颈,但在研究网络和论坛时听说我们拥有的大量 RAM 可能会消除它。真的是这样吗?
好吧,让我们开始吧:“和 RAM(128GB)”——这不是很大。或者很大。取决于(a)SQL VM 获得多少以及(b)数据库有多大。我见过需要更多内存的数据库。我见过数据库在 32GB 内存中运行良好。
也就是说,这只会对不使用 tempdb(可能被写入)和低事务吞吐量(日志文件写入)的查询(读取)有所帮助。我们无法回答它是否足以满足您的 sql 服务器的需求。您必须对此进行衡量。´我这里有一个 SQL Server,在 Raid 10 中配备 4x480gb ssd 仅用于 tempdb,在 2 Raid 3 中配备 6 x 800gb SSD 用于数据。是的,它需要它 - 我经常在那台机器上推送多 GB 的数据集。在虚拟机中运行良好(正如我所说,分配了 48gb RAM)。
不过,您可以做一些改进:* 添加一些 SSD * 在 Hyper-V 上设置存储池并将 SSD 附加为缓冲区。瞧,对于经常使用的数据和/或写入,有很多缓冲区。假设您使用现代版本 (2012R2) 的 Hyper-V 作为主机。最好的?240gb ssd,2 应该已经带来很多了。
否则 - 确实,我们需要进行大量的研究和分析才能提出合理的建议。SQL Server 磁盘布局仍然可能很简单(小型服务器)或需要大量思考和规划(大型服务器)。
答案2
我曾在配备 4GB RAM 和极慢的 SCSI 驱动器的 Pentium 3 服务器上运行过繁忙的数据库。它们的速度完全满足我当时的需求。您的系统可能不够好,或者可能超出您的需要。
您需要自己进行一些测试和研究,以找出您的要求。大量内存并不意味着磁盘 IO 会很低。
答案3
使用该服务器几年后,我们没有遇到任何瓶颈或问题,并且超出规格足以满足公司的需求。
我只是将 tempdb 和 Windows OS 放在 SSD 上,其余的放在 hdd 上。
无论如何,还是非常感谢您的建议。