“救火队员、紧迫感”,绝大多数系统管理员都这样形容他们的工作,这绝对是真的,他们大部分时间都在解决问题,刚教会一个MM接收邮件,销售部的打印机又被卡住了,不久又发现服务器的硬盘出了问题,我们身边的系统管理员就这样忙碌地度过他们的每一天。在经历了长期的折磨后,一些系统管理员变聪明了,他们开始利用各种工具和技术帮助自己完成一些任务,本文就来揭秘一下让系统管理工作变得更轻松的技巧。
我要介绍的这些技术都很基础,但不要笑我,作为“救火队员”的你应该和我一样认真对待这些技术。
首先,我们来看看消极系统管理员的工作态度:
● 这工作太烦了。
●只想做自己能做的事情。
那么有什么办法消除这种痛苦呢?首先,系统管理员应拥有一套好的工具箱,好的工具就像金子,不管你是自己编译,还是下载或购买,必须要有精良的武器装备。其次,做好一切准备工作,不要干应急的事情,应急工作会让你的生活充满惊慌,甚至影响到你的亲人,并可能让你的脾气暴躁,听我的,避免临时抱佛脚,像童子军一样做好准备吧。第三,善用别人的成果,好好利用在你之前别人做好的成果,如使用其它项目的代码,不要重新发明车轮,当然,你也应该记录下你的工作点滴,你也会成为前辈的。第四,思考,思考,再思考,如果你不善于思考,工作就不可能变得更轻松。
◇硬件
硬件是系统管理员做事的基础,因此确保硬件运行正常很重要,我们继承了以往的系统,如果不这样它们就只能慢慢等死,如果你不喜欢某个系统,或它的问题太多,最好借此机会关掉,这样的系统你扭住不放对你的组织是没有任何好处的,下面是和硬件相关的一些其它提示:
●实施熄灯管理。
●如果你使用惠普服务器可通过iLO,如果是戴尔服务器则通过DRAC,如果是Sun服务器则通过LOM,它们都允许你远程连接到服务器,获得一个控制台窗口,可远程重启服务器,或进行远程诊断,它们的价值是无法估量的,我知道惠普服务器默认是带有iLO的,无论如何,远程控制功能是购买服务器时必须考虑的一个功能。
●如果你不能远程访问服务器,你可以使用一台旧电脑和一些X10设备自己DIY一个,但如果你不是极客,显然这对你来说太难了。
RAID
RAID不是杀虫剂,而是一种廉价冗余磁盘阵列,你的服务器至少会支持RAID-1(一对磁盘,镜像),除非你在做Hadoop,RAID对磁盘故障有一定的承受能力,如果某块磁盘坏掉,不至于要从头开始搭建系统。
冗余
从冗余电源到冗余网络接口卡,从来没有人因做了一些冗余而被解雇的。
◇虚拟化和云
不必对虚拟化或云感到害怕,如果你的应用程序可以迁移到虚拟机或云端,应该认真考虑,你看你因此远离曾让你头痛的硬件问题。
但虚拟化和云并不是万能的,将应用程序部署到这些平台之前,最好仔细测试一下。
消除硬件方面的问题后,你就可以把精力放在服务上了,不用在凌晨2点再往数据中心赶了。
◇更聪明的软件
有许多不同的工具可以让你的工作变得更加简单,帮助你为你的组织提供更好的服务质量,如果你觉得某些工具不适合你,可以寻找一些替代品。
监控
如果你还没有建立一套监控系统,应立即着手创建,这样你可以远程了解数据中心的运转情况,这类工具实在是太多了,如Nagios,Hobbit或Groundwork,一个个地尝试吧,总有一个适合你,如果你现在的监控系统不好用,那用它们来代替吧。
自动化安装
准备机器是我们系统管理员的例行工作之一,如果你还在手工处理,那你就Out了,并且也容易引入错误。
Kickstart
谈到自动化安装时,Kickstart可能是Linux世界的事实标准,Red Hat和Ubuntu家族都支持它,它很灵活,可扩展性也很好,我自己多年来就一直在使用它。
Preseed
Preseed是Debian以及基于Debian的发行版使用的,包括Ubuntu,它的功能相当强大,但文档需要加强。
镜像
通过使用镜像软件,如Ghost,G4U或Acronis可以克隆一个系统,我发现,如果你的硬件平台多样化,这个方法比自动化安装还要快,但管理多平台的镜像将成为管理员头疼的问题。
不管你使用哪种自动化安装方法,最好花点时间开启PXE网络启动,这样你就不需要安装介质了。
软件包
无论何时,下载和使用与平台对应的软件包格式,如果没有现成的,那么你应该学习如何创建软件包,那样可以节省许多安装和调试时间,然后做一次系统镜像。
如果你不熟悉软件包创建技术,你可能需要从CheckInstall开始创建RPM,Debian包或Slackware tar包。
◇配置管理
版本控制
不管你使用Subversion,Mercurial,CVS还是商业产品,如Perforce,都应该将配置文件放入版本控制系统的仓库中,实现版本化控制,花点时间为每个主机建立目录树,并将它们的配置文件上传进去,如果你像软件一样对待你的配置文件,更新配置后如果出现问题,你还有机会进行回滚。
为了使管理变得容易,你可以创建一个元数据包,将所有配置都打包进去,也实行版本控制,也许开始实施时会感到很复杂,但它的确能帮你消除许多可能的操作错误。
配置自动化
前面我们提到创建元数据包,如果全部靠手工来处理是不现实的,其实有很多工具可以使用,如Puppet,Chef或Cfengine,这些工具将会真正推送和强制配置你的服务器,但它们需要一种完全不同的思维和行动方式,并且需要花时间测试。
不管怎样,你的配置信息都应该是可控制的,在故障排除期间将会感受到它的好处。
备份
备份是你最后一道防线,不管怎样,你应准备一套良好的备份策略,并确保它得到严格执行。有了备份,你可以利用备份资源执行恢复操作。只有一种情况你不需要备份,那就是系统没有数据值得备份,你可以使用kickstart从一个裸机安装一个新系统。无论如何,数据库服务器是需要备份的。
可供选择的备份软件很多,你可以逐个尝试,直到找到你满意的。
◇小结
最后我想说的是,提前做好准备总是有益的,有条件最好实现弹性或冗余架构,尽量让操作自动化,将你的时间放在那些更重大的项目上,你的组织也会从这些稳定的系统获益,你也不用担心会被解雇。缺少障碍的环境会变得敏捷起来,你的日常工作将会变得井井有条,你的生活也会因此而充满阳光。
分享到:
相关推荐
无论出于何种原因,您原来非常熟悉的工作方式和工具可能都将变得完全不同。不但如此,您可 能还需要培训别人如何去轻松地管理 Linux。管理绝不是循规蹈矩,成功地管理计算环境是一项创造性的工作。实现这一转变就...
从帝国新闻系统1.0版至今天的帝国网站管理系统,它的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松。 它采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供求、...
从帝国新闻系统1.0版至今天的帝国网站管理系统,它的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松。 它采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供求、...
这也使得收集有关调度器的数据变得简单,因为其可以在本地文件系统中轻松而又有效地收集数据并存储数据。 使用虚拟化是一种方案,但是 LinSched 的优势是简单且有效(因为没有必要启动 LinSched 不仅仅是在用户空间...
从帝国新闻系统1.0版至今天的帝国网站管理系统,它的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松。 它采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供求、...
shell脚本可以使烦人的手工作业自动化,使你的工作变得简单、轻松!本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。学完本书后,你将成为一名shell编程高手。 内容简介 ...
这意味着系统管理员可以在不停机的情况下对系统配置进行调整,从而提高了系统的灵活性和可维护性。 另外,Nacos提供了动态 DNS 服务,能够根据实际情况动态调整域名解析,以支持动态环境下的服务发现和路由。这使得...
XAMP环境,《帝国网站管理系统》英文译为"EmpireCMS",她是基于B/S结构,安全、稳定、强大、...从帝国新闻系统1.0版至今天的帝国网站管理系统,她的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松!
RVM是一个命令行管理工具,允许开发者...总的来说,RVM 是一个非常有用的工具,可以帮助用户很好地管理 Ruby 版本,让开发工作变得更加轻松。因此,建议开发人员在 Linux 上尝试使用 RVM,以方便完成 Ruby 版本管理任务
shell脚本可以使烦人的手工作业自动化,使你的工作变得简单、轻松!本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。学完本书后,你将成为一名shell编程高手。 内容简介 ...
YzmCMS系统采用MVC模块式开发,增加了系统的维护性、可扩展性,使二次开发变得简单、容易。 100%开源 YzmCMS系统是100%开源的PHP程序,保证系统的代码更健壮和更安全。 轻量级 YzmCMS系统在保持强大的功能前提下...
华盾的技术团队深刻的体验到管理服务器的困难,所以一开始,就希望能提供这么一个软件,能把管理服务器中的种种问题,通过软件来减轻服务器管理人员的负担,让管理变得轻松起来。而这就是《华盾服务器管理专家》被...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作...
而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作...
这些工具使不熟悉系统的新手能够轻松地安装基本服务,另一方面也使其他平时不做的事情变得困难。相反,Slackware则要求系统管理员独自处理这些任务。除了上游开发者在源码中提供的安装工具外,Slackware不提供通用的...
开发灵活YzmCMS系统采用MVC框架式开发,增加了程序的维护性、可扩展性,并采用模块化开发设计,使二次开发变得简单、容易。开源YzmCMS系统是100%开源的PHP程序,保证系统的代码更健壮和更安全。
从帝国新闻系统1.0版至今天的帝国网站管理系统,她的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松! 她采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供求...
是什么让使用 Node.js 库和应用程序的庞大生态系统来开发服务器后台变得如此流行。Node.js 自带一个被称为 npm 的命令行工具可以让你轻松地安装它,进行版本控制并使用 npm 的在线仓库来管理 Node.js 库和应用程序的...
shell是一种完整的编程语言,易学易用;shell脚本可以使烦人的手工作业自动化,使你的工作变得简单、轻松!本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。