SnapRAID简介
SnapRAID介绍:是磁盘整列的备份程序,可存储磁盘的奇偶校验信息,在两个磁盘损坏时也能恢复数据。
SnapRAID定位:家庭媒体中心,特别适合于文件较大较多且较少改变的系统。
SnapRAID特点:
- 所有数据都有完整性校验,避免数据悄然损坏;
- 如果磁盘损坏的过多影响恢复,那么你损坏的也不是全部数据,未损害硬盘的数据不受影响,可以单独读取;
- 如果你不小心删掉了一些数据,你仍然可以恢复它们;
- 对于已有数据的磁盘,你无需格式化硬盘便可以加入整列,磁盘中的已有数据不受影响;
- 整列的磁盘可以容量不同;
- 随时添加磁盘;
- 每个磁盘数据相互独立,每个磁盘读写也独立,也就是说可以单盘读写,其余磁盘休眠,节能环保延长磁盘寿命;
- 基于上一点特性,你不会因为SnapRAID而提高整个整列的读写性能;
- 它不会锁定数据,可以随时停止使用SnapRAID而不需要移除数据或者格式化硬盘,各个磁盘中的数据不受影响,可以单独读写。
各种RAID特性比较
除标准RAID磁盘部署解决方案外,还有众多解决方案。根据奇偶校验的实时性可以把各种冗余分为两大类:
- 一类是实时(realtime)奇偶校验的冗余方案,这类方案的冗余不需要人为干预,实时更新,像RAID;
- 一类是快照(snapshot)奇偶校验的冗余方案,这类方案的冗余是在接收到人为指令后更新,像Backup。
主要解决方案有:
- unRAID-商业和开源GPL2的解决方案,修改版可实现Linux下ReiserFS文件系统实时冗余,不支持任何完整性校验。
- FlexRAID-Windows下商业和专有C ++ / Java应用,可有限支持linux。它同时支持快照冗余和实施冗余,支持完整性校验。
- disParity-Windows下专有的. NET应用,支持快照冗余和完整性校验。
- ZFS-开源文件系统(但与GPL不兼容),支持实时冗余和完整性校验。
- Btrfs-开源GPL2授权的文件系统,支持实时冗余,Linux内核3.9以上开始支持RAID 5 / 6冗余和完整性校验。
- Storage Spaces-最后是来自微软的方案,改方案已经集成到Win8了,支持专有的实时冗余,不支持完整性校验,但是在ReFS文件系统开始提供一些有限的支持。
这些方案各有优缺点,综合各特性针对于家庭媒体中心的解决方案SnapRAID应运而生:
SnapRAID |
unRAID |
FlexRAID |
disParity |
ZFS |
Btrfs |
Storage Spaces |
|
冗余模式 |
快照 |
实时 |
快照和实时 |
快照 |
实时 |
实时 |
实时 |
完整性校验 默认校验方式 |
支持 SpookyHash |
不支持 |
支持 Adler32 |
支持 MD5 128 bit |
支持 fletcher4 |
支持CRC32C |
不支持 |
如果发生silent errors可否通过校验盘计算修复 |
支持 |
不支持[1] |
不支持[2] |
不支持 |
支持 |
支持 |
不支持 |
允许磁盘故障数 |
1 2 3 4 5 6 |
1 |
1 2 3 4 5 6+ |
1 |
1 2 3 |
1 2 |
1 |
如果磁盘损坏块数超过冗余数可否恢复未损坏磁盘数据 |
支持 |
支持 |
支持 |
支持 |
不支持 |
不支持 |
不支持 |
读取单个文件时有几块硬盘运行 |
1 |
1 |
1 |
1 |
全部 |
全部 |
全部 |
可否添加已有数据的磁盘而不影响磁盘中的数据 |
支持 |
不支持 |
支持 |
支持 |
不支持 |
不支持 |
不支持 |
支持的操作系统 |
Linux |
Linux |
Windows |
Windows |
Mac OS X |
Linux |
Windows |
首次正式支持RAID5冗余及更高冗余的时间 |
2011 |
2005 |
2008 |
2009 |
2006 |
2013 |
2012 |
授权和价格 |
Open Source GPL3 |
Open Source GPL2 |
Proprietary |
Proprietary |
Open Source CDDL |
Open Source GPL2 |
Proprietary |
交互方式 |
命令行或 |
图形 |
图形 |
命令行 |
命令行 |
命令行 |
图形 |
[1]-unRAID doesn’t have any kind of checksum, and it just ignores silent errors. Even worse, if a parity error is detected as result of a silent error in the data, the parity is automatically recomputed, making impossible to recover the silent error, even manually.
[2]-Flexraid uses checksums to validate files, but such checksums are not verified when data is read to update the parity. This means that any silent error present will propagate into the parity, making impossible to fix it later, even if it can be still detected comparing the file checksum.
没有最好的方案,只有最适合的方案,SnapRAID定位于家庭多媒体中心个人认为还是有它独到之处,虽然采取快照冗余模式,但是可以设置快照的计划任务,实现定期自动快照,间隔时间根据自己的需求而定;再者其数据迁移的平滑性和硬盘独立性也是颇具特点。本文主要参考了SnapRAID官网的介绍,详情请访问官网查阅,本文受制于个人水平难免有不确之处。