外观
存储进阶:快照与缓存
主线的磁盘与存储讲了怎么建起来,这里讲怎么用好。
快照:策略比功能重要
快照本身很简单,难的是定策略。核心问题是:你最久多长时间后才会发现文件被误删?
| 目录 | 频率 | 保留 | 理由 |
|---|---|---|---|
| 办公文档 | 每天 | 7–14 天 | 通常几天内就会发现 |
| 照片、家庭资料 | 每周 | 4–8 周 | 可能几周后才翻到 |
| 容器配置 | 每天 | 7 天 | 改坏了要能回退 |
| 影视库 | 不做 | — | 改动少、体积大 |
占用空间取决于快照之后的改动量,不是数据总量。一个几乎不变的照片目录,保留几十个快照也占不了多少;一个每天写入大量数据的下载目录,几个快照就能吃掉很多空间。设好策略后过一个月回头看实际占用,再调整。
快照的三个边界
它和数据在同一个存储空间——空间损毁时一起没。 它不能阻止拿到管理员权限的攻击者删掉快照本身。 只有 Btrfs 存储空间才有这个能力。
从快照恢复
恢复一个误删文件的流程通常是:浏览快照列表 → 找到删除之前的时间点 → 定位文件 → 恢复到原位置或另存。
恢复到另一个位置更安全:直接覆盖原位置时,如果选错了快照,会把现有的正确版本也盖掉。
SSD 缓存:多数人不需要
SSD 缓存的原理是把频繁访问的数据放在固态盘上。它在什么时候有用:
- 有用:多用户并发访问、大量小文件随机读取、数据库类应用的工作集能放进缓存。
- 没用:看影片(顺序读取,机械盘完全够)、大文件传输(瓶颈在网络)、单人使用。
家庭 NAS 的典型负载是顺序读写,缓存命中率很低,加上它本身也有故障风险(写缓存故障可能导致数据丢失),多数情况下不值得。
如果要上:优先只做读缓存(故障时不影响数据完整性),容量按热数据规模估算,不要为「缓存越大越好」多花钱。
碎片与写时复制
Btrfs 的写时复制机制对随机写入频繁的大文件不友好:虚拟机磁盘、数据库文件、下载中的种子文件,都会随时间产生大量碎片,表现为读取变慢。
处理方式:把这类文件放在单独的目录并对该目录关闭写时复制,或者干脆放在 ext4 的存储空间上。注意关闭写时复制会同时失去该目录的校验和快照能力,是一个取舍。
检查结果
确认三件事:每个重要目录都有对应的快照计划、你实际演练过一次从快照恢复文件、快照占用空间在可接受范围内。