NAS 的中心功用之一便是为用户供给存储空间,而在存储许多数据的一同,挑选比方快照这样的办法来确保 NAS 硬盘中的数据安全也至关重要。
那么除了快照,咱们还有其他办法来给 NAS 中的数据加上额定的稳妥呢?我将在这篇文章中介绍更多的办法。
(友谊提示:文中表格可点击打开检查大图)
读懂你的硬盘状况
毫无疑问,NAS 存储数据的根底是硬盘,硬盘的状况天然与咱们的数据安全严密相连。
好在如今大部分 NAS 所用到的硬盘都装备了SMART 技能——SMART 全称 Self-Monitoring Analysis and Reporting Technology,用于硬盘自我查验、剖析与陈述, 它经过各种指令对硬盘内部零件进行检测,然后将检测陈述和厂商所设的安全值进行比较。
SMART 信息
一般来说,咱们可以经过 NAS 体系(一般坐落硬盘/VJBOD中的硬盘运转状况里)或许其他检查 SMART 的软件(比方CrystalDiskInfo)直观地看到每一项 SMART 数据,经过这些数据,咱们就能快速了解各个硬盘的实践状况,以便在需求的时分提早换入新硬盘来确保数据安全。
换句话说,读懂特其他 SMART 指令可以协助咱们快速了解磁盘的寿数状况,提早做好应对「数据危机」的预备。
由于 SMART 数据各个硬盘制造商都可以挑选添加他们特有的特点,在这篇文章中我不行能将一切特点通通标明出来,故本文列出的大部分是通用的 SMART 数据,咱们一同看看吧。
重定位磁区
硬盘在保存数据的时分其实都是将这些数据寄存在在一个个磁区里的,经过读取某个磁区中的数据,咱们就能快速辨别该磁区有过错并对存在过错的磁区进行修正。
而假如一个磁区测验修正失利,硬盘就会经过备用的磁区进行替换,也便是将备用的磁区经过映射的办法与坏磁区联系起来,当硬盘要写入坏的磁区时会直接跳转到映射的备用磁区上,确保数据写入的安全。这便是磁区重定位。
这个进程咱们在日常运用进程中彻底感觉不到,可是 SMART 数据会默默地记载下来。这个进程中记载下的数据首要包括两类:
检测到任何读取过错时,硬盘会稍后测验从头读取数据,这个工作会被记载到 傍边;
屡次发作读取过错且从头读取未果,便会触发重定位磁区行为,不论重定位成功与否,这些重定位行为次数都会被记载进入 ;
成功重定位的磁区工作会被记载到 中,失利则会记载到 中。
需求留心的是,重定位磁区是有固定数量的,每用一个就当时值削减一个,而大部分重定位失利的原因是硬盘遭到了物理损坏或备用磁区竭尽,因而咱们应该重视的要点就很明晰了:以上面说到的 CrystalDiskInfo 为例,在 CrystalDiskInfo 主界面挑选对应的硬盘即可看到 SMART 信息,这儿咱们依据上表找到 ID 为 的 一行,然后就能在右侧看到它对应的当时数值。
对从头分配磁区计数来说,当时值数值代表了剩下重定位次数,这个数值下降到较低水平常咱们就应该留预算预备购买新硬盘了;假如无法校对的磁区计数添加,也便是的原始值不为 0 时,那么这块硬盘最好马上停用、及时备份数据并换入新硬盘,避免数据丢掉。
机械硬盘:电机起转重试数
机械硬盘的处理办法相似,但重视的数据不同,在这一部分,咱们首要需求留心的数据为电机起转重试数(Spin Retry Count),这个参数对应 ,十六进制值为 。
这是一个仅适用于机械硬盘的参数,标明着机械硬盘主轴电机第一次测验发动失利今后,主轴电机发动所需求测验的次数。相同以上面的表格为例,原始值不应该高于临界值。由于当主轴电机需求频频测验重启时,也就意味着这块机械硬盘寿数或许已达极限。
终端校验犯错
参数对应为 ,十六进制值为 的数据则对应终端校验犯错(End-to-End error),有时也会被叫做过错纠正次数,一般指的是从硬盘读取数据到内存后,数据发作不匹配的次数。
这个过错也与硬盘的损坏有关。假如原始值高于临界值,意味着这块硬盘损坏的概率十分高。
纠正和无法纠正数据
(十六进制值:)表明陈述无法纠正的过错(Reported Uncorrectable Errors)
(十六进制值:)表明硬件 ECC 康复计数(Hardware ECC Recovered)
这相同是一组对应的 SMART 数据。咱们每次向硬盘写入数据时,硬盘还会对数据进行额定的一次核算,这个核算得到的结果在写入硬盘今后被称为校验位。
硬盘在读取数据时会把读取到的数据和之前的校验位做比较,假如彻底一致则经过;假如不一致则运用校验位进行纠正,纠正成功今后则在 上加一,纠正失利则在 上加一,并在体系上给出有关提示。
一般来说纠正失利意味着硬盘的硬件呈现了问题,所以呈现也相同意味着硬盘寿数行将抵达止境。
多块硬盘,多层维护
聪明的人看完 SMART 信息或许会发作这样的主意:
一块硬盘明显不是很稳妥,不同硬盘的寿数也不太相同,那咱们不如多用几块硬盘一同寄存数据,这样不就能确保数据的安全了吗?
独立硬盘冗余阵列(Redundant Array of Independent Disks),也便是咱们常看见的RAID便是用来做这件事的。经过将多块硬盘组合起来成为一个或许多个阵列组,RAID 可以协助咱们的 NAS 提高功能或许添加安全性(当然两者也可以被一同提高),在「数据危机」到来之前为 NAS 加上一层额定维护。
而在实践运用中,RAID 类型会被命名成 RAID 加数字的办法,常见的 RAID 办法有:RAID 0、RAID 1、RAID 5、RAID 6、RAID 10/01、RAID 50 和 RAID 60,每种类型都有各自的优势也有自己的缺陷,也常常让一些想要入门 NAS 的朋友感到困惑,所以下面咱们就来一同整理一下吧。
RAID 0
RAID 0 经过将两个及以上的硬盘组合起来,组成一个更大容量的阵列组。这种组合办法的基本信息如下:
在寄存数据时,文件被分段(有多少个硬盘就分红多少段)然后一同写入各个磁盘,读取时再从各个硬盘里读取出来。由于读写时都是各个硬盘别离做对应的操作,RAID 0 不论是写入仍是读取速度天然都是 RAID 体系里最快的那个。
分段尽管带来了速度快的优势,但假如 RAID 0 磁盘里的任何硬盘呈现了损坏,那么 RAID 0 阵列里的寄存数据都会丢掉那一段数据,也便是说整个 RAID 0 里的数据都丢掉了。
这也是为什么 RAID 0 很少用来寄存数据的原因,一般用来当作只读缓存区或许当作临时文件寄存的当地。
RAID 1
RAID 1 经过将两个及以上的硬盘组合起来,组成一个由最小硬盘巨细决议可运用空间的阵列组。选用这种组合办法你需求知道的是:
在寄存数据的时分,一个文件将被完整地一同写入这个阵列组里的一切的硬盘,读取时别离从阵列组里的每个别离读取一小块,或是在一块磁盘忙时经过其他磁盘读取这部分文件。因而 RAID 1 的写入速度由最慢的硬盘决议,读取时则不受最慢硬盘的约束。
RAID 1 是一种典型的用容量交换数据安全性的组合办法,只需整个 RAID 1 组里还有 1 块硬盘处于正常状况,那咱们的数据便是可以被正常拜访的,换句话说只需整个 RAID 1 组还有 2 块硬盘处于正常状况,那咱们的数据就处于被维护的状况。
所以 RAID 1 特别合适用户寄存一些首要用于只读的重要数据。
RAID 5
RAID 5 需求至少三块硬盘才干组成起来,但它是一种贮存功能、数据安全和存储本钱统筹的存储解决计划。RAID 5 的基本信息如下:
在寄存数据时,数据相同被分段(分段数量比硬盘数量少 1)并随机并行写入到各个磁盘里,随后 RAID 5 还会经过特其他核算额定得到一个校验值,这个校验值会被寄存到没有寄存这组数据的那块硬盘里。
这样一来,RAID 5 在读取时可以从各个硬盘里别离读取,发作过错时则运用没有存储数据的那块硬盘中的校验值进行康复。
由于 RAID 5 的校验数据需求独自占有一个空间,因而空间运用率不如 RAID 0,可是由于多个数据对应一个校验值,空间运用率却要比 RAID 1 好上不少。不过 RAID 5 中只能接受一块硬盘损坏的状况,一旦超越一块硬盘损坏,那么整个 RAID 组寄存的数据都会丢掉。
整体而言 RAID 5 十分合适日常运用。
RAID 6
RAID 6 至少需求四块硬盘才干组成起来,这是由于它在 RAID 5 的根底上额定的添加了其他一组校验数据,因而 RAID 6 尽管空间运用不如 RAID 5 来的高,可是它更安全。
RAID 6 的基本信息如下:
在寄存数据时,数据相同被分段(同理,分段数量为硬盘数量减 2)并随机并行写入到各个磁盘里,经过两种特其他核算办法额定得到两个校验值后,这些校验值会被放进没有寄存这个数据分段的两块硬盘里。
读取时从各个硬盘里别离读取一个文件的各个段,发作过错时则运用这两块硬盘中的验值进行康复。
由于 RAID 6 的校验数据需求进行两次彻底不同的核算办法得到并需求额定写入两个硬盘,向 RAID 6 写入数据时瓶颈不仅仅在于硬盘的速度,核算校验数据的处理器功能(或许是处理器在核算,也或许是专用的 RAID 卡在进行核算)相同也会影响写入功能。当然也正是由于这两组校验数据, RAID 6 最多可以一同接受 2 块磁盘损坏。
RAID 6 优异的数据安全和存储本钱统筹的存储解决计划,特别合适寄存各式各样的重要数据。
RAID 10/01
RAID 10 和 RAID 01 是一种混合型的 RAID 体系,将 RAID 1 体系和 RAID 0 体系结合起来,运用容量交换高速的读写功能和数据安全。
RAID 10 分为两层,至少需求四块硬盘组成。它的基本特征如下:
RAID 10 下面一层是由硬盘组成的一组又一组的 RAID 1 体系,上面一层则是运用 RAID 0 体系将下面的 RAID 1 体系链接起来。写入数据时数据先被分段,写入各个 RAID 1 体系中,再在每个 RAID 1 里的各个硬盘里都保存那一个数据段。
在 RAID 10 中,每个 RAID 1 组都可以坏到只剩下一个硬盘,这时整个 RAID 组仍是处于可以运用的状况,不过这个时分便是 RAID 0 了,再坏一块硬盘整个 RAID 里的数据就都会消失。相对而言 RAID 10 的数据维护仍是很牢靠的。
相比之下,RAID 01 也相同分为两层,至少需求四块硬盘组成。下面一层是由硬盘组成一组又一组的 RAID 0 体系,上面一层则是运用 RAID 1 体系将下面的 RAID 0 体系连接起来。写入数据时数据先被仿制,再被分段写入到各个硬盘里。
在 RAID 01 中,一旦有一块磁盘发作了损坏,那么整组 RAID 0 都会停止作业,只剩下其他 RAID 0 组还会作业。此外假如 RAID 01 体系中 RAID 1 层只要两组 RAID 0,那么其间一组 RAID 损坏今后,剩下的一组 RAID 0 数据危险会十分大。这也是为什么 RAID 01 在实践运用并不是那么有用的原因。
最终,相同附上 RAID 01 的基本信息:
RAID 50
RAID 50 也相同是混合型 RAID 体系,分为两层,至少需求 6 块硬盘才干组成,它的基本特征如下:
RAID 50 最下面一层是由硬盘组成一组又一组的 RAID 5 体系,上面一层则是运用 RAID 0 体系将下面的 RAID 5 体系连接起来。
写入数据时数据先被分段写入各个 RAID 5 体系中,然后在每个 RAID 5 里运用再分段和校验的办法来存储数据。
在 RAID 50 中,每个 RAID 5 组都可以恣意损坏一个硬盘,这个时分整个 RAID 仍是处于可以运用的状况。不过同一个 RAID 5 组中呈现大于两块的硬盘损坏,整个阵列的数据都会丢掉。速度远比单个 RAID 5 快上不少;可是空间运用率会比单个 RAID 5 更低,由于每个 RAID 5 组都会运用那组 RAID 5 硬盘中一部分寄存校验数据。
RAID 60
RAID 60 也相同是混合型 RAID 体系,分为两层,至少需求 8 块硬盘才干组成。RAID 60 的基本信息如下:
RAID 60 最下面一层是由硬盘组成一组又一组的 RAID 6 体系,上面一层则是运用 RAID 0 体系将下面的 RAID 6 体系连接起来。写入数据时数据先被分段,写入各个 RAID 6 体系中,再在每个 RAID 6 里的运用再分段和两层校验的办法存储数据。
在 RAID 60 中,每个 RAID 6 组都可以恣意损坏两个硬盘,这个时分整个 RAID 仍是处于可以运用的状况;同一个 RAID 6 组中呈现大于两块的硬盘损坏状况时整个阵列的数据都会丢掉。
RAID 60 的速度比单个 RAID 6 快上不少,可是空间运用率更低,由于每个 RAID 6 组都会运用那组 RAID 6 寄存额定的两个校验数据。
为什么我不引荐运用 RAID 5
前面说过 RAID 5 是一种贮存功能、数据安全和存储本钱统筹的存储解决计划——只需求占用最多一块硬盘的体积就可以轻松完结校验,一同还可以将其他磁盘空间放在一同运用,一同写入和读取数据都是从各个硬盘里并行操作,速度十分快。
但随着单块硬盘的容量越来越大,只要一份校验数据的 RAID 5 体系,在重建进程中犯错的概率也会变得越来越大。也便是我为什么要在这儿额定阐明的首要原因。
在开端之前,咱们先要知道为什么在硬盘读取数据时会发作过错:
数据写入时,数字信号转换为盘片上磁场信号进程中发作过错
数据寄存进程中,由于外界的电磁搅扰、宇宙射线等以外状况,导致磁单元中部分磁性极性翻转
读取数据时,磁场信号转换为数字信号进程中发作过错;
在硬盘内部,这种过错其实是常常发作的。硬盘厂商考虑到了这点,会在硬盘的技能概况单(Database)中专门有个不行康复过错率(Unrecoverable Read Error rate,下文一致运用 URE 替代)来描绘这个概率。
一同为了应对 URE,机械硬盘每个扇区后边有必定 ECC 纠错码,用来纠正过错的数据( SMART 中的硬件 ECC 康复计数),当然 ECC 也不是全能的,一旦呈现接连或许许多的 ECC 错码,ECC 就不能纠正过错的数据了,也便是呈现了 SMART 中的陈述无法纠正的过错。这个时分就要依托带维护的 RAID 体系进行纠正数据,假如没有的话,那么那个方位的数据就基本就没有了。
而一般消费级的硬盘一般是 1e-14/bit,企业级硬盘发作 URE 的概率一般是 1e-15/bit。当然这个数据并不是代表了只要读取了 1e+14 的概率才会遇到一次 URE。遇到 URE 的概率则需求运用更杂乱的公式进行核算。由于核算进程十分杂乱,这儿不进行引进,这儿选用的数据均是知乎木头龙的核算结果:
4 个 1TB 硬盘组成的 RAID 5 单盘毛病后的重建进程需求读取的数据量为 1e-12 Byte×8 bit/Byte×(4-1)=24Tbit,而读取 24Tbit 进程中没有发作URE的概率则是 (1-1e14)^24e12=78.68%。
不同误码率,不同容量的硬盘,组成 4/8 盘 RAID 5 的重建成功/失利概率,见下表,相同是知乎木头龙的核算结果:
图:知乎 | 木头龙
可以看到 4 个 URE 为 1e-14 的1TB硬盘组成的 RAID 5 重建失利的概率为 21.32%,这个份额现已十分高了,所以这也是我为什么不引荐运用RAID 5 的首要原因。
不过最终要说的是 URE 导致的 RAID 5 重建失利并非意味着悉数数据丢掉,数据基本上都还在,仅仅需求其他办法进行康复。假如 NAS 的 RAID 卡答应,可以持续以降级形式运转,那么直接把一切数据仿制到其他一个阵列就好;假如 RAID 卡遭受 URE 后,强制某个硬盘离线而且不能从头上线,就需求找 NAS 售后或许专业的数据康复。
要是命运好,URE 正好呈现在没有寄存文件的空白区域,那么文件天然一点工作都没有;URE 呈现在有文件的当地,也仅仅无法康复一个或许多个文件。假如你的命运特别欠好, URE 呈现在一些特其他当地,还或许会导致文件体系溃散,最终也只能去找专业的数据康复。
不论哪一种康复计划,关于一般的家庭来说都是不小的经济负担,还不如从一开端不必呢。
相比之下 RAID 6 在康复时遇到 URE 也不怕,由于 RAID 6 损坏了一块硬盘也仅仅降级到 RAID 5 上,损坏两块硬盘时,能经过两组校验数据进行交错康复,至少到现在不必忧虑。
真的想用 RAID 5 也行,去买企业级的机械硬盘吧,不过这也是笔不小的开支。
备份是维护重要数据的仅有手法
咱们或许会猎奇:在有了快照技能和 RAID 体系后,为什么在 NAS 里还需求进行备份这个操作呢?
RAID 体系本质上就不是备份,它首要起到两个效果:第一个是在 RAID 体系处于正常状况时,确保独写数据时的功能,以及针对除掉 RAID 0 以外的体系供给额定的数据维护,比方说应对上面说到的 URE 状况;第二个是除掉 RAID 0 以外的 RAID 体系,还能在康复硬盘时让整个 RAID 体系能被正常的读写和运用。
也便是说,RAID 在规划之初就不是为了替代备份而规划的。
假如把快照说成保存某一刻数据的状况,那么备份便是保存某一刻数据的副本。快照技能尽管快且占用体积小,可是快照许多时分都只能保存在当时的硬盘里的,假如硬盘发作了损坏则没办法进行康复。
NAS 里的备份东西一般都是经过保存数据的副本到其他硬盘里完结备份这个进程的,因而遇到硬件损坏等快照无法复原的状况时,能经过其他的办法进行康复,这才是备份的含义。NAS 里的备份体系都能自动化备份操作,也能将文件加密备份到公有云服务器上,也支撑备份时去除重复文件,大幅削减备份时的体积。
比照其他耗时、耗财的途径,备份便是呈现「数据危机」今后,最低本钱康复数据的仅有途径。
以上便是除掉快照咱们还能怎样维护咱们数据的悉数内容,期望它可以协助到你,让你对你数据的安全状况有更深化的了解。
> 特惠、好用的硬件产品,尽在少数派 sspai 官方店肆