我有一台新的 Dell PowerEdge T320 服务器,该服务器带有 1 个非 RAID SSD 和 3 个 RAID 5 HDD,全部安装在一个 Perc H310 控制器上。RAM 为 48 GB,我在 SSD 上安装了 Windows Server 2012 R2 Data Center。
我最初尝试在 RAID 上创建 VHDX。要创建的 VHDX 大小固定(超过 100 GB),尝试通过 GUI 和 PowerShell 执行此操作均失败,出现 I/O 错误和崩溃。
然后,为了找到问题所在,我尝试将 50GB VHDX 从 SSD 简单复制并粘贴到 RAID。这也导致了崩溃。我进一步尝试将使用 fsutil 创建的大文件(120 GB)从 SSD 复制到 RAID,再次失败。
我在某处读到过,使用默认复制命令时,大文件和缓存会出现问题,因此我得到了一个建议工具“terracopy”,它有一个选项(默认)可以禁用系统写入缓存。它继续复制了一段时间,后来我决定停止它,因为它似乎可以正常工作。
我的主要需求是创建一个大型的 VHDX,有人知道发生了什么吗?
编辑:其他详细信息:
- 运行诊断程序,没有得到任何有用的结果。
- 戴尔更换了 RAID 控制器,没有变化。
- 安装了 Windows 8 来测试复制和粘贴,它继续复制了相当长一段时间,然后我才停止它,因为它看起来不会崩溃。
- 从 Linux Puppy USB 启动,将 120GB 的文件从 SSD 复制粘贴到 RAID,没有问题。
答案1
这看起来像是他们最终通过发布动态缓存服务插件修复的旧 Server 2008 问题: http://www.microsoft.com/en-us/download/details.aspx?id=9258
简而言之,读取和写入都会缓存到内存中,最终会填满内存并使服务器无响应。
我找不到任何与服务器 2012 有关的信息,但行为看起来相同。过去我曾见过 Robocopy 导致同样的问题。
XCOPY /J 无缓冲复制可以绕过此问题。
答案2
戴尔更换了控制器,却没有说明这是问题所在?很奇怪。告诉他们问题仍然存在,并更换所有部件。处理器/主板/内存,直到修复。
答案3
戴尔控制器也出现过类似问题。当控制器上的 RAID5 虚拟磁盘设置为直写时,复制性能问题就存在。当虚拟磁盘切换为回写时,问题就消失了。
您还可以尝试使用带 /J 参数的 XCOPY 来使用无缓冲 IO。这将避免文件系统缓存开销,并防止文件系统缓存被大文件数据有效刷新。