分类
电脑

本地+云,冷热分层,我是这样保护个人文件的

只有在真正经历过文件丢失的痛之后,才会认真对待文件的备份和保护。多年的工作中,对这一点我算是深有体会了。

最初我也觉得,文件丢失只是一种小概率事件,自己并不会那么倒霉就真遇到。然而现实很快「打脸」了。大概是在 2004 年前后,因为电脑硬盘故障,我丢失了很多工作文档。在那之后,我开始重视起文件的备份。不过受限于当时的技术和成本,可供选择的文件备份方式其实并不多,因此自己只是买了块移动硬盘,然后用 Windows 自带的备份工具(NTBackup.exe)每周自动运行一次,把重要文件夹备份到移动硬盘里。这样,所有重要文件都会有两个副本,一个在电脑硬盘里,一个在移动硬盘里,貌似很安全。

这么用了几年,感觉还行。虽然在这之后,云计算,尤其是云存储的概念开始出现,甚至我个人也在简单使用,但并不觉得当时自己所使用的本地备份方式有什么缺陷。毕竟那时的网络条件就那样,有限的上行带宽让我根本不敢想能用云存储服务来备份自己的文件。直到再次被现实「打脸」。我还记得很清楚,那是 2009 年,梁上君子深夜来访,在我呼呼大睡期间带走了电脑、移动硬盘、相机、手机等各种物件……

在这之后,通过云存储服务保护文件才开始真正被我重视起来。作为微软生态的爱好者,微软的 OneDrive 服务(过去多年来,该服务曾数次改名,以前曾叫 SkyDrive,更早前则叫 Live Mesh)在刚发布后就被我看上了。尤其是随着后来 Office 365 以及改名后的 Microsoft 365 服务越来越强大,功能日渐丰富,这么些年来,我主要使用这套服务来满足自己的「生产力」需求,并借此来保护自己的文件。

不过用久了之后,我的「被害妄想症」开始发作了。所有重要文件都保存在 OneDrive 中,这和把全部的鸡蛋都放在同一个篮子里有什么区别?万一哪天出现严重事件(外星人拔网线?)导致 OneDrive 中的文件全部无法访问怎么办?

经过一番折腾,我已经总结出一套对我个人目前而言感觉很好用,并且成本相对不算太高的文件备份和保护方案。该方案涉及数据冷热分层、异地备份、离场备份等不同环节,并且不同环节分别采用了不同厂商的技术和产品,可以最大限度避免「单点故障」。

我认为,这套方案用起来,已经可以保护我的文件免受从误操作、病毒破坏、硬件损坏/丢失,到区域范围内的重大灾害/灾难在内的各种威胁。

其实自己的数据远没有那么重要,但我单纯就是想要这样做而已,毕竟我有「被害妄想症」嘛。

本文将大致介绍我所采用的这套方案。

热数据:OneDrive 自动保存和版本管理

首先是日常需要频繁访问的各类数据,主要是工作文档,更具体来说,就是 doc/ppt/xls 之类的 MS Office 办公三大件内容。

这些内容我会默认保存在 OneDrive 中,同时也会在工作电脑的本地硬盘上维持一份同步的副本,以便于平时可以快速打开、编辑和查看。

对于保存在 OneDrive 中的文档,当通过 MS Office 软件打开时,可以开启「自动保存」功能。Windows 和 macOS 版的 Word、PowerPoint 以及 Excel 都支持这个功能。

这样在编辑文档的过程中,完全无需手动保存,对文档进行的所有改动都会以「增量」的方式,第一时间妥善同步到云端。

对于 MS Office 文档,默认保存在 OneDrive 之后,还能自动获得版本控制功能。随着不断修改文档,OneDrive 会自动创建多个历史版本,用户可以按照需求查看不同版本,将特定版本另存为新文件,或直接用特定版本覆盖主文件,实现「用回第一版」的目标。Windows 和 macOS 版的 Microsoft Office 均可支持该功能。根据微软的相关介绍,除了 Microsoft Office 文档,PDF、CAD、照片、视频等文档均可支持这样的版本控制。

注意:取决于不同服务,可保存的历史版本数量有所差异:对于 Microsoft 365 个人版和家庭版(即「消费者」版本)的服务,同一个文件最多可以保留 25 个历史版本;如果使用商用版本的 Microsoft 365,同一个文件可保存更多历史版本,并且可按需调整设置增加可保存的版本数量。详见这里

此外,通过将文档保存在 OneDrive,还可以获得一个云端「回收站」。从本地删除,并且清空本地回收站的文件,依然会在 OneDrive 的云端回收站保留一定天数,期间可以随时访问网页版 OneDrive 恢复被删除的文件。不仅如此,OneDrive 还会密切监控用户的操作,在遇到一些异常情况时主动向用户发出提醒。例如我曾经无意中删除了 OneDrive 目录中的一个文件夹,其中包含了上百个文件,并且我在本地执行的是直接删除操作,而非放入本地的回收站(全过程中我根本没有意识到自己做了什么)。体贴的 OneDrive 很快向我发送了一封邮件,告诉我检测到有大量文件被删除,询问该操作是否我有意进行的,并提示称,如果是无意操作,还可以访问云端回收站恢复被删除的文件。万幸有这样的功能!

另外还有必要提及 OneDrive 的勒索软件防护功能,简单来说,这个功能可以给用户在 OneDrive 服务中存储的所有内容定期创建备份,并在需要时对云端的 OneDrive 所有内容进行整体性的恢复。举例来说,当电脑不幸感染了勒索软件,导致重要文件均被加密,并且加密后的文件也已被同步到 OneDrive 后,此时只要先解决电脑中感染的勒索软件,随后访问网页版 OneDrive,选择一个已知良好的时间,就能进行整体还原。而还原之后的文件也可以自动重新同步到电脑中。

都是很棒的功能,不过需要注意的是:云端回收站以及勒索软件防护功能,需要在 OneDrive 的网页端执行一些操作。因为某些原因,消费者版 OneDrive 服务的网页端在中国大陆地区无法直接访问,需要采取一些外星科技手段;但商用版 OneDrive for business 并不受此影响,网页端可以正常访问。

通过上述措施,可以实现:所有重要文件已经可以获得妥善保护,哪怕在修改了文件后马上遭遇软硬件故障或丢失等问题,也不会丢失任何数据。RPO 指标相当出色!

冷热分层:何必花大价钱买更大存储容量的设备

苹果开了一个很不好的先例!现在也有越来越多的厂商开始有样学样!!电脑、手机、平板之类的设备,其他配置完全相同的情况下,不同存储容量的配置售价也会差很多,差价甚至远高于同等容量 SSD 的价格。

然而时间久了,电脑中总会积累很多工作文件。这些文件也许未必需要频繁访问,但依然有必要保留起来。所以每次换电脑,都得买存储容量更大的型号?或者专门用一个移动硬盘来存档老文件?这些方法都不太方便。

这时候,OneDrive 的文件随选功能就可以发挥作用了。Windows 和 macOS 版的 OneDrive 客户端均支持该功能。简单来说,该功能可以让用户自行决定要将哪些 OneDrive 文件的内容实际保留在本地设备上,以及要将哪些文件只保留在云端,但在设备本地显示为一个「占位符」。这样,以「占位符」形式保存的文件/文件夹几乎不占用本地存储空间,但需要时只要双击,就可以随时从云端下载回本地。

对于任何一个存储在 OneDrive 中的文件或文件夹,我们都可以根据需要选择是否将内容保留在设备本地,或释放占用的本地存储空间。此外,Windows 10/11 用户还可以充分利用系统自带的「存储感知」功能,自动定时进行清理。在启用存储感知功能后,可以根据实际情况设置一个固定的时间间隔,例如 60 天。这样每隔 60 天,存储感知功能就会将同步到本地,但已经有 60 天未访问过的 OneDrive 文件的本地副本清除掉,只保留「占位符」。这等于可以自动帮助我们释放出更多存储空间。然而只要有网络,需要的文件依然可以随时下载到本地。

通过上述措施,可以实现:文件的冷热分层。需要频繁访问的「热数据」会同时保留在设备本地和云端,以便于随时打开查看或编辑;而长时间不访问但依然需要保留的「冷数据」,可以自动从设备本地清理,只保存在云端,不过需要的时候依然可以很方便地下载回来。

NAS 集中存储:以免「万一呢」

其实对于大部分人来说,通过上面的两项措施,重要文件的安全性已经足够有保证了。但作为「被害妄想症」重度患者,我总是很焦虑。「万一呢?」如果因为任何原因导致云端的数据访问不了,那么这种情况下我将只能看到自己的「热数据」,所有只保存在云端的「冷数据」就完全访问不到了。

其实只要有一台硬盘空间足够大的电脑,完全可以在这个电脑上设置让 OneDrvie 客户端在本地保留所有文件。但我没有这样的电脑…… 不过我有 NAS 啊!目前我在使用 Synology 的 NAS,用四块硬盘组了一个 RAID 5 阵列,那上面有足够的空间。而这个 NAS 上可以运行 Synology 提供的一个第一方应用:Cloud Sync,该应用可以将各种主流云存储服务中的文件同步到 NAS 上来。

这就简单了,添加 OneDrive 帐号,选择同步模式,设置限速等选项,并选择要同步的云端内容,随后就不用理会了。它会自动与 OneDrive 保持同步,只要云端内容有变化,就会第一时间下载到 NAS 上保存起来。无论消费者版本的 OneDrive,或是商用版本的 OneDrive for Business,甚至 SharePoint,都可以用这种方式进行同步。我甚至专门尝试着打开一个 OneDrive 文件并开启 Microsoft Office 的自动保存功能,随着修改文件并自动保存到云端,每次保存结束后,NAS 上都会在几秒钟内开始下载文件的新版本,而这期间我依然可以继续在电脑上进行编辑,整个过程非常顺畅,也不会产生冲突等问题。

通过上述措施,可以实现:在具备足够存储容量的本地设备上,保留着 OneDrive 云端所有文件的最新版本。因此就算因为任何原因导致云端数据丢失或不可访问,自己的数据依然不会丢失。

异地离场备份:竟然这样做,想必我可能有啥「大病」

这就够了吗?对正常人来说,可能已经够了,但我还觉得差点啥。如果在非常小的概率下,云端的文件无法访问,同时 NAS 中的数据也因为某种原因丢失了,那么我的数据不还是会丢掉么……(我知道,这可能是病,得治,所以下面就说我的治疗方法了)

企业级备份解决方案通常会涉及到离场备份以及异地备份等机制,那我也在自己的工作环境中整起来吧。这方面我打算使用 AWS 的 S3 Glacier 服务。一方面是因为我对这服务本身就挺感兴趣;另一方面也是因为,考虑到 OneDrive 数据本身就在微软的平台上了,本着不把鸡蛋放在同一个篮子里的想法,这个备份还是放到其他平台上吧。

Glacier 是一种专门用于保存「冷数据」的云存储服务。和普通的 S3 或其他同类型云存储服务最大的不同在于,Glacier 中存储的数据是不能随时发出请求进行读取的,往往需要在发出请求后等待一段时间才能读取,而具体等待的时长取决于所选择的 Glacier 服务层和检索选项。最贵的加急检索可在 1-5 分钟内完成;略微便宜一些的标准检索可在 3-5 小时内完成;免费的批量检索可在 5-12 小时内完成。

虽然检索速度慢,但这项服务相比标准 S3 存储类的成本会低很多。因此很适合用来存储那种需要保留,但可能永远都不会再访问,或者每年甚至更久时间里只需要访问一两次的数据。听起来这像什么?是不是有点类似磁带备份?容量超大,成本相对很低,专门用来存储需要归档,但很长一段时间里很少(甚至完全不需要)访问的数据。

做一个简单的对比吧,如果不考虑事务、检索等成本,只考虑数据本身的存储成本的话,对于美东(俄亥俄)的 AWS 区域,使用 S3 Standard 服务存储 1GB 数据每月的存储成本是 0.023 美元;而使用 S3 Glacier Instant Retrieval 服务存储 1GB 数据每月的存储成本是 0.004 美元;如果可以接受更长的检索时间,使用 S3 Glacier Deep Archive 服务存储 1GB 数据每月的存储成本仅为 0.00099 美元!相关费率来源为这里,截止 2022 年 10 月初。

决定了使用 Glacier 后,最开始我是打算使用位于中国大陆的亚马逊云科技平台,毕竟数据中心在本土,就算「被外星人拔网线」应该也可以取回自己的数据。然而,亚马逊云科技注册帐号需要提供企业营业执照、负责人的身份证件等一大堆证明文件,我没有…… 好吧,选择一个地理位置比较接近的 AWS 海外区域,就选新加坡数据中心吧。输入邮件地址和信用卡号就能完成注册,其他什么额外的东西都不需要提供。

接下来的问题,如果所有文档都已经保存在 NAS 中了,那么怎样把这些文档再定期自动备份到 Glacier?不得不说,Synology 的产品真的很赞,他们有一个名叫 Glacier Backup 的第一方应用,专门就是用来把 NAS 中的数据备份到 Glacier 的!

设置也挺简单,选择 AWS 区域,输入 Key,决定要备份的内容和备份频率以及其他相关选项,然后就再不用管了。这个应用会定期把指定的内容全部妥善备份到 Glacier 中。

目前我总共将接近 500GB 的数据存储在 Glacier,并设置每周进行一次增量备份,大概来说平均每周会增加 300MB 左右的新数据。从今年 4 月开始使用该服务到 9 月,所产生的全部费用如下图所示。第一个月的费用略高,因为首次备份需要传输大量数据,也会产生很多请求;后续的每个月,数据传输量和请求数量都会少很多,因此费用也会低很多。

通过上述措施,可以实现:我的所有工作文档都在另外一个平台进行了足够安全可靠的云归档。虽然截止目前我只是将数据备份到 Glacier,从未尝试过从其中检索数据的体验是怎样的(毕竟要额外花钱嘛,而且真心不希望遇到需要从那里面取回数据的情况),不过感觉上这已经让我很安心了。并且做到这一步后,我也想象不出对于文件的保护和备份,还有其他什么可以做的(防止地球毁灭后数据丢失?那还请大家推荐不太贵的「跨星系数据备份」服务吧。)

总结

总的来说,上述四个环节,环环相套,我的「被害妄想症」已经大幅缓解。

费用方面,不考虑电脑、NAS 等硬件设备的成本以及电费,只考虑所用互联网服务成本的话,就是 Microsoft 365 的订阅费用,以及 Glacier 服务产生的成本了。M365 订阅那是无论如何都得用的,毕竟是吃饭的家伙,OneDrive 只是添头。Glacier 的话,目前存储了近 500GB 数据的情况下,每月需要支付 2 美元多一点,并且看费用的增长趋势,每月最多也就增加 0.02 美元左右,我感觉也还行,就算长期使用也应该不会造成太多压力。

Peace in mind!

分类
未分类

我又回来了!

从最初的 MSN Spaces,到后来的虚拟主机,这个博客已经陆陆续续写了十好几年。

虽然近几年因为工作太忙实在没时间已经停更了很久,但依然觉得,只要有空还是会愿意写点什么。

不过悲剧的是,因为很久未更新,之前的虚拟主机忘记续费,甚至忽略了主机商的提醒邮件,导致原本的站点欠费被关闭,并且所有内容都已经被删除了,彻底无法找回……

那么就重新开始吧。

这次,本博客已经完全搬迁到 Amazon Lightsail 上,比原本「上古时代」的虚拟主机更灵活,费用也更便宜,初步使用下来感觉还是不错的。

新的博客,也许依然会以日常工作中遇到的,和「电脑」有关的各种话题为主,但也可能会用来记录或者分享一些其他题材的内容。不为别的,只为了在越来越少人喜欢撰写和阅读文字的今天,依然能坚持用文字记录自己的想法。

如果我的文字能给你带来一些帮助,那就最好了!