系统管理员都应该知道的系统常识(1)


作者简介:余洪春(抚琴煮酒),英文名Andrew.Yu,外企高级Linux/Unix系统管理员、项目实施工程师、红帽RHCE讲师,擅长负载均衡高可用和中小型证券类和商务网站架,目前专注于网站架构研究及网络安全。个人博客:http://hi.baidu.com/yuhongchun027

本文作者更多优秀文章推荐:明明白白你的Linux服务器

许多刚进行系统维护的新人或正在学习系统的同学可能很迷惘,现在这么多服务器版本,该如何学习和深入呢?是不是只学习Windows系列的系统即可,而不管Linux/Unix呢?或者,只学习Linux/Unix即可而不管Win系列呢?看完本文,可能你对此职业有个大概了解,说不定从中也能学到些东西。

附注:以下系统如无特殊说明,均指64位。

首先纠正下系统管理员(System Admin)容易走进的三个误区:

一、究竟Windows作服务器好还是Linux/Unix服务器好?

我以前同事爱争论这个问题,老实话,完全没必要。对于你的公司而言,Windows2K好,就用Windows2K;Linux好就用Linux,谁安全和高效就用谁;当然了,不建议用盗版。如果是作AD或桌面机系统,想到不想,用Windows2003和Windows XP吧,当然你想耍酷,也可以用ubuntu,但你要保证你能满足你的办公需求。我系统组的同事用的是Win7,算是潮人了;抚琴煮酒虽然一直是玩Linux/Unix,但一直用的是英文正版Windows xp,用的远程是pietty或xshell,我的老HP 6210跑不动Win7,就不赶这个潮流了。

二、系统管理员应该了解网络知识,许多System Admin容易忽视这个问题。

虽然在大型公司,系统管理员/网络管理员是明显二个不同的工种,但许多公司工作,例如网站维护和开发环境布署都需要双方协同全作,缺一不可。我觉得作为System Admin,应该掌握和了解市场上的防火墙的性能和特点,一些简单的交换机和路由机的配置及iptables或ipfw及VPN相关知识。网络你可以不精通,但一定要熟悉和了解,如果你的网站出了问题,你要第一时间判断出是网络还是系统的问题,然后针对性的排障。

三、系统管理员应了解开发编程。

先不说Windows下的批处理和Linux下的shell编程,这应该是系统管理员必须掌握的基本功吧,我说的是PHP或java,还有C语言,系统管理员是管理应用层的东西,了解这些编程的知识对自己还是相当有好处,可以为系统架构师作为铺垫和基础。开发是应用最底层的东西,我认识的系统总监无一不是玩code出身。如果有精力的小伙,可适当在这些方面加强学习,我比较了解的语言是PHP,这个入门也比较简单的。

首先说下Win系列,我玩这个是2001年大学毕业,当时分配到某大型国企信息技术部,负责全国各地的销售数据及库存数据,当时值守的Windows2000服务器,说老实话,这东东放内网用还可以,但放公网上如果忘记打补丁就是悲剧了,冲击波和震荡波会搞得你崩溃;所以后来每次上新服务器的新系统时,我们会按照一个补丁表一个个老老实实打补丁,这种情况一直到以后用了Windows2003才有所改善。说老实话,Windows2003是我非常喜欢的一个系统,包括现在作为域控及作Exchange2007服务器,我都推荐它(不是太喜欢Windows2008哈,这个比较臃肿),此外,在Windows2003上安装SQL Server2008,感觉效果也是非常稳定的。

抚琴煮酒比较喜欢在Windows2003上布署VMware GSX Server给开发用,效果那是相当的好,呵呵。以前还喜欢在Windows2003上研究ISA和文件服务器,不过自从有了Linux的iptables和samba,基本就转到linux下了,呵呵。当然了,Windows2003我也推荐用正版,大型企业是不会在乎这个费用的,如果有版权之争就麻烦了。相比32位的Windows系统,64位的Windows 2003数据中心版最多可支持64路处理器,而32位版本只支持32路处理器。内存支持方面的提高也颇为显著,32位的Windows 2003最多也只能支持64GB的内存,但是64位的大部分版本将可支持至1TB。也许现在大部分个人用户都还没有用上超过1G的内存,但是在高阶运算领域,扩展能力是32位系统无法被应用的主要原因之一。

在包括系统模拟、基因运算等很多大运算量任务中,一个运算进程可能就要占用成G的内存,而每一次运算任务都会产生十几个G的数据。所以我的生产环境上的Windows2003基本都是64位的,Windows2003不难掌握,建议大家都熟练的掌握它吧。

有关Linux的常识

再说下Linux,严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器例如Apache),X Window,桌面环境比如GNOME和KDE),办公套件比如OpenOffice.org),等等。

Linux内核最初是为英特尔386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。

在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。很多人认为,和其他的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。Linux最成功的系统莫过于红帽和Centos了,虽然我是红帽的RHCE,不过本着性价比的原则,我还是推荐大家用Centos,为什么呢?大家看会下面的数据分析。

2009年10月-2010年7月Linux Web服务器市场份额W3Techs统计)

对Web服务器的发行版统计显示,30%的Linux服务器运行的是CentOS发行版。CentOS完全是基于Red Hat的RHEL(Red Hat Enterprise Linux) 企业发行版,仅仅是移除了Red Hat的商标。一位CentOS用户称,Red Hat的企业服务合同价格太高了,而且他们也不认为支付的支持服务费用是物有所值。

在桌面市场,CentOS并不算是一个流行的Linux发行版,在各种热门Linux发行版的排行上都没什么特别好的排名;CentOS也是一个丝毫没有个性的发行版——它根本就是和Red Hat企业级Linux一模一样的。

虽然如此,但是在作为Web服务器运行的Linux当中,CentOS却是毫无悬念的No. 1。根据国外科技网站w3techs的 数据显示,截止到2010年7月28日,CentOS以高达31.6%的份额占据了Linux Web服务器的榜首,第二和第三分别是Debian和Red Hat。也就是说,在每十个基于Linux的Web服务器当中,就有三个CentOS,两个半Debian和一个半RHEL。其中,Red Hat由红帽公司开发并提供技术支持,Debian和CentOS都是由社区维护。


相关内容