From e2710079b7e1c229665bacf1f34ea5fcd6db74c0 Mon Sep 17 00:00:00 2001
From: godp21 <godp21@inf.ufpr.br>
Date: Thu, 20 Apr 2023 10:28:49 -0300
Subject: [PATCH] finished all necessary RAID systems. next step is to study
 it's implementations in ZFS

---
 README.MD                   |   6 ++++++
 ZFS-RAIDs.md                |  20 ++++++++++++++++++--
 RAID0.png => imgs/RAID0.png | Bin
 RAID1.png => imgs/RAID1.png | Bin
 imgs/RAID10.png             | Bin 0 -> 8250 bytes
 imgs/RAID6.png              | Bin 0 -> 21128 bytes
 6 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 README.MD
 rename RAID0.png => imgs/RAID0.png (100%)
 rename RAID1.png => imgs/RAID1.png (100%)
 create mode 100644 imgs/RAID10.png
 create mode 100644 imgs/RAID6.png

diff --git a/README.MD b/README.MD
new file mode 100644
index 0000000..ec67e8d
--- /dev/null
+++ b/README.MD
@@ -0,0 +1,6 @@
+# ROADMAP
+[x] RAID{10,1,6,10}
+[] RAID implementations in ZFS
+[] Cache systems in ZFS
+___
+[] ZFS for DB or lvm+ext4
diff --git a/ZFS-RAIDs.md b/ZFS-RAIDs.md
index fa6b877..e922bfc 100644
--- a/ZFS-RAIDs.md
+++ b/ZFS-RAIDs.md
@@ -12,7 +12,7 @@
 :   Replicates *logical disk* volumes into multiple fisical disks, so the same information is stored in different hard disks in real time
     
 ## RAID0
-![RAID0 diagram](./RAID0.png)
+![RAID0 diagram](./imgs/RAID0.png)
 
 RAID0 splits data across a multiple-disks array. The ideal setup is equaly-sized disks since the total storage used in a RAID0 arrangement is equal to the lower storage disk space times the total amount of disks. I a array of one 120Gb disk and one 360Gb disk, the total storage available would be 240 Gb.
 
@@ -21,8 +21,24 @@ RAID0 create stripes of data so disk operations are n-times faster, n being the
 Besides fastness, RAID0 also is a good system to create large amounts of data storage units with lesser disks, since all disks in the array have unique information and, having equaly-sized units, uses 100% it's fisical capability as storage.
 
 ## RAID1
-![RAID1 diagram](./RAID1.png)
+![RAID1 diagram](./imgs/RAID1.png)
 
 RAID1 mirrors sets of data on **two or more** fisical disks at a time. This RAID setting, as in RAID0, also doesn't offer any *parity* and the setup replicates the size of the smallest disk on all the other disks as well. In RAID1 theres no data striping since all data is replicated multiple times.
 
 RAID1 read operations can be taken by any of the disks in the array, it's useful on read performance and reliability on data, but it is bad on write performance and total data storage capacity. 
+
+## RAID6
+![RAID6 diagram](./imgs/RAID6.png)
+
+RAID6 uses *double parity* striped all over the array so it's allways possible to have two failed disks without losing any information. It needs to calculate 2 different systems to make paritys p and q and store them in distinct units, because of this, RAID6 has a overhead cost on write operations that is the double of a single-parity implementation as in RAID5. RAID5 doesn't have read operations performance penaltys.
+
+RAID6 is a very good system to use when reliability and disponibility of data is more needed than performance.
+
+## RAID10
+![RAID10 diagram](./imgs/RAID10.png)
+
+RAID10 is a simuntaneous implementation of RAID0 and RAID1, combining the performance boost of RAID0 with the reliability of data present in RAID1. RAID10 needs at least two 'tanks' of disks arranged in RAID1 configuration, replicating all data in all disks of each tank. Than it takes these tanks and arrange then in a RAID0 setup, so all data is striped and writen segmented in each tank.
+
+RAID10 offers a boost in read and write operations performance, at the same time that it permits at least 1 disk of each tank failing at once without any data loss. This systems does this by using double of logical storage in fisical storage, so it'll always use half of total raw disks capacity.
+
+It's a good system when total storage isn't more requested than performance and relaibility.
diff --git a/RAID0.png b/imgs/RAID0.png
similarity index 100%
rename from RAID0.png
rename to imgs/RAID0.png
diff --git a/RAID1.png b/imgs/RAID1.png
similarity index 100%
rename from RAID1.png
rename to imgs/RAID1.png
diff --git a/imgs/RAID10.png b/imgs/RAID10.png
new file mode 100644
index 0000000000000000000000000000000000000000..17b1308fa499cacffa200ff43c46b5afadcaaa0a
GIT binary patch
literal 8250
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
Z{2puM$Wx}g^o9H>$ao}Zq>+Jv0RR&h4?h3^

literal 0
HcmV?d00001

diff --git a/imgs/RAID6.png b/imgs/RAID6.png
new file mode 100644
index 0000000000000000000000000000000000000000..05a1cfeca5dd965d8a8b10875d36981c55b597ea
GIT binary patch
literal 21128
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

literal 0
HcmV?d00001

-- 
GitLab