目前我们有一台 Windows Server 2008 R2 作为域控制器和文件服务器。
我们向 4 台 IIS 服务器提供大约 600 万张 JPG 图像,然后将其提供给网络用户。
问题是我们每天都会收到服务器上的内存警报。我们当前的服务器从单个驱动器 (LUN) 提供这些文件。我们还遇到了磁盘上文件数量的问题。随着我们继续添加更多图像,主文件表将变得太大。
我们目前的计划是:
- 将文件服务器移至单独的虚拟机
- 添加 4 或 5 个独立驱动器 (LUN) 来提供这些文件
- 到今年年底将图像数量增加到 1500 万张左右(略高于当前数量的两倍)
我的问题是:
- 提供文件的最佳做法是什么?
- 我们可以迁移到具有 4 或 5 个驱动器(LUN)的单个服务器吗,还是应该迁移到具有 3 个驱动器的 2 个文件服务器?
答案1
您如何获得内存警报?您是否进行过任何流程分析,以查看内存使用情况是否超出正常范围?请记住,LSASS 和缓存将增长到物理内存的程度。
更新:
在 Windows Server 2003 下没有收到警报并不让我感到惊讶,因为它在使用 RAM 方面的效率不如 Windows Server 2008。您希望在服务器中使用尽可能多的内存,这就是为什么仅监视内存使用量是无用的指标。从 Windows Vista 开始,Windows 使用尽可能多的 RAM。您可以通过打开资源监视器并查看内存选项卡在 Windows 7 上看到同样的行为。这是我的机器当前的图像:
请注意,我只有 64MB 可用!这是一件好事。(以前是 2MB,但我一定是刚刚关闭了某些东西)。请注意,蓝色条显示 1369MB 的备用 RAM - 这实际上是文件系统中的缓存,如果我在应用程序中需要更多 RAM,那么页面就来自那里。
因此,您需要知道的不是使用了多少 RAM,而是每个应用程序使用了多少 RAM,以及该特定应用程序的内存使用情况是否正常。
确定这一点(用于生成警告警报)的一个好方法是查看内存使用情况和每秒页面错误数。如果页面错误过多,RAM 利用率高,并且备用 RAM 低,则可能存在问题。(在文件服务器上,页面错误不是可靠的问题指标,因为它提供文件服务 - 因此会产生页面错误,您必须在设置阈值之前对此进行基准测试)
希望这个关于内存监控的简要概述能有所帮助。
答案2
您应该将服务器迁移到 2 台(或更多)或更多台服务器以实现冗余。如果您对它们进行负载平衡,则更容易关闭/重新启动一台服务器进行维护。如果您有 3 台服务器,但实际上只需要 2 台,那么您的维护窗口也可以在白天进行。
我还会将驱动器(LUN)分布在这些服务器上,同样是为了实现冗余。