X

ZFS

RAID-Z

RAID(廉价磁盘冗余阵列)最初的承诺是它将使用廉价磁盘提供快速、可靠的存储。重点在于廉价,但不知为何我们最终却得到这种结果。为什么呢?RAID-5(以及其他数据/奇偶校验方案,比如 RAID-4、RAID-6、奇偶和行对角奇偶校验)从未完全履行过 RAID 的承诺,并且也无法履行,这是因为存在一种称为...

RAID(廉价磁盘冗余阵列)最初的承诺是它将使用廉价磁盘提供快速、可靠的存储。重点在于廉价,但不知为何我们最终却得到这种结果。为什么呢?RAID-5(以及其他数据/奇偶校验方案,比如 RAID-4、RAID-6、奇偶和行对角奇偶校验)从未完全履行过 RAID 的承诺,并且也无法履行,这是因为存在一种称为 RAID-5 写漏洞的致命缺陷。不管何时更新 RAID 存储条,还必须更新校验,以便所有磁盘异或为 0,正是这个等式使您能在磁盘故障时重构数据。问题在于无法以原子方式更新两个或多个磁盘,所以...

泛滥的分层违规?

众所周知,Andrew Morton 将 ZFS 称为“泛滥的分层违规(rampant layering violation)”,因为它组合了文件系统、卷管理器和 RAID 控制器的功能。我假设它的表意重点在于词违规。在设计...

众所周知,Andrew Morton 将 ZFS 称为“泛滥的分层违规(rampant layering violation)”,因为它组合了文件系统、卷管理器和 RAID 控制器的功能。我假设它的表意重点在于词违规。在设计 ZFS 时,我们观察到,存储堆栈的标准分层引入了大量不必要的复杂性和重复逻辑。我们发现对这个问题进行一些重构,也就说,更改层之间的边界,我们可以让整个事情变得非常简单。我们首先使用数学(我的实际专业)中的一个例子作为开场白。假设您必须计算 1/n(n+1) 的和(其中 n=1 到无穷大)。逐项展开,我们得到:        1/(1\*2) + 1/(2\*3) + 1/(3\*4) + 1/(4\*5) + ...也就是        1/2 + 1/6 + 1/12 + 1/20 + ...这个无穷序列总和是多少呢?看起来好像是很困难的问题,但这只是因为我们没有找到正确的方法。如果您比较聪明,可能会注意到可以用另一种方式表示每项:        1/n(n+1) = 1/n - 1/(n+1)例如,       ...