提供:ZStack云计算

系列教程

本教程为生产环境构建指南:Web应用系列六篇中的第三篇。

内容介绍

现在我们已经拥有了自己的示例应用设置,接下来为其构建一套恢复规划。所谓恢复规划是一套配备文本记录的规程集合,用于在服务器设置内恢复潜在故障或者管理错误。另外,创建这样一套恢复规划还能帮助大家掌握应用服务器设置内的组件与数据。

作为最简单的恢复规划类型,服务器故障恢复规划可能包含一套步骤列表,用于执行初始服务器部署,同时立足于备份恢复应用数据。另外,大家也可以选择更理想的恢复规划,即拥有良好的说明文档、使用部署脚本及配置管理工具,例如Ansible、Chef或者Puppet,旨在帮助我们以自动方式快速完成恢复流程。

在今天的教程中,我们将探讨如何为示例WordPress应用创建一套基础恢复规划。大家的需要可能有所区别,但今天的内容能够在原则上提供有益的指导。

恢复规划要求

我们的基本要求是能够在设置中对任意服务器进行恢复,且恢复范围涵盖应用功能与数据(且时间周期合理)。为了达成这一目标,我们将创建一套服务器列表,检测需要备份的数据,同时以可用资源为基础编写恢复规划。当然,如果任意恢复规划得以执行,应用还需要接受测试以验证其已经得到正确恢复。

在这套恢复规划中,我们将面向应用中的每种服务器类型:

  • 数据库服务器
  • 应用服务器
  • 负载均衡服务器

下面首先从数据库服务器开始。

数据库服务器

经过梳理,我们可以确定数据库服务器通过以下步骤完成创建:

  1. 安装MySQL
  2. 配置MySQL
  3. 重启MySQL
  4. 创建数据库与用户
数据库服务器恢复规划

在回顾数据库服务器创建流程时,我们可以看到其能够根据数据库自身内容进行重新创建。以我们的WordPress为例,其中大部分应用数据都被存储在该数据库内。这意味着我们必须保留该数据库的备份,从而对数据库服务器进行恢复。我们还需要备份MySQL配置文件,因为不同服务器的配置可能经过了一定修改。

根据数据库服务器列表,下面对数据库服务器恢复规划进行总结:

必要备份:

  • MySQL数据库
  • MySQL配置

恢复步骤:

  1. 安装MySQL
  2. 恢复MySQL配置文件,并在必要时更新监听IP地址
  3. 恢复数据库
  4. 重启MySQL

现在,我们的数据库服务器恢复规划已经基本就绪,接下来就是执行具体恢复步骤并确保保留必要备份。这部分内容我们在今天的文章不会太多讨论。在本示例中,我们可以使用应用部署教程作为说明文档,大家参考其即可完成恢复流程。

应用服务器

回顾各个步骤,我们可以汇总出应用服务器的创建流程:

  1. 安装并配置Apache与PHP
  2. 下载及配置应用(WordPress)
  3. 将各应用文件复制至DocumentRoot
  4. 将应用文件复制至各应用服务器
应用服务器恢复规划

我们的应用服务器可根据各应用文件进行重新创建。在本WordPress示例中,各应用文件包括WordPress配置文件(包含数据库连接信息)、已安装WordPress插件与文件上传。这意味着我们必须保留各应用文件的备份以恢复应用服务器。

由于应用文件需要被复制到多套应用服务器上,因此我们只需要在全部应用服务器皆出现故障或者数据库受损的情况下,才进行数据恢复。只要至少一个应用服务器尚能正常运行,且拥有正确的应用文件,则直接将其复制到新应用服务器上即可。

基于我们的应用服务器列表,下面制定应用服务器恢复规划:

必要备份:

  • 应用文件(本示例中为/var/www/html/)

恢复步骤:

  1. 安装并配置Apache与PHP
  2. 复制来自工作中应用服务器的应用文件
  3. 如果应用文件无法复制(全部应用服务器皆出现故障),则利用备份进行恢复

现在我们已经基本勾勒出了应用服务器恢复规划,请大家把实际执行当成小练习自行尝试。不同设置会有不同的操作方式,大家可以根据我们的恢复步骤完成自己的恢复流程。

负载均衡服务器

通过回顾各步骤,我们可以将负载均衡服务器创建归纳为以下流程:

  1. 获取SSL证书与相关文件
  2. 安装HAProxy
  3. 配置HAProxy
  4. 重启HAProxy
负载均衡服务器恢复规划

我们可以利用SSL证书相关文件重新创建负载均衡服务器。这意味着我们必须保留SSL证书文件备份,并将HAProxy配置文件纳入备份范畴。

根据负载均衡服务器列表,让我们勾勒出负载均衡服务器恢复规划:

必要备份:

  • SSL证书(PEM)与相关文件
  • HAProxy配置文件

恢复步骤:

  1. 恢复SSL证书文件
  2. 安装HAProxy
  3. 恢复HAProxy配置文件
  4. 重启HAProxy

现在我们已经勾勒出了负载均衡服务器恢复规划,具体流程请大家作为练习自行尝试。

其它注意事项

如果某一需要恢复的组件必须配合其它组件,请确保将对应步骤纳入恢复规划。

大家可能还需要为设置中的其它组件设置恢复规划,例如我们的DNS,外加一切可能未来需要的组件,包括备份服务器、监控与日志记录。随着服务器设置的演进,大家应当对现有恢复规划进行迭代。

在今天的教程中,我们还没有谈到如何创建与恢复备份,这方面内容将在后续文章内提及。

总结

在为各服务器筹备了恢复规划后,大家应当确定其中包含一切执行恢复所必需的信息,并根据服务器设置进行调整。

在下一篇教程中,我们将探讨支持全新恢复规划的根源所在——生产环境构建指南:Web应用——备份

本文来源自DigitalOcean Community。英文原文:Building for Production: Web Applications — Recovery Planning By Mitchell Anicas

翻译:diradw

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐