对于系统管理员来说如何管理自己的服务器已经是再简单不过,但是如何管理好服务器却不是一个简单的事情。对于管理员来说重启服务器可不是一件闹着玩的事情。对于Windows服务器管理员来说经常性重启Windows设备已经成为一种生活常态,但在Unix系统中这种办法却难以奏效——在默认情况下重新启动不会带来任何形式的改善。
我打算借此机会跟大家详细聊聊重启的问题。对于每一位服务器管理员来说这都算得上热门话题,但在Unix极客们眼中它则属于一种层次更深的课题——可能因为Windows管理员们往往把重启当成故障排查工作的首要步骤之一,而Unix团队则一般只在束手无策的情况下才进行尝试。
Unix服务器重启的两种情况
实际情况是:服务器重启操作应该极少出现——请注意是极少。在这里我列举内核更新与硬件更换作为例子,因为它们是Unix领域中引发重新启动的两大主要原因。有些人一直在鼓吹什么不重启服务器的话会带来某些严重的安全风险,这简直是一派胡言。如果服务项目与应用程序中确实存在安全风险,那么打上漏洞补丁就能解决问题了,而且补丁往往不要求重启设备。而如果安全风险存在于内核模块中,一般来说只需卸载对应模块、安装补丁,最后重新加载模块。没错,我承认一旦内核中存在安全风险,那么重启操作的确是必要的。但在这种情况之外,大家根本没有切实的理由重新启动Unix服务器。
有些人认为如果不进行重启操作,其它形式的风险往往会接踵而至,例如某些关键性服务项目在开机时没有得到正确启用,而这将导致一系列隐患。当然,这种说法本身是正确的,但只要管理工作执行到位,这其实根本就是种杞人忧天。只有刚刚接掌服务器设备的菜鸟才会忘记正确设置服务项目的启动参数。不过话说回来,如果大家的服务器正处于构建阶段,且其中还不涉及任何生产方面的内容,那么不妨随意进行各类重启测试,这不会带来任何不良影响。而且我认为这正是熟悉重启机制的最好时机。
但还有另一方面需要考虑:那些将重启操作当成故障排查重要步骤之一的家伙是抱着死猪不怕开水烫的心态,打算一次性把问题都暴露出来。就说一套已经出现问题的Unix设备吧,某些还处于运行中的服务项目实际上已经无法再次启动,而这一点在重启之后就会显现出来——也许是由于分段故障或者其它稀奇古怪的原因。
造成Unix服务器重启的原因
如果我们只是简单查看几分钟之后就一拍脑门决定重启设备,那么也许故障的真正原因就彻底湮没在时光中了——也许是某位初级管理员在运行一套自己编写的愚蠢脚本时无意中删除了/boot目录或者/etc、/usr/lib64目录下的部分内容。这正是引发分段故障以及设备不稳定情况的罪魁祸首。然而一旦我们选择直接重启服务器而没有深入挖掘问题,那么显然问题会变得更加严重,接下来不出意外的话大家应该会启动恢复镜像——这就代表需要面对大量恢复工作——而与此同时生产服务器也将陷入停机状态。
以上只是我们在Unix领域中应该尽量避免重启操作的原因之一。与其说这算是种故障排查方法,不如把它看作一类孤注一掷的豪赌——要么发现问题,要么亲手毁掉一切再慢慢重建。总之,没人能利用/var分区重启设备就完全修正错误。(另外请别提什么打开文件句柄这类迂腐的蠢话——我想大家应该理解我的意思)
服务器重启前请做完你该做的工作
在大多数情况下,不进行重启是极其重要的,因为系统中能够帮助我们修复问题的关键性内容在重启前是一定存在的,但在重启后却未必还在。重启之后问题绝对会再次出现,然而一旦解决方案随重启行为而烟消云散,那么故障本身就陷入了无解的死循环中。除非有人决定不进行重启,而是尝试找出问题的根源。遗憾的是,能做了这种明智选择的人实在少之又少。实际情况是:一根小小的故障内存条就能给系统正常运行与设备启动状态带来极大的麻烦。而这个时候,对症下药才是上策,一味重启只会带来额外的损失。
因此,今后大家在面对问题时,如果有某个家伙说什么“嘿,不如先重启一下看看”,不妨直接给他两个大嘴巴。重启当然是方案之一,但在实施重启前请务必确保我们已经采取了一切能够想到的处理措施;毕竟节省下来的都是咱们自己的时间跟精力嘛。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Windows Server 2008要说再见了 但别放弃16位应用程序
2020年1月开始,微软公司将不再发布Windows Server 2008补丁,该OS也将退出官方舞台。而随着时间的推移,Windows Server的16位应用程序运行能力也会面临同样的问题。
-
专家答疑:如何为三个客户端架设起文件共享服务器?
我有三台客户机A、B和C,均连接到互联网并使用微软操作系统。我还有一台服务器X,操作系统是Windows Server 2008 R2。我想要创建一种允许三个客户机可以在服务器端获得文件夹级别的访问权限的架构,怎么做呢?
-
多操作系统数据中心的服务器补丁管理
如果你在运维一个多操作系统数据中心,肯定会被补丁管理折腾的心烦意乱。不要担心,选择正确的工具和方式,可以解决好这个问题。
-
如何获得最佳Windows管理员职位
从最佳阅读书籍到面试准备,本期技术手册提供的五个职业技巧将帮助当前和未来的IT人员加强他们的工作技能,并且帮助他们在拥挤的Windows管理员职场有一席之地。