我叫服务器,承载了全世界互联网行业的光荣与梦想。最近,听说居然有人敢质疑我的权威,说我会不会宕机?明确告诉你,你可以骂我卡,但就是不让你看见我宕机!
不是不想休息,而是不能宕机
我们服务器是每一家互联网企业的支撑,如果支柱倒塌那会是怎样的灾难?所以我们不是不想休息,而是绝对不能宕机!
服务器存在的目的与家用电脑是完全不同的两种,家用电脑存在着不需要使用的时间点,而且这个时间点往往很长,因此家用电脑可以有很长的休眠时间。而服务器则不然,不同公司的服务器对使用时间段不同,这也就使得部分服务器根本不允许有休眠的时间。
夜深人静,依然奋斗的服务器根据数据显示,金融企业每次宕机的平均损失约为1000万美金,这还不计无法统计的无形资产损失。一些大型的网站通常会有登录的高峰阶段,例如12306的春运、电商平台的购物节、新型电子产品的发布等都会给服务器带来巨大的压力,宕机对企业就是灾难性的打击。
烧香拜佛难免服务器崩溃(图片来自网络)我们不是不想宕机,而是使命的存在让我们不能宕机。此外,优质的外部环境,过硬的自身素质和纯净的软件环境是保障我们稳定运行绝不宕机的条件。只有住的好,才能不显老我们服务器的触觉比你们人类更加挑剔,工作时间比人类更长,因为良好的工作环境是必要条件。
谷歌的数据中心在恒湿恒温准无尘的环境,没错,那就是我们最习惯的地方。我们这样挑剔的电子设备,工作环境必须常年保持在18℃到30℃之间,温度过高或者过低都将对我们的使用有所影响,加速我们的老化。空气的流通也是非常重要的,在我们所居住的地方,24小时空调不能停。但是空调是不能保障我们的体温的。每当我们服务器工作时间长了,浑身上下都会发热。因此大量的冷却水给我们进行贴身服务降温,保障服务器的散热和机身温度的稳定。
谷歌数据中心,不同颜色的冷却水我们的工作运行环境,要求至少达到准无尘标准。一般来讲,经过长期正常维护的服务器运行十年以上,主板上的积尘也比用几个月的家用电脑服务器少。只有这样才能最大限度避免静电灰对服务器工作可靠性的影响。
整洁,干净,无尘更重要的是,我们的运维人员都非常专业,经常加班加点的对服务器的运行状况进行监测。以便于一旦发现任何问题,及时处理。否则,宕机也是再所难免。只为不宕机,硬件更专业我们服务器的设计就是为了不宕机而出现的,这一点和家用电脑有着千差万别。没有完全不会坏的服务器,我们也会有故障。因此服务器在设计的时候做了大量的备份冗余,维护不会影响到正常工作。以谷歌的数据中心为例,大量的数据服务器都采取了即插即用模块化的方式设计。每个模块服务器有着自己的电源。如果某一模块发生故障,直接换上新的模块就可以,而不会影响到其他模块。
模块化设计都有独自的电源而且,服务器大多数设计为集群架构,即以双机或者多机热备。同时运行一个业务时,一台或者多台服务器的离线并不会对整体业务造成严重的影响。而这也是平时一些人在玩网游时会感觉卡的原因之一,很可能就是某台服务器偷懒启用了备用服务器的原因。
模块维修,没想象的那么难家用电脑可能会有生产商偷工减料节约成本,降低整体价格的现象存在。但是我们服务器领域却不会这样。CPU内置多种容错纠错机制;内存带有ECC校验芯片,数据干扰出错风险比非ECC内存低很多,采用优质方案是不宕机的关键所在。比家用服务器的商业级别的配件好太多,我们所有的零件都是工业级配件。而且从电子元件到电路板都经历了包括老化测试(高温高电压)、振动测试、高温高湿测试等几十项可靠性测试。经历了暴风雨的洗礼的我们却在温室中被供养,这就是常年不宕机的秘诀。
服务器出厂要经过各种测试一生只做一件事,软件更纯粹我们所运行的系统和普通的家用系统有着本质的区别。无论是windows server、Linux或者更强大的Unix,这些系统本身具有高精确度、简单化、稳定可靠等特点。
windows server 2012工具面而这些服务器系统的精简程度简直令人发指。由于服务器不需要外接显示器,所以一些图形化的界面服务程序通通被砍掉,甚至连声卡都不要开启。相比普通的家用操作系统,这些图形化的程序往往占用了大量的空间,计算量和复杂程度较高,导致电脑服务器运行缓慢。而大量多余运行项目排除,使得服务器级别操作系统的目的性更明确,甚至有的服务器穷其一生都是在运行一款Apache,压力比家用电脑小太多。
Unix系统没有图形化界面,这是搭配的CDE桌面而对于高端的服务器来讲,操作系统的容错性也是完爆家用级别服务器。在家用服务器运行时,一个error弹框就能让整台电脑重启。而服务器如果出现错误,后台自动生成详细的错误分析日志,寻求最佳解决方案保障程序继续运行下去。
让人目眩的大规模集群架构做单一的工作虽然简单,但是服务器的处理量是巨大的,这时,大型集群架构就可以发挥他的作用了。一旦服务器负载量增大,大规模集群会让负载均衡化,保障单个服务器不会过载崩溃,整个系统稳定运行。其实我也宕机,只是不让你看见当然,我们服务器家族个头有高有矮,情况不一。一些比较低端的服务器只是针对小范围的受众,一旦超出了承载范畴,系统崩溃宕机的事情时有发生。而高端产品也不能完全例外,但是宕机几率和风险要小太多。
不同类型的服务器让服务器宕机的原因大致可以分为三种。一,天灾。服务器所处环境不良,维护不够及时,甚至供电不良等;二,人祸。各种应用的设置不当,人为操作失误和破坏以及最常见的大量访问超出了服务上限,导致服务器崩溃。三,服务器本身原因。服务器质量的差距归根结底是投入的差距。也就是说,服务器的质量越好,成本越高,相应的价格也就越贵。比如,普通的商业级别服务器价格在3000到10万间,而Unix服务器的价格则在30万到3000万。
戴尔Unix服务器价格的提升带来的是服务器稳定性的提升。高端的Unix服务器已经达到了可用性99.99%的指标。即具备故障自动恢复能力,年停机时间不超过53分钟。但其超高成本和维护费用也使得很多企业望而却步。目前,也仅有银行、证券保险和电信等行业才会采用。那么如此高端的服务器就可以永不宕机了么?事实恐怕并非如此,此类服务器中比较著名的当属IBM的Z系列服务器。这一款号称“永不宕机”的服务器在2013年也走下了神坛。中国银行所使用IBM的Z系列服务器出现了长达4小时的宕机,造成了巨大的损失。
银行所用的IBM Z系列服务器那么大型机也宕机,云服务器宕机么?也会有的。不久前谷歌云刚刚全面中断18分钟,而亚马逊云也曾在2013年出现了40分钟的宕机。而且相比普通的服务器宕机问题,云服务器会显得更为严重。由于公有云用户并不具有控制权,所以能做到就只剩下等待和祈祷了。世界上真的完全没有不宕机的服务器吗?也是有的,美国2004年发射的机遇号火星探测器,从登陆火星到现在已经十余年,从未发生任何故障。该探测器便是采用双机冗余接口的方式搭载了两台IBM P series服务器。
机遇号火星探测器
如果说宕机是偶尔的风雨,那么不宕机才是服务器支撑起整个互联网行业的脊梁。文章最后,用一张表来为大家总结一下为什么服务器能够不宕机。
永不宕机在生活中或许只是一个神话,并非每台服务器都能陪你到老。在经历了太多的风霜后,宕机在所难免。我们不是不会宕机,只是在努力不想让你们看见,谁让我们的名字叫做“服务”呢。