type
status
date
slug
summary
tags
category
icon
password
如需技术支持,请点击 👉 联系方式
当我们需要将阵列中的某一个硬盘进行替换,例如替换成更大的硬盘,我们只需要将被替换硬盘里面的数据进行转移,保证数据不缺失就可以放心的将硬盘替换成其他的硬盘。
由于 UNRAID 的聚合视图功能,无论数据是在阵列中的哪一个硬盘,都不会影响到数据的完整性以及文件之间的层级关系,所以才会说只需要将数据转移走就可以放心的将硬盘从阵列里面剔除。关于聚合视图的功能说明,请看博主的另一篇文章《为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法》。
本文整理几种不同的情况来模拟替换硬盘的场景,方便各位读者根据实际情况来实现硬盘的替换。
1. 数据转移前的准备工作
由于数据需要先从硬盘中转移出去,所以第一件要考虑的事情是数据需要放到哪里,这列我尝试整理所有可能的情况供大家参考:
- 其他硬盘有足够的空间或者新硬盘可以直接插上 UNRAID 使用:假如阵列里面的其他硬盘有足够的空间接收硬盘里面的数据,那么事情就比较简单,直接将数据转移到阵列里的其他硬盘即可。假如阵列里面的其他硬盘没有足够的空间接收数据,但是你的 UNRAID 设备上还有足够的 SATA 接口允许你插上新的硬盘,那么将新硬盘插上 UNRAID 并加入到阵列中,这时候就可以直接将数据转移到新硬盘即可。
- 情况 1 无法满足,但是阵列中有检验盘:阵列里面的其他硬盘可用空间不足,并且新的硬盘也没办法插上 UNRAID 直接去使用,但假如说你的阵列里面有校验盘,那么我们可以利用校验盘数据重建的功能去间接的“转移”数据,但是不推荐使用这种方式。方法很简单,直接把旧的硬盘取下来换上新的硬盘,然后在阵列的设备列表中将旧硬盘的位置替换为新的硬盘即可让校验盘开始重建数据。
关于校验盘的介绍,大家可以参考博主的另一篇文《新手教程:什么是校验盘,校验盘有什么作用》。
- 情况 1 和 2 都无法满足:这时候只能是将被替换硬盘里面的数据放到 UNRAID 之外的地方进行存储,比如说拷贝到你的 PC 上、上传到云盘等,总之就是先把数据转移走再替换上新的硬盘。
2. 数据转移的方法
官方也有相应的文档供参考:Replacing Multiple Data Drives with a Single Larger Drive 。
假如我们用新的硬盘替换旧的硬盘,整个数据转移的流程大概是这样的:
- 停止阵列,关机。
- 插上新硬盘,开机。
- 停止阵列,到“工具 - 新配置”中创建一个新的配置(方法见下文)。
- 将新的硬盘添加到阵列中,如果有检验盘这时候请取消校验盘的分配。
- 使用后文介绍的方法开始转移文件文件:这里推荐两种方法 —— 使用 unBALACNE 插件和使用 rsync 命令,这两个方法博主都写过相应的文章介绍使用方法。
2.1 方法一:unBALANCE 插件
步骤说明
- 打开插件页面,进入 SCATTER 界面。
- 选择需要需要转移数据的硬盘,例如这里的 disk 1 ,在 FROM 列中勾选 disk 1 。
- 选择 disk 1 硬盘内需要转移的文件夹,例如这里的 appdata 和 system 两个文件夹。
- 在 TO 列中勾选目标硬盘,例如这里的 disk 2 ,表示将 disk 1 中所有选的所有文件夹都转移到 disk 2 硬盘中。
- 点击左上角的 PLAN 按钮,让插件进行数据转移前的分析工作(检查目标硬盘空间、文件权限等)。
- 取消左上方的
dry run
(此选项的作用是模拟转移的过程和结果,用于参考最终转移的结果是怎样的,如果不取消勾选那么当你点击 MOVE 或者 COPY 的时候并不是真的转移或者拷贝数据)。
- 最后点击 MOVE 即可开始文件的转移。
2.2 方法二: rsync 命令
假设需要将 disk 2 的所有数据转移到 disk 3,那么你可以参考以下命令:
rsync 命令具有断点续传的功能,所以即使你强制停止了命令的执行,你可以重新运行此命令继续传输剩下未传输完成的文件(相应具体参数的含义请参考博主 rysnc 文章里面的说明)。
3. 数据转移完成后的工作
当所有数据都进行了转移,这时候你就可以将需要替换的硬盘中设备中取下来,然后换上新的硬盘。回到 UNRAID 之后,你需要新创建一个阵列配置,否则在原有的阵列配置上缺失了某一个硬盘的情况下是不允许启动阵列的,例如:
创建阵列新配置的方法:
创建新的配置之后就可以回到阵列设备列表中删除和添加新的硬盘设备了:
如果你有校验盘,那么此时也请记得添加上校验盘。
4. 常见问题
Q:如何使用校验盘重建数据?
评论区有位朋友提到:
那么在有校验盘的情况下,如果我有一个数据盘坏了(数据不能恢复), 更换新的硬盘的具体步骤?确保数据不丢失,谢谢!
在有校验盘的情况下,你可以按照以下的步骤来重建数据:
(1)停止对硬盘的读写
首先,如果损坏的硬盘已经完全不能读写,个人建议这时候就不要对其他的硬盘进行读写了。
虽然这时候由于校验盘的存在,数据会进行“模拟”,也就是校验盘会模拟这一块已经损坏了的硬盘里面的数据来保证阵列数据的可用性,但是从数据安全的角度来说,这时候就尽可能不要再进行任何的硬盘读写了,这时候你需要做的就是停止阵列,取消硬盘的挂载。
如果说这时候你可能没有办法第一时间停止阵列来取消硬盘的挂载,或者说你有一些不得不使用的服务依赖对硬盘的读写,那么我建议只保留一些必要的服务,其他的服务尽可能停掉,或者说只对硬盘进行读取而不是写入。
(2)关机,换上新的硬盘
由于损坏的硬盘已经完全失去了正常的功能,所以这时候只能是替换上一个新的硬盘来重建数据。需要说明的是,所替换的硬盘最好是容量大于等于原来损坏的那个硬盘(但不要大于校验盘的硬盘容量)。
(3)重建数据的步骤
设备替换上新的硬盘之后,开机进入 Unraid 系统。
这里博主以虚拟机环境给大家演示,如下图所示:
这里我们假设
磁盘2
就相当于已经损坏的硬盘,然后此时我们将新的硬盘替换到 磁盘 2
的位置上面:当替换上了新的硬盘之后,可以看到下方启动阵列按钮旁边会提示“启动将启动奇偶校验同步和/或数据重建”:
此时只需要点击 启动 按钮之后就可以开始在新的硬盘上面重建阵列:
- 作者:JackieWu
- 链接:https://www.jackiewu.top/article/replacing-multiple-data-drives
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。