数据安全

给科技服务队写的,介绍如何备份数据

0. 关于最常见的不良习惯

本文的正文从第 1. 节开始,但由于大部分数据丢失与一些不良使用习惯相关,我们在这个单独的置顶的篇幅中罗列这些习惯的 Checklist,以便引起足够的重视。这些行为将极大增加你丢失重要数据的概率,请详细阅读:

  1. 移动、震动、磕碰运行中的移动机械硬盘。这是我们发现的最常见的移动机械硬盘的损坏原因之一。运行中的机械硬盘必须被稳定放置,避免任何形式的机械震动,原因参考 3.4 节

    如果机械硬盘在使用中遭到磕碰,并发出咔哒或者沙沙的摩擦声,且硬盘不可读,请立刻断电并寻求帮助。

  2. 只在一个设备上保存你的重要文件,例如将所有重要资料单独保存(与备份相对应)在电脑的一块硬盘(Windows 的多个盘符可能属于同一块硬盘)、移动硬盘、U盘、SD卡中

  3. 在任何可移动存储设备上长期保存重要资料,尤其是 U盘、移动机械硬盘。基本上你可以视它们为随时都可能损坏的设备,细节参考 3.4 节

  4. 强行断开任何使用中的存储设备的电源,例如热插拔移动硬盘、未关机状态下断开台式机电源等,这有概率导致文件系统损坏甚至是存储设备物理损坏(尤其是机械硬盘,参考 3.4 节)

  5. 随意下载安装软件,随意在打印店等公开场所使用U盘并将其插回自己的电脑上

1. 序言

数据安全与 “数据丢失” 对应,指 “保护你的关键数据不丢失” 及 “维护你工作系统数据完整性” 的过程。在我们的经验中,(数据安全)通常对你的学习、工作生活至关重要,但通常也被大部分没有相关经验的人忽视,经常导致一些严重事故(例子参考第 2. 节)。

本文将介绍科技服务队遇到过的常见数据丢失例子,旨在引起不关注数据安全的人的重视(第 2. 节),并介绍数据丢失的成因及为何其通常比许多人想象的严重,并简单介绍急救原则(第 3. 节),最后介绍维护数据安全的基本原则和具体工具(第 4., 5. 节)。

如果你发现可能遇到了数据丢失相关的事件,可以参阅第 3. 节来获取可供参考的急救手段。

如果你只是希望学习日常维护数据安全的方法和习惯,请直接阅读第 4., 5. 节。

2. 常见数据丢失例子

在阅读之前,我们通常可以从一个角度出发:目前对你而言最重要的数据是什么,如果它此刻完全消失不可恢复,你的生活会因此受到多大的冲击。

例如,你丢失了:

  • DDL 是今晚的作业,写了一天但还没提交
  • 陆续经营几年的游戏存档
  • 过去几年的照片、聊天记录等
  • 大学期间的各类申请材料,也许与你正在进行的申请相关
  • 工作数月的大作业、课程设计或毕业设计
  • 几年的数 TB 的实验数据,或者撰写中的论文稿

通常如果上述事件真实发生,你的学习、工作将会受到很大影响。而且在我们的经验中,上述每一项都有人经历过(甚至多次),并且都是以一种不可恢复的形式。它们可能会由以下具体事件导致(同样是我们经历过的):

  1. 误操作导致撤销、删除重要文件或格式化含有重要数据的设备
  2. 由于数据被加密(Bitlocker 等)并丢失了密钥导致设备数据无法读取
  3. 由于下载不明渠道的软件或在不可信的地方使用USB设备导致中毒
  4. 存储设备物理损坏
  5. 设备丢失、自然灾害等不可抗原因

在下一节中将简单介绍上述事件的成因及后果。

3. 数据丢失的成因及后果

3.1 误操作

成因

通常是疏忽,或是由于对使用的系统及自己的操作不理解。例如不注意自己删除了哪些文件(删除时选中了过多的文件);不理解 Ctrl-Z(Win)/Cmd-Z(Mac) 对应的撤销操作会导致自己创建文件的行为被撤销导致文件消失;不理解格式化、重置系统(清除用户数据)的含义或是不经确认就进行这类操作;不熟悉网盘或是 Git 等涉及文件管理的软件的操作导致误操作等。

后果

通常与删除操作发生到现在经过的时间、及期间硬盘上写入事件发生的次数相关(例如写入文件等)。同时,如果数据在机械硬盘(HDD)上,恢复概率较高,在固态硬盘(SSD)上时难以恢复。

⚠️注意:在现在(2023年)的常见 PC 中,由于绝大部分 PC 都使用固态硬盘(SSD)安装系统,且通常会开启 TRIM,故上述操作不可恢复的概率非常高。这是由于 HDD 与 SSD 的存储机制与空间管理机制不同导致的,例如前者不会经常擦除已经删除的文件的数据,只会在有必要时覆盖,后者会通过回收已删除文件的数据块的机制来保证写入速度,但这导致被删除的文件的数据会很快消失。

建议

发现之后立刻停止创建文件等可能会对数据所在盘做写入操作的行为,并询问专业人士下一步操作,在不清楚你在做什么的情况下不要自行通过安装软件等方式试图恢复数据。

3.2 数据加密

成因

通常是 Windows 系统下的 Bitlocker 导致的,简单来说它会通过软硬件的加密手段将你的整块硬盘上的数据加密,在你的系统遭到破坏时(许多原因会导致这个机制被触发),必须使用一个密钥才能恢复数据。这个密钥可以通过 在 Windows 中查找 BitLocker 恢复密钥 找到,也可以在你系统可以正常使用时导出。

后果

如果你没有密钥并且 Bitlocker 被激活,几乎没有任何手段可以恢复你的数据。

建议

务必妥善备份并保管你的密钥。或者可以提前关闭 Bitlocker,但这会有数据泄露风险,因此这不构成我们的建议。

唯一的恢复手段是找到密钥的备份,或者通过微软账户找到密钥。

3.3 病毒及恶意软件

成因

缺乏安全意识的用户可能无法分辨网上软件的安全性,当用户在使用国内搜索引擎时尤甚,会误下载到病毒软件。一些流氓软件(也可能以杀毒软件或电脑管家的形式出现)也在此范畴。Windows 为此类软件的重灾区。

校内一些公共场合的设备由于使用者众多可能是包含病毒的,在这些设备上使用了你的 USB 设备可能会导致 USB 设备中毒,可能会导致数据被破坏,或者将病毒带到你自己的机器上导致更严重的后果。

同时,如果用户安装了一些会对外暴露端口的软件/服务,未设置防火墙并在无 NAT 的网络环境下(校园网就是一种),会导致这些端口被攻击,许多服务都不会设置用户鉴权,并可能有很多已知漏洞,因此任何一个攻击者都可能通过非常简单且自动化的方式攻击这些服务,并对运行服务的机器做许多事。其中包括加密你的数据并借此勒索。

后果

通常视病毒及勒索软件的种类而定,例如一些此类病毒/软件可能已经有已知的恢复被破坏数据的方法。但是如果没有对应的方法,数据将难以恢复。

建议

使用正版软件,从可信的渠道下载软件,包括官网、清华的 its.tsinghua.edu.cn、操作系统官方的应用商店 (Windows 的应用商店、Mac 的 AppStore) 等,不包括第三方的软件管家、搜索引擎上找到的软件下载站等。如果你不能确认你是否正从正确的地方下载软件,请咨询了解的同学。

避免安装各类第三方杀毒软件、电脑管家。但开启系统自带的防护机制,例如 Windows Defender。

不要在 USB、移动硬盘等会在不受信任的其他电脑上(例如打印店)使用的设备上存放重要数据,如果有,请提前在其他地方备份。

如果遇到了数据被破坏、加密勒索的情况,请咨询专业人士如何恢复(通常需要对症下药)。

3.4 存储设备损坏

成因

常见的存储设备有机械硬盘(HDD)、固态硬盘(SSD)和闪存(U盘)。

其中机械硬盘由于依赖磁头在高速旋转的盘片上读写数据,因此非常容易因为震动、磕碰、意外掉电等情况导致磁头摩擦盘片,进而导致损坏,导致数据丢失。供电不足(常见于 USB 移动硬盘 + 拓展坞的组合,或者是劣质硬盘盒)或者机械结构本身的磨损也会导致类似事件发生。

固态硬盘的颗粒擦写寿命有限,且目前消费级产品的颗粒寿命较短,在累积写入过多数据之后一些块会不可逆地损坏,最终导致数据丢失。这个寿命指标通常会在固态出售时以 TBW 的形式告知用户,如 300TBW 表明其设计寿命是总共写入(Write) 300TB。容量越大的固态硬盘该指标通常越大,即寿命越长。

闪存的存储原理与固态硬盘类似,但注意大部分 U盘 的产品定位不是长期稳定存储数据,而是短期移动数据,因此其寿命非常不可靠。不要将任何重要数据单独存放在 U盘 中。

后果

机械硬盘损坏后,只要盘片保存良好并且上面没有过多磨损,可以通过专业数据恢复机构开盘读取磁信息来恢复数据,但价格通常较高。

固态硬盘与 U盘 损坏后,数据通常无法恢复,且其寿命不可靠,因此不要将任何重要数据单独存放在它们上。

建议

经常查看硬盘的 S.M.A.R.T. 信息,可以将它理解为硬盘的健康度。正常使用的硬盘通常不会突然损坏,损坏是一个渐进的过程。例如硬盘设计通常会给坏块预留缓冲,即一些备用块可以被用于替换损坏的块,当这些备用块被使用时,SMART 会给出相应的警告数值,当备用块用完时才会出现更严重的事。在此之前查看 SMART 即可了解相关问题,并及时处理。也可以通过类似 Disk Genius 的软件扫描 HDD 的坏道,确认没有坏道时再在其上存储数据。

对于任何存储设备,避免突然断电(例如拔掉台式机电源,或是热插拔运行中的移动存储设备)。不要使用劣质的硬盘盒或转接头/扩展坞(尤其针对移动 HDD)。

对于 HDD,避免在其运行时震动甚至磕碰它。

对于 SSD 和 U盘,长期不通电时,其上的数据可能会逐渐由于电荷流失而丢失,因此不要试图用这些设备长期存储冷数据。如果有类似的需求,请使用 HDD、光盘甚至磁带。

3.5 设备丢失等

对于可移动设备这比较常见(例如手机或者 U盘),手机中可能会有照片、聊天记录等重要数据,因此建议参考后面的章节经常备份数据。

4. 维护数据安全的基本原则

除了第 3. 节中提到的各种建议外,本章将介绍通用的维护数据安全的原则:备份

⚠️ 没有任何手段能代替备份。第 3. 节中提到的所有建议都不能替代备份,且考虑到其中提到的数据丢失原因均比较常见(没有侥幸),如果你发现你有对你而言重要的数据,且它们没有按照本章中描述的原则被正确备份,强烈建议你参考本章进行备份。

备份原则:3-2-1

这是一个备份的黄金准则,少于这个标准的备份在意外情况下可能无法恢复数据,因此失去备份的意义

  • 3: 重要文件需要被完整存储 3 份,一份原件,两份拷贝。
  • 2: 三份文件需要被保存在至少 2 种不同的介质上,如 HDD、SSD、磁带、光盘等(不建议使用 U盘),同时电脑自带的硬盘和外置硬盘也可以视为不同介质,HDD/SSD 在家用场景下比较容易获取。
  • 1: 三份文件中至少有 1 份保存在异地。

3 份备份保证数据同时被毁的概率足够低,因为这个概率随着备份变多指数降低。

2 份不同介质是由于相同介质通常会由于相同的原因损坏,因此它们同时损坏的概率较高,例如一次电脑意外断电 可能 会同时导致你电脑里的所有 HDD 都挂掉,但 SSD 可能相对更不容易在这种情况下损坏;或者电脑中毒可能会导致电脑上的所有数据损坏,但外置硬盘不会受影响。不同介质保存数据的物理形式也不同,因此在相同的环境下同时损坏的概率较低。

1 份异地通常是考虑到自然灾害或者盗窃等的影响。异地不一定要很远,例如宿舍和实验室/公司/家里也可以算异地。这也可以通过各类可靠的云盘实现(*度云等可能会篡改你数据的云不在此列),且云盘比自行维护异地的物理存储更方便,因此更为推荐。

最简单且常见的例子是,在你的工作机上保存一份数据原件(通常在 SSD 中),同时定期(最好通过自动化的方式)将其拷贝到一份外置的机械硬盘中,这样就做到了 2 份文件 + 2 种介质,最后再在一个云盘中存储一份备份,即完成了 3-2-1 原则。

5. 常见备份方法

注1:本节中的 备份 和 同步 可能会被统称为备份。但狭义上,备份指将数据的某个状态保存到备份设备中,并可能包含压缩和去重等操作,同步则是连续地时刻维持两个设备上的数据相同。由于同步无法保证误操作删除数据时远端数据不被删除,因此其不能替代备份。

注2:可能有用户会使用 RAID,但这里认为任何形式的 RAID 都不是备份,也不能替代备份的功能。建议将 RAID 后的组作为单块介质看待。

本节主要介绍实现 3-2-1 备份的可用手段及工具。参考第 4. 节中的例子,我们假设数据原件在一台装有 SSD 的电脑中,并希望备份到一个本地外置硬盘 + 一个云

数据备份的间隔取决于你要备份数据的重要程度,例如你可以忍受几天的数据丢失。另外,任何里程碑式的数据更新(例如拍了一批新照片、有阶段性的工作成果)之后也建议完整备份数据。

5.1 本地备份

当你只需要备份少量重要数据文件(如文档等)时,你可以直接像平时使用移动硬盘一样备份这些数据:格式化外置硬盘(注意选择日志式文件系统,如 Windows 常见的 NTFS,或是 Ext4 等),在里面创建文件夹并存放你的文件。然后记得妥善保存这块外置硬盘。

在 Windows/Mac 下,你也可以借助一些数据同步软件来更便捷地完成这个过程,例如你总是需要将系统中的某个文件夹同步到外置硬盘中的另一个文件夹,这个机械化的操作可以通过一些第三方的数据备份工具/软件进行,在设置之后可以一键执行备份操作,也可以定时触发备份等。同时当你备份的文件夹包含较多备份过的重复文件时,这类软件提供的 diff 算法可能能更高效地完成备份(而不是像系统自带的资源管理器,需要覆盖每个重名文件)。

如果你在使用 MacOS,可以通过其自带的 Time Machine 完整地备份系统的多个快照,恢复到任意一个其中包含的时间点(包括系统状态和系统里的数据)。因此强烈建议 Mac 用户使用至少一块和系统硬盘一样大的外置硬盘来定期做 Time Machine。

Linux 用户可以使用 Rsync 进行备份,通过 cronjob/system service 进行定时操作,对于特定的文件系统(例如 Btrfs/Zfs),也可以使用快照的方式实现类似 Time Machine 的备份效果,但注意在同一块盘上创建的快照不能视为备份。请至少将其保存到另一个介质中。

当你需要备份一些不经常访问的冷数据时(例如归档学习资料),将它们压缩成压缩包后再进行备份操作效率会更高。一些专业的备份软件也会提供压缩和去重的操作,常见于一些商用 NAS 系统的备份工具,但这可能需要更复杂的条件和设备。

5.2 多端备份

你可以选择将数据备份到一块单独的介质中并保存到异地来实现这一点。不过使用云盘通常是一种更便捷的方式。本小节将介绍常见的云盘。

  • 国内云盘存放的数据可能会未经你的同意被泄露、删除、替换。在使用之前请认真考虑这一点。如果一定要使用,建议将数据加密并压缩再上传,且不要将鸡蛋放在一个篮子里。

  • 本节提到的云盘与科技服务队利益无关。

清华云盘

⚠️ 清华云盘会在毕业时被回收。因此一定注意在毕业前将其上的数据备份到其他地方。包括个人资料库及个人创建的群组资料库。

清华大学为学生提供了一个可用的云盘,可以通过校内账号访问,其 使用指南 介绍了细节。它基于 SeaFile 搭建,Web 界面 可以像普通网盘一样使用。同时 Seafile 也有客户端,可以在 Windows/Mac/Ubuntu/Debian/Fedora 及 Android/iOS 中使用。客户端支持同步盘和挂载盘两种模式。具体使用细节均在上述使用指南中被详细描述。

其中,同步盘 “可以实现将云盘资料库和本地文件夹(目录)关联和自动同步的功能。用户关联云盘资料库和本地文件夹后,客户端将自动同步本地和云端内容,本地和云端的文件和目录的新建、修改、删除、重命名等变化都会保持一致“,即将本地某个目录完全同步到云端,二者的文件会维持一致的状态。此时文件在本地云端各有一份。

同步盘在正确同步后,假设本地硬盘突然损坏,在云端应当能找到最后一次同步时的数据,起到备份的效果。但是由于同步会实时进行,可能会由于网络原因出现意料外的 Bug。同时如果在本地误操作删除/修改了同步盘中的文件,该操作可能会被即时同步到远端,因此这种同步的方式严格来讲不能算备份(即使删除操作可能可以通过 Seafile 的回收站找回)。

挂载盘则相当于将云盘资料库单独作为本地的一块磁盘使用,此时电脑上会多出一块虚拟的 “硬盘”,其被映射到云盘的资料库。与同步盘的区别在于,此时文件只在云端有一份,本地硬盘上并没有相关数据。因此可以将其作为网盘 Web 界面的本地版使用,可以较方便地实现将本地文件上传到云盘的操作。

上述方式可以根据需求选择,例如在 3-2-1 原则下:

  • 如果使用同步盘,则只需要维护本地文件夹和一块外置硬盘,本地文件夹会被同步到云端资料库,达到 3-2-1 的要求(由于这种同步方式严格来讲不能算备份,建议使用挂载盘模式)
  • 如果使用挂载盘,则本地源文件夹为一份数据,本地挂载盘即云端资料库,为一份远端数据,备份时需要同时将本地源文件夹中的数据备份到本地挂载盘和外置硬盘(二者操作几乎相同,因为这种情况下挂载盘和外置硬盘都可以视为单独的备份盘),达到 3-2-1 的要求。通过 Web 界面管理文件本质与挂载盘相同。

坚果云

国内网盘,提供不限量的免费空间,但是限制了每月上传 1GB、下载 3GB。优势是相对没有那么流氓,例如免费版也不会限速。其也提供了多平台的客户端,提供了普通网盘的使用体验。

同时其支持 WebDAV 协议(坚果云第三方应用授权WebDAV开启方法),因此可以在不适合安装客户端但支持 WebDAV 的系统下挂载(Windows/Mac/Linux 均可)。

阿里云盘/腾讯微云/百度云盘等

均为国内使用量比较多的云盘,此外还有联通/移动/电信等运营商的云盘和蓝奏云盘等。可以根据其定价策略和使用体验来选择。

OneDrive/iCloud

二者分别为 Windows 和 Mac/iOS 自带的云盘,分别需要微软账户和 Apple 账户使用。作为系统内置的云盘,其主要目标是实现多端同步(例如 Mac/iOS 设备间的照片、文档同步,多台 Windows 设备间的资料同步),它们均提供了一定量的免费空间(但比较小),且基本模式与清华云盘的同步盘模式相同,能够将系统的指定文件夹(桌面、文档、照片等)同步到远端,并让多台设备共享这些文件夹。由于同步严格来说不能算备份,因此不建议将它们视为备份手段。不再展开介绍。

同时,iCloud 还可能会由于 Apple 账号登出等原因导致本地数据被抹掉,又由于网络原因难以从云盘中重新下载,因此对于重要数据请遵循 3-2-1 原则并寻找其他备份手段。

Google Drive/Dropbox/Mega

均为国外网盘,适合有条件访问的人使用。

对象存储服务

这类服务通常是面向开发者的,使用起来可能不会有面向个人的云盘方便,因此只是提供一个思路。

且这类服务通常没有免费版,虽然某些情况下价格可以做到很低,例如 AliyunOSS 冷归档 50G 的数据只需要 9元/年。

一些云服务提供商会提供对象存储服务(例如阿里云 OSS、腾讯云 COS),其冷归档存储的计费较为便宜,以 Aliyun OSS 为例:冷归档数据需要至少存储 180 天,并且在取回时需要解冻(即等一段时间才能下载),上传不计费,取回时按数据解冻量收费,存储计费为 0.015元/GB/月,适合用于长期存储冷数据,即需要长期存储但几乎不会访问的(重要不常用的)数据,例如几年前的课程归档。

以 Aliyun OSS 为例,注册 Aliyun 账户后,可以参考 开始使用OSS 中的 使用 OSS 控制台

  1. 开通 OSS 服务
  2. 创建 Bucket(可以理解为一个资料库,所有设置都是以 Bucket 粒度区分的)
  3. 设置 Bucket (主要为存储类型,例如冷归档存储,并关闭传输加速等计费项)
  4. 在 Bucket 内创建文件夹并上传、下载

在 Bucket 创建后,也可以通过 开始使用OSS 中的 使用图形化管理工具ossbrowser 一节来获取一个客户端,通过客户端管理 Bucket 内的文件,达到类似使用网盘的效果,在备份的场景中是够用的。

在存储冷备份数据时,可以先在本地压缩并加密后再上传到云端,减少计费并保证数据安全,如果加密记得备份加密手段及密钥。

6. 不同成本的备份例子

本节列举多种不同成本(由低到高)的备份例子,供读者参考。选择方案时请综合考虑数据重要程度、数据量与数据访问/修改频繁程度。如果数据非常重要,则不需要拘泥于 3 份,可以选择更多份备份。

如果需要备份的数据性质明显不同,则对于不同数据可以选择不同的方式。例如古早的照片可能不需要经常修改、查看,但需要稳定保持,这类冷数据就建议放在移动机械硬盘中(并妥善存放),再留有至少一份放在云盘(或者是 OSS)中。而作业可能需要经常修改、查看,因此建议做 6.2 的双盘备份,在本地同步/备份会比较方便。对于代码类数据,则建议使用 Git 进行托管,但也需要在本地进行备份重要的 Commit/Tag 以便在 Git 误操作时挽救。

6.1 本机另一块硬盘同步 + 1个云盘

本方案最为简便,但容错差,数据重要时请从 6.2 开始

321 构成

  1. 源数据
  2. 电脑中的另一块硬盘(注意:Windows 下多个盘符不一定是不同硬盘)中的文件夹,保持数据与源数据同步
  3. 定期上传到任何云盘(清华云盘等),最好能自动上传

成本

  • 当电脑为固态 + 机械组合的笔记本、且云盘有一定白嫖容量时,这种方案几乎 0 成本
  • 如果电脑只有一块硬盘,则参考 6.2
  • 可以选择清华云或一些付费云盘以得到更好的体验

优点

  • 便宜
  • 本机双盘同步较为方便
  • 适合需要频繁修改、时效性短的数据,例如作业等

缺点

  • 容错低,本机出意外可能导致两块硬盘同时损坏(概率不容小觑)
  • 需要确保能够定期备份到云盘,过时的备份约等于没有备份
  • 上云数据要注意安全性

6.2 外置硬盘 + 1个云盘

本方案适合大部分人使用

321 构成

同 6.1,将其中的另一块硬盘换成外置硬盘

依据数据重要性,可以选择使用多块外置硬盘,并混合使用固态、机械硬盘,也可以在 6.1 的基础上增加一块外置硬盘

成本

  • 外置硬盘成本,例如现在(2023-04) 1T 的 NVME SSD 可能只需要 400 元人民币(或更低),加上不到百元的移动硬盘盒即可
  • 移动机械硬盘价格更低,但鉴于其容易由于震动等物理因素损坏,不建议将其作为“移动”用途,而是将数据备份到里面以后直接静置保存。且机械盘可能买到叠瓦盘,性能堪忧,需要做足功课
  • 除非要备份的是比较冷的数据,否则不建议移动机械硬盘方案

优点

  • 成本低
  • 容错率相对 6.1 更高

缺点

  • 本地备份相对 6.1 更麻烦(需要外接硬盘)
  • 移动硬盘要注意安全性(丢失、机械硬盘损坏等)
  • 移动固态硬盘要避免太久不上电

6.3 多云

鉴于许多云盘都有一定的白嫖容量,可以在 6.2 的基础上多选择几个适合自己的云盘供应商。这样的好处是不用担心某个云盘挂了。

6.4 私有云

本方案成本、技术要求较高,因此只是在此罗列而不详细介绍。对于普通用户的重要数据,只需要本地多外置硬盘备份 + 多云备份,基本就万无一失了