无论购买服务器托管到数据中心,还是租用服务器,您都不必成为服务器专家,但您需要定期维护它。服务器每天 24
小时运行,每周执行数百万次交互。所有这些都会造成硬件,软件,数据库和服务器的磨损。老旧的服务器设置将不足以处理日益增加的交互数量。服务器软件将容易受到新的攻击,SQL
表将变得支离破碎,硬盘最终会降级甚至崩溃,最终可能导致服务质量低下,数据丢失或信息被盗。
其实所有这些都很容易预防。你所需要的只是一个计划:服务器维护计划。您需要在不同的时间段检查服务器中的不同内容。
一、服务器维护计划包括哪些内容?
1. 日常维护
• 软件更新:防病毒和软件更新可以在任何一天进行。
• 安全日志审核:滥用用户,网站访问者或僵尸程序可能会从合法用户那里夺走资源,应该尽快阻止。
• 漏洞披露:软件供应商和安全渠道报告未经修补的漏洞或攻击。紧急修补将保护您的数据。
2. 每周:检查您的备份。如果备份不可用,您将只丢失一周的数据。
3. 双周:审核磁盘使用情况,包括老旧帐户,未完成的备份,旧的临时文件等会占用磁盘空间,从而导致磁盘空间问题。
4. 每月一次:优化数据库。繁忙的数据库在一个月内可能产生 3% – 5%的碎片。
5. 双月:调整应用程序。由于流量模式可能会在两个月内发生变化,因此未经优化的设置会影响速度。
6. 一天 24 小时:监控服务器运行状况。可以通过负载高峰等早期迹象发现服务器故障。早期检测可以防止完全停机。您需要检测的内容包括 RAID
健康、服务器温度、负载平均值、网络连接等。
二、如何构建适合您的服务器的维护计划
您可以根据服务器维护活动的目标,来细分服务器维护活动,然后找出实现该目标需要完成的工作。例如:
紧急响应,您需要知道您的服务器是否发生了不好的事情,您需要在出现问题时快速恢复服务。预防措施包括:主动审核和检查系统,以防止可能的服务降级或误用。它可能包括:安全检查,绩效审计,资源使用审核等。保险措施包括:备份审核,镜像故障转移测试,高可用性测试。
三、制定应急响应计划
可能出现故障的软件和硬件组件类型在数据库服务器,邮件服务器和 Web
或应用程序服务器中会有所不同。因此,没有一个适合所有人的列表,来列出服务器中需要监控的所有故障。您需要考虑一下服务器可能出现故障的常见方式,以及如何及早发现它们。例如:Web
服务器可能存在以下问题:
• 容量错误(流量的突然增加可能耗尽内存,并使磁盘过载,导致响应迟缓);
• 用户滥用(在共享环境中,某些用户可能会运行资源繁重的脚本,从而导致服务器负载);
• 网络攻击(僵尸网络通过在网站上执行数千个同步查询来完成大规模攻击);
• Buggy 脚本(编码不良的脚本可能导致内存泄漏或其他资源过度使用);
• 网络故障(Web 服务器可能会丢失与后端数据库服务器或其他应用服务器的连接);
• 硬件错误(从 RAID 降级到温度问题,各种各样的问题都可能导致服务器运行不良或冻结);
• 恶意软件注入(黑客可能会使用未公开的漏洞将恶意软件注入服务器);
• IP / 网站声誉问题(搜索引擎可以检测到恶意软件注入的网站从而降低网站权重)等等。
为预防这些故障,您需要每周 7 天,每天 24 小时监控与这些问题相关的服务器参数。它可能包括负载均衡,内存使用,I / O 使用等。在列出适合您的服务器类型的所有这些方案和服务器参数后,列出您需要采取的操作以使服务重新联机。紧急行动需要提前考虑,因为您没有时间停下来思考服务何时失败。
四、制定预防性维护计划
预防性维护的目标是审核和调整服务器和服务的每个部分,以便它不会失败。同样,您需要检查的内容将根据您运行的服务器类型而有所不同。我们来看一个数据库
SQL 服务器的例子。MySQL 服务器维护计划将包括:
• 碎片整理(又名表优化):数据库中频繁的 “删除” 会使表格碎片化。每月优化一次表,以防止性能问题和可用空间的损失。
• 分析(优化索引):MySQL 使用索引快速查找所需的数据。大约每月运行一次 “分析” 以简化索引,并使查询执行更快。
• 完整性检查:有时,由于数据库崩溃或应用程序错误,MySQL 索引会丢失对数据集的跟踪。每周检查数据库完整性以防止查询错误。
• 磁盘运行状况检查:服务器日志中记录了 HDD 或 RAID 错误。此类错误是即将发生故障的早期指示,您可以采取措施更换磁盘。
• 空间使用检查:您的数据库需要增长空间,进行备份和进行大型事务。每月检查一次陈旧文件,临时文件或旧备份。
• 群集效率分析:数据库群集应有效地同步数据,以防止查询延迟和数据错误。早期检测同步滞后可以防止代价高昂的数据库崩溃。
• 错误日志审核:如果 MySQL 服务器检测到索引或表损坏,则会记录错误。定期错误日志审核将防止意外停机。
• 慢查询分析:MySQL 会将执行效果不佳的查询记录到文件中。对这些查询和服务器调整的每周分析可能会阻止性能日志。
• 服务器速度审计:每月速度测试可以显示 MySQL 服务器执行查询的效率。通过及早发现和修复瓶颈,您可以避免性能问题。
五、规划灾难恢复
您的服务器硬盘迟早会失败。有些数据可能会丢失。那时的重要问题是,“你多久能恢复?” 如果您已准备好应对这种可能性,那么它可能只需 1 分钟。
在,我们维护着 Web
主机,数据中心和其他在线服务提供商的服务器。我们的每个客户都有不同级别的可用性要求。有些人可以忍受数小时的停机时间。有些人甚至不能容忍一分钟的停机时间。
因此,我们部署了广泛的解决方案,以确保业务连续性,从高可用性集群和容错硬件到故障转移镜像和增量备份。至少,您的灾难恢复计划应包括备份审核。一些检查是:
• 状态检查:备份是否每天都成功完成?它显示错误了吗?
• 数据完整性检查:备份存档是否已损坏?是否可以从中检索数据?
• 磁盘空间检查:磁盘空间不足?是否有空间接收下周的档案?
• 恢复过程检查:当前恢复方法是否有效?是否存在连接错误或其他阻止快速恢复的问题?
构建灾难恢复计划的出发点是问自己,您希望能够以多快的速度恢复服务。然后向后工作所需的系统,涉及的成本,以及您愿意接受的权衡。
上一篇:香港服务器管理的六大流程