软件RAID方案
利用操作系统内置功能(如Linux mdadm、Windows存储空间)在现有PC上构建软件层面冗余阵列的解决方案
时间轴 (近 90 天)
ZFS的RAID-Z2需要每TB内存约1GB用于ARC缓存以保证性能,8盘位以上NAS建议至少16GB内存,启用去重功能则需每TB额外5GB内存
Linux mdadm软RAID5/6在无专用缓存的机械盘上写性能会因写惩罚(read-modify-write)显著下降,4盘RAID5的随机写IOPS可能仅为单盘的30-50%,建议用SSD或加bitmap优化
Windows存储空间(Storage Spaces)的Parity(奇偶校验)模式写性能极差,普通GUI创建的双奇偶校验空间随机写常低于50MB/s,需通过PowerShell调整列数和交错大小才能改善
ZFS和Btrfs等CoW文件系统提供块级校验和(checksum)可主动检测并修复静默数据损坏(bit rot),而传统mdadm/硬RAID无法感知数据损坏,冷数据长期存储优先选ZFS/Btrfs
不要用Btrfs的RAID5/6模式存储重要数据——截至目前该模式仍存在write hole风险且官方标注为不稳定,Btrfs仅推荐RAID0/1/10,需要奇偶校验请转向ZFS RAID-Z
软RAID切勿使用带自身缓存和固件RAID逻辑的HBA卡,应将SATA/SAS控制器刷成IT模式(直通/JBOD)让OS直接访问物理盘,否则ZFS无法正确管理磁盘且掉盘后难以恢复
macOS原生不支持ZFS且不建议在生产环境用软RAID,苹果的AppleRAID仅支持0/1/10;跨平台共享存储建议将存储做成独立NAS(TrueNAS/Unraid)再通过SMB/NFS访问
软RAID的一大优势是阵列可跨硬件迁移:mdadm/ZFS的阵列元数据存储在磁盘上,主板/HBA损坏后可将磁盘接到任意支持的机器导入(import),而硬RAID往往被锁定在同型号控制器
Unraid采用非条带化的单盘+校验盘架构,允许混插不同容量硬盘且校验盘只需≥最大数据盘,扩容灵活;但读写性能受限于单盘(无条带加速),适合媒体库而非高性能数据库
现代CPU的AVX/SSE指令集使mdadm的RAID5/6奇偶校验计算开销极低,实测多核CPU下奇偶计算通常占用不到单核5%,性能瓶颈几乎总是磁盘I/O而非CPU
还有 1 条时间轴事件
全部知识事实 (11)
ZFS和Btrfs等CoW文件系统提供块级校验和(checksum)可主动检测并修复静默数据损坏(bit rot),而传统mdadm/硬RAID无法感知数据损坏,冷数据长期存储优先选ZFS/Btrfs
90%待验证软RAID的一大优势是阵列可跨硬件迁移:mdadm/ZFS的阵列元数据存储在磁盘上,主板/HBA损坏后可将磁盘接到任意支持的机器导入(import),而硬RAID往往被锁定在同型号控制器
90%待验证不要用Btrfs的RAID5/6模式存储重要数据——截至目前该模式仍存在write hole风险且官方标注为不稳定,Btrfs仅推荐RAID0/1/10,需要奇偶校验请转向ZFS RAID-Z
88%待验证软RAID切勿使用带自身缓存和固件RAID逻辑的HBA卡,应将SATA/SAS控制器刷成IT模式(直通/JBOD)让OS直接访问物理盘,否则ZFS无法正确管理磁盘且掉盘后难以恢复
85%待验证软RAID方案(mdadm/ZFS/Btrfs)本身完全免费开源,无授权费;商业系统中TrueNAS CORE/SCALE免费,Unraid按硬盘数量收一次性授权费,Windows存储空间随系统授权
85%待验证Linux mdadm软RAID5/6在无专用缓存的机械盘上写性能会因写惩罚(read-modify-write)显著下降,4盘RAID5的随机写IOPS可能仅为单盘的30-50%,建议用SSD或加bitmap优化
85%待验证Windows存储空间(Storage Spaces)的Parity(奇偶校验)模式写性能极差,普通GUI创建的双奇偶校验空间随机写常低于50MB/s,需通过PowerShell调整列数和交错大小才能改善
85%待验证Unraid采用非条带化的单盘+校验盘架构,允许混插不同容量硬盘且校验盘只需≥最大数据盘,扩容灵活;但读写性能受限于单盘(无条带加速),适合媒体库而非高性能数据库
85%待验证现代CPU的AVX/SSE指令集使mdadm的RAID5/6奇偶校验计算开销极低,实测多核CPU下奇偶计算通常占用不到单核5%,性能瓶颈几乎总是磁盘I/O而非CPU
85%待验证macOS原生不支持ZFS且不建议在生产环境用软RAID,苹果的AppleRAID仅支持0/1/10;跨平台共享存储建议将存储做成独立NAS(TrueNAS/Unraid)再通过SMB/NFS访问
80%待验证ZFS的RAID-Z2需要每TB内存约1GB用于ARC缓存以保证性能,8盘位以上NAS建议至少16GB内存,启用去重功能则需每TB额外5GB内存
60%