【51CTO综合整理】我们平时作为个人用户使用我们的Windows或Linux系统时,系统总是会定时提醒我们进行系统更新和打安全补丁,基本上每个星期都会有这样的操作。个人系统尚且如此,一般人会想当然的认为服务器的管理也是如此。网站安全多重要啊,企业信息多重要啊,服务器系统肯定是要定期更新补丁的嘛。笔者以前一直是这样认为的,直到和一位做运维的朋友聊起最新的Linux内核时,才发现现实根本不是这样:
我有台服务器,装的RedHat 8,1500+天都没重启了。我现在连重启都不敢,更别说更新了! |
这在很多企业中都是一种常态。但这真的是正确的做法么?针对这个有关系统管理员的传闻,51CTO编辑跟国内外的一些系统管理员们聊了聊,我们来看看他们对系统升级是怎样说的(51CTO的网友们可以进入这个帖子参与讨论):
国内管理员A:比如说你09年底装一台机子吧,当时最新的,CentOS 5.4,给你配2.6.18的内核。你的服务跑在上面了,一切都没啥问题。就算现在CentOS 5.5已经出了,你还不是照样跑那些服务;系统好好的,折腾升级做啥?
国内管理员B:内核升级?升完了说不定你的Oracle数据库就不兼容了,或者其他什么服务跑不动了,甚至系统都重启不起来了,没事儿谁敢升级内核啊。
国内管理员C:打补丁还是有的啦,我所在的公司给米国佬作外包,我们会定期按要求给他们的solaris打patch。
国外管理员A:我用的Fedora,每次我都等重大bug被修复的时候升级。每次升级都令我头疼不已,不过每次我都做好备份,最后也都成功了。要知道,就是简单的yum更新都可能会出问题!
国外管理员B:更新啊,我的CentOS 5.x在有bug修复的时候都会更新,FreeBSD 7/8差不多每两周更新一次吧。
国外管理员C:我只在非升级不可的时候升级。每一次升级都要在DTAP(开发、测试、核实与生产)这四个环节走一轮,每次都牵扯到一次完整的备份和往其他节点上的迁移。我用的是CentOS和Debian,都是有不错的长期社区支持、很稳定的发行版。
国外管理员D:我的服务器跑Red Hat和CentOS,升级对我来说没啥问题,因为我所有的服务器和应用(包括Oracle RAC集群)都有一个真实的工作测试环境,只要有足够的硬件资源和合理的虚拟化方案便可以搭建测试环境。我会先在测试服务器上测试所有的更新和补丁。测试到一定程度,差不多可以确定没有问题的时候,我才在生产服务器上部署更新。当然,备份和灾难恢复都已经做好了的。
国外管理员E:从来不更新?怎么可能?我们的服务器用的是RHEL4、RHEL5和FreeBSD6,每当有任何一个安全补丁出来的时候都会立刻部署在非生产环境的机器上,并在很短的时间内在生产服务器上部署。当然这也包括内核升级。至于发行版版本的升级,小的版本升级我们是做的,如果是重要的版本升级,那就需要做整个的服务器迁移了。我的FreeBSD有大小版本都会升级,比如我最近就要升级到FreeBSD8。
国外管理员F:我们有95%的服务器都是VMware虚拟的,保存在NetApp NAS上,快照每天4次,所以恢复的事不用担心。我有16台Debian 5,2台Debian Squeeze和3台RHEL5,从我加入公司开始,已经在好几台服务器上升级过内核和Linux版本了。
由以上管理员们的分享可以看出,为系统打安全补丁还是需要的,是应该做到的工作;而对内核或系统升级,则一般是在有业务需求的时候才进行的。不过,即使仅仅是给系统打安全补丁,也没有那么简单,无论是Linux、Windows还是Unix,都有仅仅是打安全补丁就造成系统重启不正常的情况出现过。再到了系统需要升级的情况,也往往不仅仅是OS或应用升级那么简单,而是软硬兼施,双管齐下。那么,对于服务器系统的升级和补丁,管理员应该怎样做呢?让我们看看那些经验丰富的系统管理员们都提供了哪些意见:
这是TechRepublic技术作者Erik Eckel的一篇文章,文中列出了对服务器进行升级之前需要注意的十件事情。这十件事分别是:
- 对数据备份进行核实
- 创建一个镜像备份
- 不要同时进行多项升级
- 升级后,密切监视日志文件
- 明确使用的是什么OS
- 确保机箱支持升级
- 不要认为即插即用是理所当然的
- 性能优化
- 便宜无好货
- 文档升级
其实简单来说,对于系统管理员而言,备份、定期备份、定期检查备份都是根本的根本。有bug要更新系统,有漏洞要打补丁,这对于服务器系统而言是一个十分正当的需求。如果你做好了完全的准备,那么你实在不应该惧怕给系统做更新的。当然了,这个和工作环境也有关系。如果网站因为系统没有打安全补丁被黑,系统管理员却无需为此负责,那么做系统更新的动力,恐怕是非常低了……
【编辑推荐】