I'm outlining below a proposal for a RAID device mapper virtual block device 
for the kernel which adds "split raid" functionality on an incremental batch 
basis for a home media server.

Given a set of N+1 block devices (of the same size but smallest common size 
wins)
the SplitRAID device mapper device generates virtual devices which are 
passthrough for N devices and write a Batched/Delayed checksum into the N+1th 
device so as to allow offline recovery of block on the N devices in case of a 
single disk failure.

Advantages over conventional RAID:
- Disks can be spun down reducing wear and tear over MD RAID Levels (such as 1, 
10, 5,6) in the case of rarely accessed archival content
- Prevent catastrophic data loss for multiple device failure since each block 
device is independent and hence unlike MD RAID will only lose data 
incrementally in case of failure.
- Performance degradation for writes can be achieved by keeping the checksum 
update asynchronous and batch operation. 


In the event of improper shutdown the checksum will not have all the updated 
data but will be mostly up to date which is often acceptable for home media 
server requirements. A flag can be set in case the checksum block device was 
shutdown properly indicating that  a full checksum rebuild is not required.

Existing solutions considered:
- SnapRAID (http://snapraid.sourceforge.net/) which is a snapshot based scheme 
(Its advantages are user space and cross platform support but has the huge 
disadvantage of every checksum being done from scratch slowing the system, 
causing immense wear and tear etc)

I'd like to get opinions on the pros and cons of this proposal.

More experienced people on the list to redirect suitably on the following 
questions:
- Maybe this already be done using the block devices available?
- If not, Device mapper the right API to use? ( I think so)
- What would be the best block devices code to look at to implement?

Regards,
Anshuman Aggarwal

-- 
You received this message because you are subscribed to the Google Groups 
"linuxkernelnewbies" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linuxkernelnewbies+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to