unRaid系统会要求使用者要先配置硬碟,才能使用各个功能(如VM,共享资料夹…等)
今天先深入了解原理,了解後方可按照自己安排不同形式的硬碟管理
我们开始吧~
unRaid,顾名思义就「不是RAID」
当然Array也就不是常见的RAID喔
而是一种资料池(pool)的结构,会把所有的硬碟打成同一个空间
“当然往後配置share folder也可以选择包含或排除哪些硬碟,我们後面实作~”
工作原理是当有资料存入时,会对每个资料碟的同个区域做XOR计算,最後把结果都存入校验碟里
XOR计算规则是只要是奇数个1,计算值就为1;反之偶数个1,计算值就为0
举例来说:
正常硬碟资料如下图
Storage | Storage | Storage | Storage | Storage | Storage | Storage | Parity |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 |
… | … | … | … | … | … | … | … |
现在有个硬碟坏了 (X,Y表示)
Storage | Storage | Storage | Storage | Storage | Storage | Storage | Parity |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | X | 1 | 0 | 0 |
0 | 0 | 0 | 1 | Y | 1 | 0 | 1 |
… | … | … | … | … | … | … | … |
X,Y 回推,得0,1
这有点像RAID 5,但RAID 5是把校验码分散在各个硬碟里
容错性则跟RAID5差不多,都是保证其中一颗硬碟坏掉可被修复
但小雨觉得天下绝对没有两全其美的事情,Parity以容错性和方便性来讲,个人使用已足够
顾名思义就是加快存取资料的速度,能解决原硬碟读写太慢的问题
而unRaid Cache功能就是为了解决Parity读写太慢的问题,机制是以SSD暂时取代原本资料池
让使用时先写入Cache区域,等使用者离峰时在把资料『搬移』至原本资料池。
与浏览器快取不同的是:Cache 碟是利用离峰的时间,再慢慢把资料搬回原位
为了避免资料正在读写又执行Mover产生错误,unRaid Mover 建立了一些机制:
- Mover 启动时,档正在被读写,则该档不会启动搬移,只能等下次 (隔天同一时间)
- Cache根目录下以 . 开头的资料夹 (也就是temp文件),mover 不会搬移这些文件
- Cache根目录下的档案 (系统控制文件),mover 不会搬移这些文件
(Mover详细调整我们後面再来实作~)
直接进入 Array methods 实作练习主题。 push() 新增元素至原阵列末端,可一次新增...
各位早安阿~ 不知不觉间已经来到铁人赛第十天,也就是过完1/3了呢,想想还真是快。只不过今天就开学了...
前言 程序写了一阵子之後,工程师就会发展出自己习惯的模式,小到命名方式,大到系统架构,而在我们团队中...
前言 昨天的文章介绍了 Deployment 以及 ReplicaSet 的基本介绍後,接下来要介绍...
前言 前一篇已经提前预告接下来将会讲继承了,所以这一篇当然就是会介绍继承啦~(废话) 继承的概念 继...