2015-09-06 23:41:56 +02:00
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
2011-03-01 22:19:30 +01:00
< html >
< head >
< link rel = "stylesheet" type = "text/css" href = "style.css" / >
< title > SnapRAID< / title >
< meta http-equiv = "content-type" content = "text/html; charset=iso-8859-1" / >
< meta http-equiv = "cache-control" content = "no-cache" / >
2015-08-04 22:36:48 +02:00
< meta name = "description" content = "A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures" / >
< meta name = "keywords" content = "snapraid snapshot raid backup disk array redundancy parity" / >
2011-03-01 22:19:30 +01:00
< meta name = "author" content = "Andrea Mazzoleni" / >
2015-09-06 18:56:43 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2011-03-01 22:19:30 +01:00
< script type = "text/javascript" >
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21967501-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
< / script >
< / head >
< body >
< div id = "title" >
2015-09-08 21:56:54 +02:00
< img src = "index.png" width = "1200" height = "150" / >
2011-03-01 22:19:30 +01:00
< / div >
< div id = "bar" >
< a href = "index.html" > About< / a >
< a href = "download.html" > Download< / a >
< a href = "design.html" > Design< / a >
< a href = "compare.html" > Compare< / a >
< a href = "faq.html" > FAQ< / a >
< a href = "manual.html" > Manual< / a >
< a href = "https://sourceforge.net/p/snapraid/discussion/1677233/" > Forum< / a >
< a href = "authors.html" > Authors< / a >
< / div >
< div id = "main" >
< p >
< span class = "bold" > SnapRAID< / span > was created following the < a href = "http://en.wikipedia.org/wiki/Unix_philosophy" > Unix philosophy< / a > :
< em > Write programs that do one thing and do it well< / em > .
< / p >
< p >
The first design principle was < span class = "bold" > reliability< / span > .
The result is a simple architecture and an easy to understand implementation,
following the < a href = "http://en.wikipedia.org/wiki/Edsger_W._Dijkstra" > Dijkstra< / a >
quote < i > Simplicity is prerequisite for reliability< / i > .
< / p >
< p >
Extensive and automated tests with the runtime checker < a href = "http://valgrind.org/" > valgrind< / a > and
the static analyzer < a href = "http://clang-analyzer.llvm.org/" > clang< / a > are done to ensure the correctness of the final application.
The test has a < a href = "cov/" > code coverage of over 90%< / a > , measured with < a href = "http://ltp.sourceforge.net/coverage/lcov.php" > lcov< / a > .
< / p >
< p >
The second design principle was < span class = "bold" > robustness< / span > .
It supports any kind of problem. Even on kernel panics, power-downs
or any other hard failure at runtime, your redundancy data is in safe hands.
< br >
It uses all the possible storage techniques to ensure to always keep consistent
redundancy even after critical interruptions.
< / p >
< p >
The third design principle was < span class = "bold" > efficiency< / span > .
It's a native C application highly optimized using all the
possible OS services to ensure the maximum throughput of you disk array.
< / p >
< p >
For integrity checks is used the highly efficient < a href = "http://code.google.com/p/smhasher/" > murmur3< / a >
and < a href = "http://burtleburtle.net/bob/hash/spooky.html" > SpookyHash< / a > hashes at 128 bits.
For the redundancy computations we use a
< a href = "https://github.com/amadvance/snapraid/tree/master/raid" > RAID library< / a >
written from scratch that supports up to six levels of parity delivering top-notch performance.
The library design is originally based, and also binary compatible,
with the < a href = "http://lxr.linux.no/linux+*/lib/raid6" > Linux Kernel RAID< / a >
library made by H. Peter Anvin.
As internal data base it's used the < a href = "http://www.tommyds.it/" > TommyDS< / a > library of data structures.
< / p >
< / div >
< div id = "bottombar" >
< div style = "float: left; width: 50%;" >
< span class = "bold" > Donate with< / span >
< br / >
2015-09-08 21:52:12 +02:00
< a href = "http://sourceforge.net/p/snapraid/donate/" > < img src = "paypal.png" width = "160" height = "60" / > < / a >
2011-03-01 22:19:30 +01:00
2015-09-08 21:52:12 +02:00
< a href = "https://coinkite.com/u/amadvance/" > < img src = "bitcoin.png" width = "160" height = "60" / > < / a >
2011-03-01 22:19:30 +01:00
< / div >
< div style = "float: left; width: 50%;" >
< span class = "bold" > Find other resources at< / span >
< br / >
2015-09-08 21:52:12 +02:00
< a href = "https://github.com/amadvance/snapraid/" > < img src = "github.png" width = "160" height = "60" / > < / a >
< a href = "http://sourceforge.net/projects/snapraid/" > < img src = "sourceforge.png" width = "160" height = "60" / > < / a >
< a href = "https://travis-ci.org/amadvance/snapraid/" > < img src = "travisci.png" width = "64" height = "60" / > < / a >
2011-03-01 22:19:30 +01:00
< / div >
< / div >
< / body >
< / html >