案例库 · 工程与运营 · 技术决策 · 1992–2000
NetApp 的 WAFL 把备份变成了一个指针,快照从此免费且即时
WAFL 从不覆盖块:快照就是一个保存的根指针,提供即时、节省空间的备份,使 NetApp 成为 NAS 领导者。
NetApp (Network Appliance)
解法
1992 年,Dave Hitz、James Lau 和 Michael Malcolm 创立了 Network Appliance,致力于打造专用的 NFS 文件服务器。Unix 文件系统的夜间备份意味着数小时的复制或磁带操作,而崩溃后的一致性检查可能持续与停机时间一样长。
他们在 1994 年的 USENIX 论文中介绍了 WAFL:文件系统在任何位置写入,并保留旧根指针,因此快照是只读克隆,通过复制指针即可即时创建。写入时复制意味着只有块发生变化时才消耗空间;WAFL 在线保留多达 20 个计划快照,并通过 .snapshot 目录向用户展示,以便用户自行恢复误删的文件。
同样的机制在非正常关机后免除了漫长的一致性检查,这是该设备的一个关键卖点。NetApp 的快照功能成为行业标准;公司于 1995 年上市,收入超过 10 亿美元,并成为领先的 NAS 供应商。
生效的原因
- 快照是指针副本,因此创建只需毫秒,而非数小时。
- 写入时复制意味着旧版本在数据变化前几乎不占用磁盘。
- 用户通过 .snapshot 目录自行恢复误删的文件。
- 崩溃后快速重启消除了文件服务器最大的痛点。
取得的成效绝不覆盖;快照是一个指针神来之笔
可借鉴之处
如果你害怕的事情(备份、撤销、重启)代价高昂,那就改变写入路径:当每次变更都按构造进行版本化时,恢复产物就是你已有的指针。
后续进展
快照及其衍生产品(SnapMirror、FlexClone、去重)在三十年间一直是 NetApp 的产品核心。1994 年的论文是存储系统的经典之作,此后所有主要文件系统——包括 ZFS 和 Btrfs——都借鉴了其写入时复制的快照理念。
资料来源
- File System Design for an NFS File Server Appliance (full text)
- File System Design for an NFS File Server Appliance (conference record)
- Hitz: NetApp market growth hinges on cloud, data management
发现哪里写错了?告诉我们。