发布于:2021-01-08 01:25:24
0
849
0
服务器不需要以换油和胎压检查的形式进行维护,但是在许多方面,拥有充当服务器的计算机设备有点像拥有车辆。驾驶汽车不涉及工程技能,并且运行服务器不需要您成为硬件工程师或软件开发人员。
驾车时,您需要掌握一些基本知识,换油和轮胎压力检查以及不定期的保养。以同样的方式,服务器需要例行维护,而不仅仅是每月支付托管费用。您的服务器需要大量的定期维护,实际上比车辆要多得多。
您无需成为工程师即可执行此维护,但您应该知道运行24/7的服务于数百万个客户端的服务器将需要服务器维护计划。它很少涉及物理上的磨损,您不会在服务器搜索文件时听到服务器吱吱作响的声音。但是在软件级别上存在一层磨损。让我们来看看。
为什么需要服务器维护计划
服务器维护计划:简介
制定服务器维护计划
应对新出现的问题:您需要注意的问题
预防性维护:避免问题的关键
灾难恢复:制定计划以启动并运行
为什么需要服务器维护计划
服务器中的活动部件通常可以使用一生,例如,没有人打开硬盘驱动器并为其轴承加油。在最坏的情况下,您可能需要更换一两个风扇,但即使是这样,也很少会消失。但是,服务器确实会在软件意义上引起“里程”。
随着时间的流逝,您的服务器将建立大型存储库和记录,包括可能会降低事务处理速度的缓存文件。随着时间的流逝,SQL表的碎片化也是一个问题。随着交易量的增加,旧的服务器设置可能不再有效,并且服务器软件将成为攻击者的软目标。最后,HDD和SSD最终都会降级,尽管这种情况会持续很长时间。
服务器降级时会发生什么?好吧,充其量您可能会遭受服务器性能下降的困扰,这可能会导致工作负载故障并导致客户不满意。在最坏的情况下,您可能会面临严重的数据损坏和数据丢失,或者由于黑客入侵而导致数据失窃。值得庆幸的是,我们指出的大多数服务器维护问题都可以使用服务器维护计划来解决。
服务器维护计划:简介
我们说过,早期的服务器不像汽车,它们不需要物理维护,但是从许多方面来说,服务器实际上就像汽车,因为它们确实需要软件维护。就像您的汽车一样,某些维护任务非常紧急,需要经常注意,而其他维护任务仅需进行年度检查。您不会每月检查引擎和照明灯,例如,每月至少检查一次轮胎压力。让我们看一下服务器维护的间隔:
每日服务器检查
负责服务器维护计划时,每天需要检查很多事情。首先,检查更新,包括病毒扫描程序的数据库和其他关键软件更新,这些更新可以防止零日攻击。
实际上,您应该仔细查看软件和硬件供应商提供的漏洞声明,以便可以对服务器进行补丁攻击。还请注意安全日志中是否有入侵尝试的证据,以便您有机会阻止这些用户。
每周服务器检查
不太频繁地,您应该验证备份是否正常运行。不必每天执行此操作,因为当您的备份突然停止工作时,并不需要可能的备份。尽管如此,每周检查还是必不可少的。
您每周甚至每两周应该做的另一项检查是磁盘使用情况。同样,磁盘使用率很少突然改变,因此您不必每天检查一下。但是,磁盘空间不足可能意味着您的服务器出现故障。留意诸如过期和临时文件帐户之类的问题。
每月服务器检查
我们建议您每两个月优化一次数据库,数据库碎片的发生率每月最高可达5%,随着时间的推移,碎片会真正影响性能。调整单个应用程序也很重要,因为未优化的应用程序可能会损害性能。
但是,由于流量水平变化很大,因此将应用程序调整限制为每两个月一次可能很有用,这样您就可以很好地衡量应用程序的负载水平。
实时服务器检查
我们列出了您每天需要检查的许多要点,但是有些检查必须实时进行。换句话说,全天候。这些服务器运行状况数据点可以发出信号,指示负载何时达到峰值,及早发现问题可以帮助防止服务器完全故障:停机成本高昂。
使用服务器监视工具很容易检查其中的大多数因素,实际上,您甚至可以获得自动警报。例如,您可以检查CPU和服务器的整体温度,RAID卷的运行状况以及负载因素,包括打开的网络连接的数量。
支票如何变成计划
那么实际的服务器维护计划是什么?好吧,维护计划只是一个固定的时间表,概述了上述哪些检查是实时,每日或每月进行的。做到这一点并不难:尽管大型运营商将拥有内部技术人员,但小型企业可以依靠远程人员或另一家公司来完成此任务。
但是,如果您自己一个人,不要失望:您可以建立自己的服务器维护计划,这并不困难。
制定服务器维护计划
一个很好的起点是根据维护活动要达到的目的对维护活动进行分类,然后从那里迁移。在本文中,我们将其分为三个区域。
首先,我们将研究您在紧急情况下需要采取的应对措施,将其称为紧急响应计划。这些步骤包括诸如在紧急情况下获得警报,以及在出现问题时迅速恢复服务的能力。
接下来,我们将考虑您应该采取的可避免紧急情况发生的步骤。例如,您可以主动进行安全检查,分析性能数字并检查服务器资源的使用情况。
最后,我们将研究一些操作,这些操作可在您遇到服务器问题时充当一种保险。这些活动(包括审核备份和进行故障转移检查)将确保您在需要时可以快速还原服务器。
应对新出现的问题:您需要注意的问题
不同的车辆具有不同的故障点:火箭的故障点可能与赛车的故障点非常不同。同样,不同的服务器也有不同的失败根源:邮件服务器可能失败的原因与Web服务器崩溃的原因非常不同。
因此,我们无法建议一个单一的计划来确切告诉您需要监视的内容,以确保您在紧急情况下能够快速做出响应。相反,我们将概述您应考虑的事项,以正确的方向指导您。我们将使用Web服务器作为典型示例。
服务器容量和用户需求方面的问题
您的服务器并非旨在管理无限需求:它具有容量限制。有时需求可能会出乎意料地上升,也许有人向100万人发出了广受欢迎的电子邮件,或者社交媒体上的某些东西触发了需求。这可能导致内存过载,磁盘无法响应以及服务器无法提供页面。
同样,在共享托管的环境中,某些用户可以运行消耗大量资源的应用程序。实际上,某些用户可以通过不注意他们生成的服务器负载量来故意滥用服务器资源。
最后,有时服务器过载是由编码错误引起的。编写不正确的脚本可能会导致内存泄漏和其他资源问题。作为服务器维护计划的一部分,您必须当心脚本和用户,他们不仅要充分利用服务器资源,而且还要密切注意服务器利用率。
服务器攻击和恶意软件
我们生活在一个服务器攻击非常普遍的时代。这些可以有几种不同的形状。例如,机器人可以尝试强行进入您的计算机,而与此同时涉及的成千上万次查询将导致容量问题。成功的攻击可能导致未经授权访问您的计算机。
恶意软件是另一个重大威胁,通过未公开和未修补的漏洞进行的软件注入可以使黑客进入您的计算机,从而再次提供未经授权的访问,并有可能导致您的服务器被用作攻击其他计算机的临时站点。
除了包括数据丢失和容量问题在内的未经授权访问的风险外,这些攻击还可能导致信誉损失:换句话说,您的服务器可以从搜索引擎结果中排除,并且您会发现流量急剧下降。小心攻击,这是服务器维护计划的一部分。
错误和失败
服务器是高度连接的设备:既在内部基于硬件和软件,又在外部。当心网络问题,包括与数据库后端或服务器依赖的其他应用程序的断开连接。
硬件是您需要注意的另一点,例如,确保RAID卷保持健康,并注意关键指示器,例如CPU和机箱温度。最后,如果冗余电源出现故障–立即更换它,并同样更换RAID卷问题。
本质上,您需要在所有级别上监视服务器统计信息:网络流量,利用率,负载等,以便您可以在异常情况下注意到。只有这样,您才能进一步调查。但是,当您注意到紧急情况发展时,制定一个可以实施的计划会有所帮助。
预防性维护:避免问题的关键
我们已经概述了监视新出现的问题时需要寻找的内容,但是预防胜于治疗。同样,它在某种程度上取决于您正在运行的服务器,但是让我们看一下可以添加到服务器维护计划中的一些预防性维护,其中所涉及的服务器是数据库服务器。
整理碎片并检查索引和完整性
数据库涉及大量的读写操作,这些操作需要快速处理,结果数据库可能变得碎片化。尤其是删除查询会导致碎片,这就是为什么定期优化数据库中的表以减少导致性能问题并减少可用空间的碎片很重要的原因。
同样,您的预防性服务器维护计划应定期进行索引分析,以优化MySQL如此依赖的索引。MySQL具有分析功能,您应该每月运行一次以确保MySQL始终可以快速找到数据。分析可简化索引,并确保快速执行查询。
数据库完整性可能是一个问题,由于数据库崩溃和其他应用程序错误,MySQL有时会失去对数据集的跟踪。每周对数据库完整性进行检查可以防止查询失败,因为它为MySQL提供了修复错误的机会。
检查磁盘运行状况和空间
就像数据库完整性一样,您不能认为磁盘运行状况是理所当然的。始终确保检查服务器日志,因为在这里您会发现有关HDD和RAID错误的通知。这些错误表明硬盘驱动器或RAID卷出现故障,使您有机会在关闭服务器之前更换驱动器。
服务器发生故障倒塌并非是未知的,因为它已经用完了驱动器空间。您必须为数据库增加空间,进行备份以及处理大型数据库事务留出空间。通过删除临时文件,不再相关的备份以及其他过时的数据来释放空间。
群集效率很重要,如果要防止运行缓慢的查询和数据库错误,数据库群集应高效同步。同样,早期检测是关键,因为它可以防止代价高昂的数据库崩溃。
仔细检查SQL日志
当您发现表损坏或索引问题时,您的MySQL服务器将记录错误。审核日志将确保您对可能的数据库故障有早期警告:充满错误的日志是肯定的警告信号。
缓慢的查询是需要注意的另一点。除了突出显示整体性能问题之外,它还指出哪些特定查询导致了性能问题,您可以对其进行调整以提高服务器性能。
最后,每月对服务器速度进行一次运行状况检查,将为您提供一条记录以供继续使用,以便您可以检测到服务器何时开始出现瓶颈。然后,在出现更严重的问题之前,您可以更轻松地解决这些瓶颈。
总体而言,您将需要一定程度的服务器管理经验,才能真正了解可能会引发危险信号的服务器性能,这表明潜在的问题正在临近。无论运行Web服务器,DB服务器还是其他服务器,预防性维护都是关键。
灾难恢复:制定计划以启动并运行
预防性计划是避免灾难的关键,但是即使是性能最佳的服务器环境也偶尔会遇到灾难。您如何回应?显然,最重要的目标是使事情重新运行。
有了经过深思熟虑的灾难恢复计划,您可以在一分钟或更短的时间内启动并运行。并非每个用例都需要这么快的周转时间,如果某些网站所有者的网站停机一两个小时,则不会对它们造成很大的损害。对于其他人来说,每分钟的停机时间却损失了收入。
有多种选择可以最大程度地减少停机时间。这些包括高可用性集群,这些集群非常有助于确保业务连续性。具有容错能力的硬件(包括冗余电源)可以与故障转移镜像一起使用,以确保硬件故障永远不会导致长时间的停机。
对灾难恢复至关重要:您的备份
我们在上一段中提到的一些要点实现起来很昂贵,并且超出了许多网站运营商的能力。但是有一点对健全的服务器维护计划至关重要。这与您的备份有关。
首先,请确保您的备份实际上每天都在完成。检查错误,并确保您的备份工具报告正确的状态。接下来,您需要检查是否可以还原备份:可以检索数据吗,是否有损坏?始终监视可用磁盘空间,因为这是备份失败的主要原因。最后,对恢复过程进行测试,以验证该过程花费了多长时间以及它在第一次实例中是否成功。当心意外的故障,例如连接问题,可能会使恢复变得困难。
制定恢复计划
最后,在决定要如何制定恢复计划以及投资多少时,应仔细考虑应用程序的要求。首先考虑您可以忍受多少停机时间:在损害变得无法忍受之前,您需要多长时间才能恢复服务?
接下来,找出制定灾难恢复计划所需的计划,软件和最终硬件。这样,您可以将可以接受的权衡与无法接受的权衡相匹配。但是,无论您做什么,都必须确保检查并验证备份策略。
作者介绍