我有一台 Hyper-V 主机,其性能受存储子系统(RAID 10 阵列)的限制。
我想添加两张 SSD PCIe 卡并使用它们使用 Windows 2012R2 分层存储创建镜像快速层。
问题是我应该如何确定我的快速层应该有多大?购买并安装 SSD 后,我可以运行存储层优化报告,并确定它们的大小是否正确,但我如何运行报告前我安装 SSD 了吗?
答案1
您需要跟踪系统活动,以查看快速 SSD 缓存可以满足多少 I/O 请求。为了获得有意义的值,您应该在整个工作日内多次跟踪系统。
为此,您可以使用 Windows 性能监视器(磁盘计数器)和更深入的Xperf
工具。虽然 Windows 性能监视器相当容易使用,但Xperf
难度要大得多。您可以阅读更多相关信息这里。
通过计算从存储子系统读取/写入的总 I/O 字节数,您可以开始推断您的快速 SSD 层。
无论如何,就其价值而言,作为基准,我将使用大约 1/8 主存储阵列的 SSD 层。同时,我会寻找速度明显(仍然非常快)的 SATA/SAS 磁盘,而不是速度快但价格过高的 PCIE 存储。
答案2
这个问题无法认真回答,因为很大程度上取决于使用模式和所需的性能。你会遇到麻烦。补丁日 - 恶意软件清除工具运行 - 大多出现在我脑海中,无论你向它投入什么,它都会发挥巨大作用。
但如果不是这样 - 如果没有更多细节,这个问题真的无法回答。虚拟机的使用模式可能有很大差异(例如 DNS / AD 与大量使用的构建服务器)。假设您现在的原始大小为 8 TB - 我可能会尝试使用 1 TB 大小(显然是 2x1 TB,因为您希望它们镜像),然后看看它会如何发展。
答案3
不幸的是,没有工具可以预测这个。因此,您需要安装 SSD 才能运行该工具,该工具会告诉您是否提供了足够的存储空间来获取所需的 IO。
引用:
快速查看存储层优化报告可以告诉您是否提供了足够的 SSD 层容量来实现 I/O 优化(即 SSD 层服务的 I/O 百分比),这是存储空间中工作负载所需的。适当的性能目标取决于工作负载的性质和要求。
答案4
这实际上取决于您拥有的热数据量 - 并且只有在部署解决方案时才能确定这一点。
在工作负载上虚拟化数据库时,我建议至少为这些数据库计算足够的 SSD 存储 - 在这里拥有许多 IOPS 并不罕见,可能是一个起点。但这实际上只是一个很粗糙的经验法则。
我认为,更重要的因素不仅是你拥有的 SSD 存储量,还包括磁盘. 存储池性能在很大程度上取决于列数您正在使用。由于现有虚拟磁盘上的此值无法更改,因此您可能希望在创建磁盘时获取一个好的值。
这里的建议是使用 3 到 4 之间的 NumberOfColumns - 所以要么是 3,要么是 4。列数越多意味着速度越快,但会稍微增加延迟。
另一个重要因素是交错大小。有建议(我们也在使用)为 Hyper-V 工作负载设置一个较小的交叉大小,为 64k。默认值为 256K(至少在 Server 2012 R2 之前)
回答您的实际问题:
最好至少购买 4 或 6 个 SSD 驱动器,并将它们放在至少有 4 或 6 个 HDD 驱动器的池中。规划横向扩展时,请使用 6 个 SSD + 6 个 HDD,如果您需要更多存储空间且优化并未表明您已达到 SSD 驱动器的极限,则可添加更多 HDD 驱动器。
至于定价,该解决方案的价格范围可能与许多 PCIe 卡相似,但可扩展性更强,速度更快。
一个很好的副作用是,您可能会在 SSD 池中拥有更多可用空间,因为多个 SSD 驱动器比 PCIe 驱动器提供更多的存储空间。