做者简介:余洪春(抚琴煮酒),英文名Andrew.Yu,外企高级Linux/Unix系统管理员、项目实施工程师、红帽RHCE讲师,擅长负载均衡高可用和中小型证券类和商务网站架,目前专一于网站架构研究及网络安全。我的博客:http://hi.baidu.com/yuhongchun027java
许多刚进行系统维护的新人或正在学习系统的同窗可能很迷惘,如今这么多服务器版本,该如何学习和深刻呢?是否是只学习Windows系列的系统便可,而无论Linux/Unix呢?或者,只学习Linux/Unix便可而无论Win系列呢?看完本文,可能你对此职业有个大概了解,说不定从中也能学到些东西。linux
附注:如下系统如无特殊说明,均指64位。程序员
首先纠正下系统管理员(System Admin)容易走进的三个误区:shell
1、究竟Windows做服务器好仍是Linux/Unix服务器好?数据库
我之前同事爱争论这个问题,老实话,彻底不必。对于你的公司而言,Windows2K好,就用Windows2K;Linux好就用Linux,谁安全和高效就用谁;固然了,不建议用盗版。若是是做AD或桌面机系统,想到不想,用Windows2003和Windows XP吧,固然你想耍酷,也能够用ubuntu,但你要保证你能知足你的办公需求。我系统组的同事用的是Win7,算是潮人了;抚琴煮酒虽然一直是玩Linux/Unix,但一直用的是英文正版Windows xp,用的远程是pietty或xshell,个人老HP 6210跑不动Win7,就不赶这个潮流了。编程
2、系统管理员应该了解网络知识,许多System Admin容易忽视这个问题。ubuntu
虽然在大型公司,系统管理员/网络管理员是明显二个不一样的工种,但许多公司工做,例如网站维护和开发环境布署都须要双方协同全做,缺一不可。我以为做为System Admin,应该掌握和了解市场上的防火墙的性能和特色,一些简单的交换机和路由机的配置及iptables或ipfw及×××相关知识。网络你能够不精通,但必定要熟悉和了解,若是你的网站出了问题,你要第一时间判断出是网络仍是系统的问题,而后针对性的排障。centos
3、系统管理员应了解开发编程。安全
先不说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都是由社区维护。
CentOS流行的缘由
为何企业宁愿选择没有技术支持的CentOS,而不去选择技术背景强大、支持有保障的Red Hat?第一个缘由固然是成本。在美国,红帽的价位大约是每一个服务器每一年1000美圆;在国内的话,大规模的企业,这个价位更是到了每台服务器每一年上万甚至数十万元的水平,这并非通常企业愿意承担的;而CentOS相反,它是彻底免费的。
另外一方面,CentOS在数据中内心面很受欢迎,由于它很是容易架设,很是容易维护和管理,而且很是的快。
抚琴煮酒认为还有一个缘由,就是如今蛮多软件,若是是直接安装的话,仅仅只有CentOS支持,好比Heartbeat;centos是惟一一款支持直接yum安装的Linux操做系统。
最后,让咱们看看w3techs统计数据的一些细节:
◆CentOS的占有率上升主要是从Red Hat和Fedora那里夺取市场份额,但同时,也有部分份额被Ubuntu所取代。
◆CentOS在大型企业中使用的相对少,主要仍是分布在大多数中小规模的站点。
◆CentOS上使用的主要是Sun的服务器技术,使用Nginx的很少。
◆CentOS在日本、西班牙和罗马尼亚的市场份额相对较高,在德国、中国和巴西则相对较低。
Centos如今在北京、上海及深圳,包括如今的武汉,机房里也能够看到大量它们的身影,基于以上的统计,玩Linux的小伙们先把这个熟练掌握吧。
最后再说下FreeBSD,为何要扯上这个呢?
FreeBSD是一种Unix操做系统,是由通过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支,它支持 x86 兼容(包括 Pentium® 和 Athlon™)、amd64 兼容(包括 Opteron™、Athlon 64 和 EM64T)、 Alpha/AXP、IA-6四、PC-98以及 UltraSPARC® 架构的计算机。它运行在Intel x86 family兼容处理器、DEC Alpha、Sun微系统的UltraSPARC、Itanium (IA-64)和AMD64处理器上。针对PowerPC的支持正在开发中。它被广泛认为是至关可靠和健壮的。苹果电脑的Mac OS X即以 Mach 为内核, 配合 FreeBSD 的驱动程序和实用工具为基础。FreeBSD 源于 BSD ---美国加州大学伯克利分校开发 Unix® 版本它由来自世界各地的志愿者开发和维护,FreeBSD 为不一样架构的计算机系统提供了不一样程度的支持。
而从企业的角度来看,公司许多重要的服务器,都是用FreeBSD来跑(FreeBSD的稳定性有目共睹),好比postfix和SVN;若是你们也像我同样维护内网开发环境就会明白,熟悉掌握FreeBSD是一件多么惬意的事情,若是你的开发们须要大量虚拟环境。甭考虑什么VMware ESXi和XEN了,直接上jail吧,安装及部署都很是方便,一款戴尔 PowerEdge R710基本上跑10个虚拟机没什么问题,基本上能够知足10个开发小组的需求;而基于Apache+PHP5+MySQL的开发环境,用FreeBSD就是一种享受;相对于外网源码安装的LAMP和LNMP环境,两者投入的精力和时间就不在一个等级上。而诸如samba,vsftpd和SVN这些企业内部常见的开发环境,一个port很简单就OK了,我遗憾的发现,在FreeBSD安装SVN确实比在linux下安装SVN要简单得多。固然了,经测试发现,MySQL安装在centos上的效果确实比在FreeBSD好得多。我如今比较倾向于的作法是:外网环境(须要布署Nginx和Heartbeat的网站)我考虑用centos,而内网开发环境,我尽可能会使用FreeBSD。
我对FreeBSD与Linux比较的最终结论是:谁好谁稳定都只是暂时的,两家的存在状态,是一个“既生瑜何生亮”的问题,在长久的发展过程当中,技术上的常胜将军并不存在,双方只有此消彼长,各领风骚。至于你们为何非要证实FreeBSD比Linux好或Linux比FreeBSD好,我想程序员广泛都喜欢追求完美,非要用最好最完美的系统才甘心吧!我我的的观点是,这二个操做系统均可以熟悉和了解,精通不易,但也向着这个方向努力吧。
网友Licess 的观点:其实用FreeBSD也好,用Linux也好,只要你用牛叉叉了,适合你的才是最好的,我我的承认这个观点。
以上是我做为系统管理员的我的意见,Windows200三、Centos、FreeBSD这三种系统各有自身的特色,不能说谁好和谁坏,建议能够先都熟悉和精进,而后根据公司的需求决定投入的精力和时间 ,ubuntu也能够附带研究下,至于AIX和sun的solaris,这些系统我不推荐也不反对,有精力和机会的小伙也能够研究和深刻,但愿这篇文章能给从事系统运维和系统集成的小伙们带来帮助!