![是否有具有静默损坏保护功能的硬件 RAID 系统?](https://linux22.com/image/800664/%E6%98%AF%E5%90%A6%E6%9C%89%E5%85%B7%E6%9C%89%E9%9D%99%E9%BB%98%E6%8D%9F%E5%9D%8F%E4%BF%9D%E6%8A%A4%E5%8A%9F%E8%83%BD%E7%9A%84%E7%A1%AC%E4%BB%B6%20RAID%20%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
我知道 ZFS 具有针对静默损坏的保护功能,但我正在构建 Windows 服务器。是否有选项可以为 Windows 服务器添加本地、静默损坏保护存储,还是 ZFS-over-network 是唯一的选项?
我想多花钱买一些可以快速计算校验和的设备,这样硬盘就不再是瓶颈了。有这样的 I/O 卡吗?
答案1
目前只有 ZFS(以及即将推出的 BTRFS)对所有 I/O 操作进行校验和。NTFS 对日志写入进行校验和,许多 Linux 文件系统也是如此。
高端 RAID 卡还会在后台进行块级验证。它不具备文件系统感知能力,但足以找出坏簇并主动重新定位数据。ZFS 系统的意义在于避免这种基于硬件的校验和系统,但是 RAID 卡已经进行这种验证很多年了。
我们现在拥有的硬件解决方案提供了从存储控制器到实际介质的静默损坏保护。ZFS 将这种保护扩展到内核中的文件系统层,当与现代硬件解决方案隔离使用时,可以保护整个堆栈。如果您想要这种针对 Windows 的保护,您将无法获得;您必须依赖硬件解决方案,并冒险使用存储卡到应用程序的传输路径。
与 NTFS+硬件相比,使用 ZFS 文件管理器也无法为您提供任何额外的保护。Windows 服务器中 NIC 到应用程序的路由仍未受保护,这与硬件解决方案中存储卡到应用程序的漏洞相同。ZFS 文件管理器唯一有益的原因是,如果您不有正确的硬件并依靠 ZFS 来完成所有繁重的工作。
答案2
是的,正如 Mark Wagner 在评论中指出的那样,T10-PI 可用于此目的。我知道 LSI 9361-8i(Supermicro AOC-S3108L-H8iR)控制器支持它,但它很贵。您需要使用 sg_format 格式化磁盘(注意,如果该过程中断,磁盘将无法通过控制器访问,您需要将其直接插入 MB 或其他控制器进行重新格式化)。我认为大多数现代磁盘都支持 T10-PI,请检查磁盘的规格。注意,在我的某些测试中,T10-PI 阵列速度慢约 10%。
请注意,(某些?)NVMe 驱动器也提供此类功能,至少 Intel P4610 Enterprise NVMe 提供此类功能。在 Intel 文档中,它被称为端到端数据保护。在 Linux 上,您可以阅读
man nvme-format
。作为一种选择,您可以在服务器上安装虚拟机管理程序(例如 Proxmox VE),并将 Windows 服务器安装为来宾 VM。在这种情况下,您可以在 Proxmox 中使用 ZFS(完全受支持)来保护您的数据。