1 综述
1. 1 相关术语
- 服务器 ( Server )
从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统 。从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。相对于普通PC来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。
- LINUX服务器 ( Linux Server)
指运行着Linux操作系统软件平台的服务器系统,公司目前主要的LINUX操作系统是CentOS7。
- 备份、恢复
在系统稳定运行的时候,对系统里的所有文件或关键文件数据拷贝成一个文件,存储于其它的存储空间(磁带、硬盘等)进行保存,当系统发生问题时,可以通过这个拷贝文件将系统恢复到系统正常运行时候的状态,在这个过程中拷贝成文件的操作称为备份,发生故障时将这个文件还原到系统中称为恢复
- 存储介质
备份所存放数据的物理载体,存储介质可以是硬盘、光盘、磁盘阵列等。
- 介质生命周期
备份介质可以正常被使用的时间或次数定义。
- 备份保存周期
备份保存周期指备份完成后,存储在备份介质上的数据需保留的时间长度,在此期间,该备份介质上的数据不可删除,等备份保存周期过后,可进行备份介质的重复性使用。
1.2 备份目的
在服务器业务系统的日常运行过程中,可能会存在人为误操作或者一些无法预见性的事件发生,最终导致数据丢失。如何最大程度的减小数据丢失,在最短的时间内恢复数据,减轻对业务系统影响,因此制定出一套合理、完善的备份、恢复解决方案显得尤为重要。
通过定期对服务器系统执行合理、完善的备份策略,可以确保在必要时最大限度的减少业务停机时间以及数据丢失所带来的影响,提高系统可用性以及数据完整性。前提条件是备份都是经过验证的,可恢复的。
1.3 备份方法
备份内容主要是针对服务器运行的操作系统和一些系统关键配置信息进行备份。
数据库备份方法 | 优点 | 缺点面 | 适用范围 |
完整备份(Full Backup) | - 恢复简单,包含整个数据库。 | - 需要大量的存储空间和时间。 | - 定期基础备份,适用于灾难恢复。 |
- 适用于灾难恢复或新数据库的恢复。 | - 备份过程可能会影响数据库性能。 | - 数据库规模小,数据重要性高。 | |
差异备份(Differential Backup) | - 恢复速度较快,仅需完整备份和最近的差异备份。 | - 备份文件大小随着时间逐渐增大。 | - 定期基础备份,适用于快速恢复。 |
- 恢复过程相对简单。 | - 需要大量时间备份差异数据。 | - 数据变化频率中等,恢复速度较重要。 | |
增量备份(Incremental Backup) | - 备份速度快,只备份自上次备份以来的更改。 | - 恢复过程可能比较繁琐,需要多次应用增量备份。 | - 数据密度变化,存储空间有限。 |
- 节省存储空间,只备份更改的数据。 | - 若某些增量备份损坏,后续备份可能无法恢复。 | - 数据量大,恢复时间要次要。 | |
连续备份(连续备份) | - 数据几乎实时备份,最小化数据丢失。 | - 备份过程对数据库性能产生微小影响。 | - 对数据最小化丢失要求高,恢复速度较快。 |
- 恢复点更接近灾难事件发生时的状态。 | - 可能需要特定的硬件和软件支持。 | - 关键业务数据库,数据一致性很重要。 | |
热备份(Hot Backup) | - 在运行时备份数据库,无需经常。 | - 需要特定的数据库管理系统支持。 | - 关键数据库24/7运行,时间敏感。 |
- 适用于对系统时间有严格要求的情况。 | - 可能需要额外的许可或插件。 | - 大型企业数据库,业务连续性要求高。 |
1.4 备份策略
备份策略是根据服务器分类级别定义,针对服务器系统备份内容制定出合理的备份频率、备份数量、保存周期定义,满足业务对服务器系统的安全性和可恢复性要求。
备份策略说明:
备份可分为两大类,周期性备份和临时变更备份。
此备份策略针对系统无变更时服务器系统日常运维所需执行的周期性备份操作。
- 完整备份:每周执行一次,保留一份完整的数据副本,以确保基准数据的完整性。
- 差异备份:每日执行一次,建立在完整备份基础上,仅备份当天数据的变化部分。
- 增量备份:每日执行一次,备份自上次备份以来的新增数据。
1.5 备份记录
在完成一次备份操作后,服务器备份管理员需要将此次备份的信息登记维护,包含服务器主机名、备份时间、备份大小、消耗时间、介质编码、存放地点,确保备份记录信息的完整性,同时,通过备份记录表可以很方便找到恢复所需的介质设备编码及存放地点。
1.6.数据分类和重要性
对公司数据进行分类,例如:
- 关键数据:包括客户信息、财务数据等,对业务运营至关重要。
- 重要数据:涵盖产品文档、合同信息等,对业务流程有重要支撑作用。
- 次要数据:包括临时文件、测试数据等,对业务影响较小。
2 备份规划
2.1 备份选择软件
选择适合需求的备份软件,如Veeam Backup & Replication、Acronis Backup、Bacula等。确保备份软件支持操作系统和环境。
2.2 准备备份服务器
获取一个专门的服务器用于备份,这可以是物理服务器或虚拟机,取决于需求和资源。确保备份服务器具有足够的计算资源和存储空间。
2.3 安装操作系统
在备份服务器上安装合适的操作系统,通常是稳定的Linux发行版本,如CentOS7。确保操作系统已经进行了基本的安全设置。
2.4 安装备份软件
根据备份软件的官方文档,在备份服务器上安装和配置备份软件。按照最佳实践进行设置,以保证备份的可靠性和效率。
2.5 配置备份存储
设置备份存储目录,这将是备份数据的存储位置。您可以选择使用独立的硬盘、网络存储设备(如NAS)或云存储作为备份存储。
2.6 制定备份计划
根据业务需求和数据重要性,制定备份计划。确定哪些数据需要备份、何时进行完整备份、增量备份或差异备份,以及保留备份数据的时间周期。
2.7 配置备份源
将需要备份的服务器、数据库、文件等添加到备份软件中作为备份源。确保备份软件可以正确访问这些源。
2.8 测试备份和恢复
在配置好备份后,进行一次完整备份,并测试恢复过程。确保您可以从备份中成功恢复数据。
2.9 设置监控和警报
配置监控系统,定期检查备份作业的状态和健康状况。设置警报,及时通知您备份过程中的问题。
2.10 安全和加密
考虑在备份过程中使用加密来保护备份数据的安全性。确保数据在传输和存储中都得到适当的加密保护。
2.11 自动化和调度
设置备份作业的自动化和调度,确保备份按照预定计划执行。确保备份过程的一致性和可靠性。
3 备份流程
3.1 差异备份执行流程:
- 每天晚上自动执行差异备份。
- 检查上次完整备份的时间,确定差异备份的基准点。
- 备份发生当天变化的数据到指定的备份存储位置。
- 记录备份操作的开始时间、结束时间和状态。
- 检查备份日志,确认备份成功后发送通知。
3.2 完整备份执行流程:
- 每周执行一次完整备份,通常在业务相对空闲的时间进行。
- 将完整的数据副本备份到指定的备份存储位置。
- 记录备份操作的开始时间、结束时间和状态。
- 定期检查备份数据的一致性,以确保数据没有损坏。
3.3 增量备份执行流程:
- 执行增量备份前,确认差异备份和完整备份的状态。
- 备份自上次备份以来新增的数据变化。
- 记录备份操作的开始时间、结束时间和状态。
- 确保备份数据被准确地标记和存储。
3.4 监控和通知流程:
- 设置监控系统,定期检查备份作业的状态和健康状况。
- 监测存储容量,预防存储不足的情况。
- 如果备份出现问题,触发自动化警报并通知备份管理员。
- 针对异常情况进行分析,并采取适当的纠正措施。
3.5 恢复测试流程:
- 定期灾难模拟事件,启动恢复测试。
- 根据灾难恢复计划的步骤,逐步执行恢复操作。
- 检查恢复数据的准确性和缺陷。
- 恢复记录测试结果,评估整个过程的成功程度。
3.6 更新备份规划流程:
- 定期评估备份策略的效果,根据业务增长和技术变化进行调整。
- 如果需要调整备份策略,及时更新备份规划文档。
- 与团队成员分享更新的备份规划,确保每个人都了解变化。
3.7 灾难恢复流程:
- 在发生灾难性事件时,触发灾难恢复计划。
- 恢复小组根据预先设定的步骤,逐步执行恢复操作。
- 确保按照恢复时间目标(RTO)加速使业务恢复正常。
- 恢复完成后,进行验证,确保数据的完整性和一致性。
3.8 文档和沟通流程:
- 编写详细的备份流程文档,包括操作步骤、命令、工具等信息。
- 与备份管理员和团队成员定期开会,沟通备份流程的最新情况。
- 保持开放的反馈渠道,鼓励团队提出改进建议和问题。
4 恢复计划
4.1 灾难小组恢复:
- 确定灾难恢复小组成员,包括备份管理员、IT运维人员、业务代表等。
- 明确各个成员的职责和责任,确保团队成员知道在灾难事件中应该采取的行动。
4.2 通信和警报:
- 设定应急通信渠道,确保灾难事件发生时可以快速联系到恢复小组成员。
- 设置警报系统,自动发送通知给关键成员,以便他们了解灾难事件的状态。
4.3 启动过程恢复:
- 在灾难事件发生后,由灾难恢复小组启动恢复计划。
- 确认灾难事件的类型和影响范围,判断是否需要启动完整的恢复流程。
4.4 数据备份恢复:
- 根据灾难恢复计划中的步骤,逐步恢复备份数据。
- 选择合适的备份点,开始恢复关键数据和系统。
4.5 系统恢复:
- 恢复关键系统和应用程序,确保它们能够运行并提供业务功能。
- 验证系统的缺陷和正确性,确保业务能够正常运行。
4.6 测试恢复结果:
- 在恢复过程完成后,进行系统测试,确保所有业务流程都能够正常工作。
- 检查数据的一致性和准确性,确保数据没有损坏或遗失。
4.7 业务验证和恢复时间目标(RTO):
- 验证业务是否已完全恢复,进行测试以确保业务连续性。
- 比较实际恢复时间与设定的恢复时间目标(RTO),评估是否达到预期。
4.8 恢复点目标(RPO)验证:
- 验证恢复后的数据是否与恢复点目标(RPO)一致。
- 保证恢复数据的时间点是满足业务需求的。
4.9业务恢复确认和通知:
- 确认业务已经完全,恢复所有关键系统和应用程序均正常运行。
- 通知相关利益相关者,包括员工、客户和合作伙伴,获悉的业务已经恢复。
4.10 恢复后的措施:
- 在业务恢复后,评估灾难事件的影响和原因。
- 与团队成员和业务代表讨论恢复过程中的经验教训,以便今后改进备份策略。
4.11文档恢复更新:
- 更新恢复计划文档,包括本次恢复事件的详细情况和结果。
- 确保恢复文档并保留最新和详细信息,以备将来参考。
5 自动化管理建议
服务器的自动化管理指的是利用一些业界成熟的管理工具实现对服务器安装、配置、维护以及安全漏洞检查等操作的自动化管理,它的优点主要是:
- 操作自动化 — 减少人为错误,发现潜在问题,防患于未然
- 扩充服务器能力 — 提供快速的服务器裸机安装
- 安全性 — 确保所有的服务器补丁更新
- 合规性 — 快速的查看每台服务器的合规状态
- 可见性 — 动态查看服务器硬件/软件资产状态以及性能状态
- 高效性 — 众多作业并发运行