一、服务器维护计划包括哪些内容?
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分钟。