我已经在家工作多年了,随着 COVID-19 危机,数百万人加入了我的行列。教师、会计师、图书管理员、股票经纪人……你能想到的,这些员工现在都在家中全职或兼职工作。即使在冠状病毒危机结束后,许多人仍将继续在家工作,至少是兼职。但是,当家庭工作者的计算机发生故障时会发生什么?无论设备是智能手机、平板电脑、笔记本电脑还是台式机,也无论问题是硬件还是软件,都可能导致工作日延误和大量挫败感。
本文探讨如何确保高可用性的家庭计算。开源软件是关键。它提供了设备独立性,使家庭工作者可以轻松地在主设备和备份设备之间移动。最重要的是,它让用户可以控制他们的环境,这是实现高可用性的最可靠途径。这个基于开源的简单高可用性策略很容易根据您的需求进行修改。
针对不同情况的不同策略
我需要首先强调一点:不同的工作职能需要不同的解决方案。一些在家工作的人可以使用智能手机或平板电脑,而另一些人则依赖笔记本电脑,还有一些人需要高性能的台式工作站。有些人可以容忍数小时甚至数天的中断,而另一些人则必须不间断地可用。有些人使用公司提供的设备,而另一些人则必须提供自己的设备。最后,一些家庭工作者将其数据存储在公司的云中,而另一些人则自行管理其数据。
显然,没有一种单一的高可用性策略适合所有人。我的策略可能不是适合您的“答案”,但我希望它能促使您思考所涉及的挑战(如果您还没有这样做),并提供一些想法来帮助您在灾难发生前做好准备。
定义高可用性
无论家庭工作者使用何种计算设备,高可用性 (HA) 都涉及五个可互操作的组件
- 设备硬件
- 系统软件
- 通信能力
- 应用程序
- 数据
HA 计划必须包含所有五个组件才能成功。缺少任何组件都会导致 HA 失败。
例如,昨晚,我处理了一个基于云的电子表格。如果我的通信链路出现故障,并且我无法访问我的云数据,这将阻止我进行该项目的工作……即使我在备份计算机中拥有所有其他 HA 组件。
当然,也有例外。假设昨晚的电子表格存储在我的本地计算机上。如果该设备发生故障,只要我有一台包含我数据的备份计算机,即使我没有互联网访问权限,我也能继续工作。
要成功成为高可用性的家庭工作者,您必须首先确定您的工作所需的组件。完成之后,制定一个计划,即使一个或多个组件发生故障,也能继续工作。
重复替换
一种方法是创建重复替换。在备份设备上拥有完全相同的硬件、软件、通信、应用程序和数据,可以保证您在主设备发生故障时可以工作。这种方法很简单,但保持完整的备份可能成本更高。
为了节省开支,您可以与您的家人或室友共享计算机。与专用备份相比,共享备份总是更具成本效益,只要您在需要时对共享计算机具有最高优先级。
功能替换
重复替换的替代方案是功能替换。您用一个等效的工作组件来替换发生故障的组件。假设我正在使用我的家用笔记本电脑工作,并通过家庭 WiFi 连接。我的互联网连接失败。也许我可以将我的计算机连接到我的手机并使用蜂窝网络。我通过用等效技术替换一种技术来实现 HA。
了解您的需求
除了五个 HA 组件之外,请务必确定您拥有的任何特殊需求。例如,如果移动性很重要,您可能需要用另一台笔记本电脑来替换损坏的笔记本电脑,而不是台式机。
HA 意味着识别您需要的所有功能,然后确保您的 HA 计划涵盖所有功能。
时间安排、计划和测试
您还必须定义您的恢复时间范围。您是否必须能够在发生故障后立即继续您的工作?或者您是否有时间可以反应的奢侈的停机时间?
允许的停机时间越长,您拥有的选择就越多。例如,如果您可以错过几天的工作,您可以简单地将损坏的设备送到维修店。无需备份。
在本文中,我所说的“高可用性”是指在发生故障后,在很短的时间内(可能少于一个小时)恢复工作。这通常需要您可以访问可立即使用并准备就绪的备份设备。虽然有时您可以在几分钟内恢复您的主设备——例如,通过解决故障或快速更换有缺陷的硬件或软件——但备份计算机通常是 HA 计划的一部分。
HA 需要计划和准备。“即兴发挥”是不够的;通过事先测试来确保您的备份计划有效。
例如,假设您的数据驻留在云中。这些数据可以从任何位置的任何设备访问。这听起来很理想。但是,如果您忘记了在您的故障计算机上本地存储了一小部分但至关重要的数据怎么办?如果您无法访问这些重要数据,您的 HA 计划就会失败。一次试运行会发现此类问题。
智能手机作为备份
我们软件工程和支持部门的大多数人在家中使用笔记本电脑和台式机。智能手机和平板电脑是有用的辅助工具,但它们不是我们工作的核心。
主要原因是屏幕尺寸和键盘。对于软件工作,您无法通过小屏幕和触摸屏键盘获得与大显示器和物理键盘相同级别的生产力。
如果您通常使用笔记本电脑或台式机,并选择智能手机或平板电脑作为备份,请事先进行测试,以确保它足够使用。这是一个否则可能会让您绊倒的微妙之处的示例。大多数视频会议平台都可以在智能手机和笔记本电脑或台式机上运行,但它们的移动应用程序可能在细微但重要的方面有所不同。即使该平台确实提供了相同的体验(例如 Jitsi),但由于移动设备的外形与大型计算机屏幕和各种输入选项的差异,共享图表、幻灯片和文档以及使用聊天功能等都可能很麻烦。
智能手机是方便的备份设备,因为几乎每个人都有一部。但如果您指定它作为您的功能替换,那么有一天尝试使用它来工作,以验证它是否满足您的需求。
数据可访问性
当您的主设备发生故障时,数据访问至关重要。即使您备份了您的工作数据,如果设备发生故障,您可能还需要 VPN 或 SSH 访问的凭据、专用软件或可能未与您的日常文档和目录一起存储的数据形式。您必须确保在为自己设计备份方案时,包含所有重要数据并安全地存储加密密钥和其他访问信息。
保持工作数据安全性的最佳方法是使用您自己的服务。运行 Nextcloud 或 Sparkleshare 很简单,而且托管费用也很便宜。两者都是自动化的:您放置在专门指定目录中的文件会与您的服务器同步。它不完全是构建您自己的云,但它是利用云为您自己的服务提供支持的好方法。您可以使用诸如 Syncthing、Bacula 或 rdiff-backup 之类的工具使备份过程无缝进行。
云存储使您可以从任何位置的任何设备访问数据,但只有在发生故障事件后您有到云存储的实时通信路径时,云存储才能工作。并非所有云存储都满足所有项目的隐私和安全规范。如果您的工作场所有云备份解决方案,请花一些时间了解云供应商的服务,并了解它承诺的可用性级别。检查其实现目标的记录。并务必设计一种备用方式来访问您的云,以防您的主通信链路发生故障。
本地备份
如果您将数据存储在本地设备上,您将负责备份和恢复它。在这种情况下,将您的数据备份到备用设备,并验证您是否可以在可接受的时间范围内恢复它。这是您的恢复时间。
您还需要保护这些数据,并满足您的雇主指定的任何隐私要求。
可接受的损失
考虑一下在发生中断时您可以承受损失多少数据。例如,如果您每晚备份您的数据,您最多可能会丢失一天的工作(在前一次夜间备份之前一天完成的所有工作)。这是您的备份数据时效性。
开源提供了许多免费的应用程序,用于本地数据备份和恢复。通常,用于远程备份的相同应用程序也可以应用于本地备份计划,因此请查看 Opensource.com 上的 高级 Rsync 或 Syncthing 教程文章。
许多人喜欢结合云存储和本地存储的数据策略。在本地存储您的数据,然后使用云作为备份(而不是在云上工作)。或者反过来(尽管自动将云备份推送到您身边比自动将您的本地计算机备份推送到云上更困难)。将您的数据存储在两个不同的位置可以为您的数据提供地理冗余,这在任何一个站点不可用时都很有用。
稍作准备,您就可以制定一个简单的计划,无论发生什么故障,都可以访问您的数据。
我的高可用性策略
作为一个实际例子,我将描述我自己的HA(高可用性)方法。我的目标是恢复时间在一小时或更短时间内,备份数据的时间性在一天之内。

(Howard Fosdick, CC BY-SA 4.0)
硬件
我使用Android智能手机进行通话和音频会议。如果我的主手机出现故障,我可以从其他家庭成员那里获得备用手机。
不幸的是,我的手机尺寸小,触摸键盘意味着我不能将其用作备用计算机。相反,我依赖于几台具有标准、可互换部件的通用台式电脑。您可以使用这个简单的免费的操作指南轻松维护此类硬件。您不需要任何硬件经验。
开源软件使我的多机策略成为可能,并且价格实惠。它运行效率如此之高,即使是10年前的计算机也可以很好地用作典型办公室工作的备份。我的电脑是双核台式机,具有4GB的RAM和任何能通过干净验证的磁盘。这些电脑非常便宜,您通常可以从回收中心免费获得它们。(在我的慈善工作中,我发现很多人都把它们扔掉,认为它们不适合运行当前的专有软件,但实际上,如果使用像Linux这样灵活的操作系统,它们就能完美运行。)
另一种节省资金的方法是将另一个家庭成员的计算机指定为您的共享备份。
系统软件和应用
在此通用硬件上运行开源软件使我能够获得多种好处。首先,开源软件的灵活性使我能够解决任何可能的软件故障。例如,使用简单的操作系统命令,我可以跨分区、磁盘或计算机复制、移动、备份和恢复操作系统、应用程序和数据。我不必担心软件约束、供应商锁定、专有备份文件格式、许可或激活限制,或额外费用。
开源的另一个好处是您可以控制您的操作系统。如果您无法控制自己的系统,则可能会受到强制重启、意外和不需要的更新以及强制升级的影响。我的亲戚不止一次遇到过这样的问题。在未经他知情或同意的情况下,他的计算机突然启动了从Windows 7到Windows 10的强制升级,这使他损失了三天的收入(以及难以言喻的挫败感)。教训是:您的供应商的议程可能与您自己的议程不一致。
所有操作系统都有错误。不同之处在于,开源软件不会强迫您忍受它们。
数据分类
我使用非常简单的技术来使我的数据高度可用。
由于隐私要求,我无法使用云服务来存储我的数据。相反,我的数据“主副本”驻留在USB连接的磁盘上。我将其插入到任何几台计算机中。每次会话之后,我都会备份我在计算机上修改过的任何数据。
当然,只有在备份运行速度很快的情况下,此方法才是可行的。对于大多数家庭工作者来说,这很容易。您要做的就是按大小和更新频率来隔离您的数据。
将照片、音频和视频等大文件隔离到单独的文件夹或分区中。确保仅备份新的或修改过的文件,而不是已备份的旧项目。
我的大部分工作都涉及办公套件。这些文件生成小文件,因此我将每个项目隔离在自己的文件夹中。例如,我将用于撰写本文的二十几个文件存储在单个子目录中。备份它就像复制该文件夹一样简单。
稍微考虑一下数据隔离,并且仅备份修改过的文件,这样可以确保大多数家庭工作者可以进行快速、简便的备份。我的方法很简单;如果您在一次会话中仅处理几个项目,则效果最佳。并且我可以容忍丢失一天的工作。您可以轻松地为自己自动化一个更完善的备份方案。
对于软件开发,我采用完全不同的方法。我使用软件版本控制,它可以透明地为我处理所有软件备份问题,并与其他开发人员进行协调。我在该领域的高可用性计划仅侧重于确保我可以访问在线工具。
通信
像许多家庭用户一样,我通过蜂窝网络和互联网进行通信。如果我的互联网中断,我可以将我的笔记本电脑连接到我的Android智能手机,从而改用蜂窝网络。
从失败中学习
使用我的策略15年,我的表现如何?我经历了哪些失败,结果如何?
- 主板烧毁:有一天,我的电脑无法开机。我只是将我的USB“主数据”外部磁盘移动到另一台计算机并使用它。我没有丢失任何数据。经过一番调查,我确定是主板故障,所以我报废了电脑并将其用作零件。
- 驱动器故障:我在工作时,内部磁盘发生故障。我只是将我的USB主磁盘移动到备份计算机。我丢失了10分钟的数据更新。下班后,我通过从另一台计算机复制一个磁盘来创建了一个新的启动盘——这只有开源软件才能提供灵活性。第二天我使用了受影响的计算机。
- 致命的软件更新:一个更新导致重要登录服务发生故障。我转移到尚未应用致命更新的备份计算机。我没有丢失任何数据。下班后,我搜索了有关此问题的帮助,并在一个小时内解决了它。
- 显示器烧毁:我的显示器烧坏了。我只是换了一个备用显示器,然后继续工作。这花费了10分钟。下班后,我确定问题是烧坏的电容器,所以我回收了显示器。
- 停电:现在,这是一个我没有计划的情况!一场龙卷风使我们整个城镇的电力中断了两天。我了解到,人们应该仔细考虑所有可能的意外情况,包括替代工作场所。
制定你的计划
如果您在家工作,则需要考虑当您的家用计算机发生故障时会发生什么。否则,您可能会在忙于解决问题时遇到令人沮丧的工作日。
开源软件是关键。它在较旧、更便宜的计算机上运行得非常高效,以至于它们成为价格合理的备份机器。它提供了设备独立性,并确保您可以设计出最适合您的解决方案。
对于大多数人来说,确保高可用性非常简单。诀窍是提前考虑。创建一个计划然后对其进行测试。
3 条评论