系统管理员最佳实践准则

标签: IT技术 书籍与教程 系统管理 系统管理员 | 发表时间:2012-05-30 03:42 | 作者:陈舸
出处:http://blog.jobbole.com

本文翻译自  iSystemAdmin 的 《 Best Practices for System Administration Daily Work

Hi,各位好!希望你们每日的系统管理工作都进行的一切顺利。有时候每天做相同的工作会显得很单调,但这种感觉只会在你没有尝试在服务器上捣鼓些新花样时才会出现。你得接受挑战更新你的系统软件、做些自动化处理、对系统做细致的监控还有对系统做备份。每天除了要干这些活以外,优秀的系统管理员通常还会遵循一些实践准则。今天就让我同大家分享一些系统管理员的最佳实践准则吧,这些技巧会让你的系统保持健康和安全。

检查日志信息

首先要做的事情是检查系统中的日志文件。你得检查所有的安全性告警、硬件相关的错误和消息、本地和远程登录提示、应用程序告警和错误信息、应用程序崩溃消息,如果可能的话,还有控制台输出的消息。每个系统都有自己的方式来提供日志信息。Windows下的Even Viewer可以使你在同一处看到所有的日志信息。对于UNIX和Linux,你需要检查 /var/log和/var/adm 文件夹。 /var/log/messages/var/log/auth/var/log/dmesg/var/log/maillog/var/log/syslog是经常用到的日志文件。可能还有一些其他的地方需要你去查看,这取决于你的应用程序和系统配置情况。

检查完日志信息后,你可能需要制定一些计划来修正错误或者任何安全隐患,这取决于你从日志中得到了什么以及对日志信息的理解程度。为了更好的理解有关日志管理方面的知识,你可以从由Anto A. Chuvakin和Kevin J. Schmid合著的《 Logging and Log Management: The Authoritative Guild to Dealing with Syslog, Audit Logs, Events, Alerts and other IT ‘Noise’》一书中得到启发。

 

检查前一天的备份情况

做备份是一个优秀系统管理员的良好习惯,这会帮助你的业务能持续进行处理。就算发生了灾难性的事故——不管是有意的或无意的——业务也能不受影响。每天,当你开始工作时,检查完日志信息后你还需要确保前一天的备份操作已经执行成功了。检查日志信息能给你一些提示,但你仍然需要仔细的去单独检查一遍有关备份情况的日志信息。O’reilly出版的《 Backup & Recovery: Inexpensive Backup Solutions for Open Systems》是有关系统备份和恢复这一主题中最好的资源之一。

 

磁盘空间检查

大多数系统管理员会忘记去检查系统中到底还有多少可用的磁盘空间,以及剩下的这些空间还能撑多久。比较好的方法是删除旧的日志信息,或者将日志信息压缩以节省磁盘空间。最佳实践方式是在单独的磁盘分区中设置日志文件夹,这样增加的日志文件并不会对你的邮件服务和系统分区带来太大的影响。在我们之前的《 10本适合于系统管理员的最佳书籍》一文中有提到一些有关这个主题的参考资源,很不错的。

 

系统完整性检查

完整性检查就好像是对你的系统做法医检测一样。这可不仅仅只是检查日志文件这么简单了。下面举些例子,但不仅限于这些。你可能要检查一下某些特定文件的时间戳,检查一下root和其它用户在shell中的操作记录,检查日志文件的连续性等等。如果你发现两个日志项之间有一些不寻常的间隔,那你就可以考虑是有人故意删除了某些日志行,或者当你发现某个不应该被修改的二进制文件或者文本文件的时间戳发生了更改,那么就可以认为有黑客在系统中安装了root-kit。有很多反root-kit的工具,你只要Google一下就可以了。对于UNIX/Linux系统来说,最简单的笨办法就是准备一个能记录详细细节的文件,就像这样:

ls –alR > /tmp/FullList.txt

现在,你把所有的文件都记录在/tmp/FullList.txt中了。再生成一次该文件,然后用diff工具或者类似的命令来做比对。想成为对付这种漏洞的大师吗?你可以去看看由Bill Blunden所撰写的《 The RootKit Arsenal: Escape and Evasion in the Dark Corners of the System

 

计划任务和调度检查

几乎每一位系统管理员针对几乎所有的系统都会有一些规划好的任务待处理。你需要检查调度程序是否按顺序在执行这些任务。同时,也要确保第二天的任务规划条目已经设定好。如果由于任何需要,今天将要执行或者已经执行过的任务需要做修改,那么请在调度程序中完成设定。通常,你每天需要检查调度程序两次。第一次是早上上班时,第二次是晚上离开办公室的时候。有太多关于Cron服务和任务调度方面的书籍了。除了前面说的《 10本适合于系统管理员的最佳书籍》外,你还可以看看由O’reilly出版的Eleen Frisch的《 Essential System Administration, Third Edition》。

文档

你的每一个操作活动和过程都应该记录下来。当你新安装了一次系统后,按照时间顺序来看系统中所有关于权限方面的改动细节都应该记录下来。根据你所在公司的规定,你可以根据需要管理好文档的软拷贝或硬拷贝。当出现问题时,这份文档将帮助你更好的定位诊断系统的故障源。

 

进程检查

这是系统管理员常常做的一项操作,但对于他们所看到的结果却从未认真过。他们仅仅只是利用这个命令来检查他的进程是否在运行,但从未仔细检查过是否有不受欢迎的进程正在运行。要试着得到有关进程所有者的所有细节信息。确保在运行的进程中没有你不希望其运行的。如果你看到任何这样的“不受欢迎者”,你应该反复检查进程的位置以及你的记录文档。如果那个进程确实是你不知道的,kill掉它然后从系统中删除之。更好的方式是格式化整个系统(…没有那个系统管理员希望这样吧),因为出现这种情况表示您的系统很可能已经被攻陷了。

 

物理检查

有时候这会是被我们永远遗忘的记忆死角。服务器的物理存放位置,硬件方面的安全性以及设备的清洁程度对于服务器稳定出色的工作都是非常重要的。出于各种原因,你可能无法每天都去检查你的服务器的物理状态,但你应该设定一个工作例程,在固定的时间周期中去检查设备的物理情况。

最后做下总结,如果你希望成为一名非常优秀且成功的系统管理员,你需要有一套自己的实践准则,就像宗教仪式那样。提高知识储备会使你懂得很多东西,但没有好的实践,你就不会成功。祝你好运,愉快的享受“系统管理”吧!

 

关于作者

Sifat是一名资深系统管理员,他现在仍然喜欢在控制台上手敲各种命令。Sifat在IT和通信行业拥有14年的系统操作和管理经验,在IT组织、IT流程管理、成本控制等方面拥有成功的经验。在有效降低软件和硬件整合和虚拟化的成本和运营费用上颇有心得。Sifat获得了ITIL和VMware的专业资格认证。

英文原文: iSystemAdmin       编译: 伯乐在线—— 陈舸

【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

相关文章

相关 [系统 管理员 最佳实践] 推荐:

系统管理员最佳实践准则

- - 博客 - 伯乐在线
本文翻译自  iSystemAdmin 的 《 Best Practices for System Administration Daily Work》. 希望你们每日的系统管理工作都进行的一切顺利. 有时候每天做相同的工作会显得很单调,但这种感觉只会在你没有尝试在服务器上捣鼓些新花样时才会出现.

文章: Hadoop管理员的十个最佳实践

- - InfoQ cn
接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当. 白皮书下载:利用您的私有或混合云加速业务成果.

海尔电商峰值系统架构设计最佳实践

- - 博客园_知识库
  多数电商平台都会经历相似的过程,流量和业绩每年以几倍至十几倍的速度增长,每年都要接受几次大规模、全方位的系统检阅,例如双11、周年庆等购物狂欢节,期间流量和订单可能是日常的十几倍甚至几十倍,产生的峰值对平台形成极其强烈的冲击,对电商平台的架构带来巨大的考验. 因此,对电商平台的规划和架构工作不仅要高瞻远瞩,而且要细致入微,否则将导致平台无法满足高速增长的业务发展,细微处的失误也可能造成严重后果,不仅影响业务指标的实现,还可能导致对系统进行重新架构,劳时费力又伤钱.

HBase最佳实践-用好你的操作系统

- - IT瘾-bigdata
终于又切回HBase模式了,之前一段时间因为工作的原因了解接触了一段时间大数据生态的很多其他组件(诸如Parquet、Carbondata、Hive、SparkSQL、TPC-DS/TPC-H等),虽然只是走马观花,但也受益良多. 对视野、思维模式都有极其重要的作用,至少,扩展了大数据领域的对话圈.

智能投放系统之场景分析最佳实践

- - 美团点评技术团队
新美大平台作为业内最大的O2O的平台,以短信/push作为运营手段触达用户的量级巨大,每日数以千万计. 美团点评线上存在超过千万的POI,覆盖超过2000城市、2.5万个后台商圈. 在海量数据存在的前提下,实时投放的用户在场景的选择上存在一些困难,所以我们提供对场景的颗粒化查询和智能建议,为用户解决三大难题:.

jQuery最佳实践

- andi - 阮一峰的网络日志
上周,我整理了《jQuery设计思想》. 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery". 今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osmani的PPT《提高jQuery性能的诀窍》(jQuery Proven Performance Tips And Tricks).

PHP最佳实践

- xiangqian - 阮一峰的网络日志
虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构. 它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践. 我觉得,这是很有参考价值的学习资料,类似的文章网上并不多,所以一边学习,一边就把它翻译了出来. 根据自己的理解,我总结了它的MVC模式的实现方式(详细解释见译文):.

MongoDB最佳实践

- - NoSQLFan
将 MongoDB加入到我们的服务支持列表中,是整个团队年初工作计划中的首要任务. 但我们感觉如果先添加一项对NoSQL存储的支持,而不是先升级已支持的关系型数据库,可能对用户不太好,毕竟目前的用户都使用关系型数据库. 所以我们决定将引入MongoDB这项工作放到升级MySQL和PostgreSQL之后来做.

Dockerfile 最佳实践

- - DockOne.io
在容器领域,Docker 公司提出的容器镜像已经成为目前容器打包交付的事实标准. 构建镜像需要编写 Dockerfile,如何编写一个优雅的 Dockerfile 呢. 在 Docker 公司的官方文档中给出了一篇:《 Best practices for writing Dockerfiles》.

文章: Grails最佳实践

- - InfoQ cn
我在IntelliGrape工作,这是一家专门使用Groovy & Grails进行开发的公司. 本文是我们Grails项目遵循的最佳实践的基本清单,收集自邮件列表、Stack Overflow、博文, 播客和 IntelliGrape的内部讨论. 它们分为控制器、服务、Domain、视图、TagLib、测试和其他.