unraid是我用过为数不多的nas系统之一(好像nas系统实际上也屈指可数), 而快照也是一个nas系统必备的功能之一
Snapshots插件可以让unraid支持快照功能,但是只能在文件系统类型为BTRFS
的硬盘上生效, 如果硬盘之前的文件系统类型不为BTRFS
, 则需要重新格式化硬盘
快照是什么
快照并不是单纯的将文件复制一份进行保存!!!所以不要过分担心快照带来的硬盘占用容量飙升的问题; 快照基本上都会使用写时复制技术(Copy-on-Write, COW), 当原始文件要被修改时,系统不直接覆盖旧数据, 而是将修改后的新数据写入存储空间的另一个地方. 这样, 旧数据(也就是快照中的数据)仍然保持不变, 这时候才会发生占用容量变大的情况.
使用流程
- 在
应用
中搜索并安装Snapshots
, 如果因网络问题安装不上请自行配置科学上网 - 安装完毕过后, 在
工具
下进去Snapshots
配置页面
这时候会进入到一个设置页面, 有一个CREATE SUBVOLUME
按钮仿佛在提示你新建一个快照子集, 但实际上根目录已经默认自带了子集, 只需要点击右上角的SHOW ROOT
即可!这里需要做一下解释, 如果你点击
CREATE SUBVOLUME
并新建了一个/mnt/disk1/test
的子集, 则快照功能只会在这个test文件夹中生效!!!之前没搞明白, 最后数据丢失了使用快照功能找回的时候才发现数据根本就没有被快照(因为数据并不在test这个文件夹中), 所以请直接使用root目录即可 - 点开
SHOW ROOT
过后, 应该能看到一个小齿轮的图标, 点击设置, 多个硬盘就需要设置多次, 推荐将Snapshot Prefix
设置为/mnt/disk1/snaps/{Y-m-d}
,Send to location
设置为/mnt/disk1/recover/
, 这样快照将会放在根目录的snaps
文件夹中, 恢复的快照默认会放在根目录的recover
文件夹. 注意目录中的disk1
修改为你当前的硬盘名称!!! - 设置完快照目录过后, 在
SCHEDULE
下点击+
, 新建一个自动生成快照的任务, 后面是几个推荐设置的选项: 将Snap schedule
设置为已启用
;Snap schedule mode
选项为运行时间, 分别为每小时、每天、每周和每月, 按照自己的需求进行设置即可;Retention
选项设置为已启用
, 启用过后会自动删除快照, 删除逻辑可以选择保留多少天的快照(days), 保留多少数量的快照(Occurences)以及按照硬盘可用容量进行删除(Percentage Used), 推荐使用days
为30或者60天, 过短的快照保留时间会让快照显得毫无意义, 过长的快照时间又会过分占用额外的空间. - 保存过后即完成了整个设置, 推荐先在硬盘上放一些测试数据, 然后点击
RUN NOW
新建一个快照(点了过后没反应的话刷新看看), 快照创建完过后, 再在硬盘上删除掉刚刚的测试数据, 再回到页面点击SEND
, 在弹出的框再次点击SEND
, 即完成了快照的恢复, 回到硬盘中, 找到recover
文件夹下对应日期的文件夹, 看看刚刚删除的数据是否还在, 如果删除的数据显示了, 恭喜你, 快照设置成功!