我希望为专用备份构建一个漂亮的小型 RAID 阵列。我想要大约 2-4TB 的可用空间,因为我有一个将所有东西数字化的讨厌的小习惯。因此,如果驱动器出现故障,我需要大量存储和大量冗余。我还将/home使用 Linux 的“Time Machine”克隆之一来备份 2-3 台计算机的文件夹。可以通过 SSH 通过我的本地网络访问该阵列。
我很难理解 RAID-5 如何实现奇偶校验以及实际需要多少驱动器。有人会假设它需要 5 个驱动器,但我可能是错的。我见过的大多数图表只是让我感到困惑。似乎这就是 RAID-5 的工作原理,请纠正我,因为我确定我没有正确掌握它:
/---STORAGE---\ /---PARITY----\
| DRIVE_1 | | DRIVE_4 |
| DRIVE_2 |----| ... |
| DRIVE_3 | | |
\-------------/ \-------------/
Run Code Online (Sandbox Code Playgroud)
驱动器 1-3 似乎作为单个大型驱动器 ( capacity * number_of_drives)出现并工作,而奇偶校验驱动器备份这些驱动器。我觉得奇怪的是,我通常在图表中看到 3 个以上的存储驱动器,而只有 1 个或 2 个奇偶校验驱动器。假设我们在 RAID-5 阵列中运行 4 个 1TB 驱动器,3 个运行存储和 1 个运行奇偶校验,我们有 3TB 的实际存储,但只有 1TB 的奇偶校验!?
我知道我在这里遗漏了一些东西,有人可以帮我吗?另外,对于我的用例,RAID-5 或 RAID-6 哪个更好?在这一点上,容错对我来说是最重要的,因为它将在网络上运行,仅供家庭使用,速度并不是非常关键。
Mat*_*att 30
它只是对每个驱动器中的每个相应位进行异或运算 - 如果您丢失了任何驱动器,您可以重新构建丢失的数据。
对于背景:
A B (A XOR B)
0 0 0
1 1 0
0 1 1
1 0 1
Run Code Online (Sandbox Code Playgroud)
假设D是其他列的异或,那么只要你只丢了一个驱动,你就可以算出你丢了什么。
A B C D
1 0 0 1
0 1 0 1
1 1 0 0
Run Code Online (Sandbox Code Playgroud)
有时条带位会分布在驱动器上,但概念是相同的。
因此,对于 RAID-5,无论有多少个驱动器,您只需要 1 个驱动器的奇偶校验等于或大于要进行 RAID 的阵列中的最小驱动器。
个人使用的 RAID-5 可能是最好的,因为计算复杂度远低于 RAID-6。
RAID-6 使用伽罗华域计算奇偶校验更复杂。这可以对平价计算征税。但是,您可能会丢失更多驱动器,但是如果您在遇到单个故障时立即重建阵列,那么坚持使用 RAID-5 应该没问题。
这是我认为更好的图表来展示奇偶校验在 RAID4 和 RAID5 中的工作原理
RAID4
Disk1 Disk2 Disk3 Disk4
----------------------------
data1 data1 data1 parity1
data2 data2 data2 parity2
data3 data3 data3 parity3
data4 data4 data4 parity4
Run Code Online (Sandbox Code Playgroud)
RAID5
Disk1 Disk2 Disk3 Disk4
----------------------------
parity1 data1 data1 data1
data2 parity2 data2 data2
data3 data3 parity3 data3
data4 data4 data4 parity4
Run Code Online (Sandbox Code Playgroud)
小智 5
我建议阅读这篇关于 Raid 5 和 Raid 6 的维基百科文章
http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling
RAID 5 在每个条带中写入一个奇偶校验块,因此对于 4 磁盘阵列的条带 A,它将奇偶校验写入到第 4 个磁盘上,数据位于磁盘 1、2 和 3 上
对于条带 B,奇偶校验块位于磁盘 3 上,数据位于磁盘 1,2 和 4.. 等上。
如果磁盘 4 发生故障,则可以恢复条带 B 的数据,因为您知道磁盘 1 和 2 上的数据,并且对磁盘 3 进行了奇偶校验。
如果条带 B 的奇偶校验为“2”,磁盘 1 的数据为“1”,磁盘 2 的数据为“0”,则磁盘 4 的数据必须等于“1”,因此磁盘上写入的数据为“1”
整个磁盘可以通过这种方式重新创建,RAID 6 通过每个条带有 2 个方块来扩展此功能。
对于 Raid 5 的空间,您只会丢失一个磁盘的奇偶校验空间,因为它只在每个条带上写入奇偶校验块,而使用 Raid 6,您将丢失 2 个磁盘,但也可以丢失两个磁盘,而不是您可以丢失的磁盘突袭5;)
维基百科文章对此有更好的解释!