很久没有写博客,前段时间看到sery兄写了一篇关于IDC的经验文章,很受启发,所以自己也想写一篇,发表一下自己的感慨。废话不多说进入正题。

    可能很多企业在选购IDC上有一套自己的流程或者规则,很多相关的负责人只要按照这个流程或规则走就可以了。在这里我也不想按照所谓的流程去介绍,只想纯粹的谈一下自己的感受,也许思考的不全面,希望能给即将接触此类的朋友一点启示,或引起相关同行的一点共鸣。

  一,选购之前寻找“猎物”。当我需要和IDC合作的时候,基本上是通过一下三种方式联系他们的。第一种是主动联系型。一些比较知名的IDC厂商,无论产品质量还是服务都是有口碑的。或许是同行的介绍,或许是之前有过合作,相对有了解了就会主动去联系。第二种是关系户。这个没有什么好说的。也许这些厂商是你的老板,或你老板的老板的关系户。第三种是最常见的,就是IDC厂商会毛遂自荐。现在的IDC很多,有的是直接的代理商,有的是外包。关系比较复杂。现在被动等着商户的时代已经过去了,很多厂商也会主动出击,所以我经常会接到这些厂商的自荐。如果你是这方面的决策者,个人认为以下两个原则是要遵守的。

第一,尽量搞清楚对方的情况。是直接的代理商,还是二级代理商。该公司都代理那些机房,这些机房的大概情况。只有做到心中有数才能进行下一步的动作。我一般至少会像对方要一些资料。当然这些资料只是做一下简单的了解。如果有必要还是邀请对方上门来详谈,很多IDC厂商也希望你这样做。

第二,是针对关系户。作为技术方面的人员,一定要报着严禁的态度去评估对方的资质。不能因为是关系户就放松了评估的标准。这一点似乎很多人都懂,但是仍然有人会犯错误。

另外想说的,进行任何一个步骤都要谨慎,不要本以为对方是你的“猎物”,最后反倒成为了别人的“猎物”

二、产品评估。如果把IDC厂商推荐的机房当做一个产品,那么最重要的就是进行产品评估。首先在需求上满足你的要求,然后考虑就是价格,服务等方面。只有所有条件都满足,才能进行正式的合作。

(一)基准测试。一般来说,在决定于对方合作之前我都会向对方要求申请测试机进行测试。测试的对象是机房的网络情况而不是对方的机器状态。有的机房的测试机性能不错,有的确很垃圾。就如同试驾车一样,乱人去用,估计也好不到哪里去了。到底测试什么?这个要根据你将要放进去的机器服务来定。不过一般的两项基本测试,我相信很多同行都会去做。

第一种就是互联性测试。除非你的客户来自固定某个物理地址,一般来说你的服务对象可能来自全国的四面八方,所以就需要测试网络互联性。测试最重要的2个指标是网络延迟情况和稳定性。思路是这样的,利用PING工具从全国的各个节点发送ICMP包然后看一下延迟(包括最大,最小和平均延迟)包括丢包情况等。这里我们发现这样做可能有点困难,怎么从全国各地发ICMP包?所以这里我们就用逆向思考的方式,从机房的这个机器反向的向全国各地节点发送ICMP包来获得。这里有一个很关键的问题就是如何选取全国的节点?很抱歉的是,关于这个问题我不想说太多。原因是,我选取的节点的方式有自己的一套方式(我还没申请专利呢,呵呵。开个玩笑)主要原因是我不知道我的方式是否科学,怕给一些朋友带来误导。所以就不便透漏了。对于一般的单线机房,可能会选择电信或网通的节点同时测试。如果是BGP双线机房,会着重比对两者的结果。根据这些数据来进行分析。需要说明的是,WINDOWS操作系统默认只发送4个包,这样的数据是不够的。而LINUX操作系统默认会不断发送包直到你人为中断。所以一般我都是写一个脚本,控制发送几十个包来考量。延迟的平均值是重点考量的数据。当然如果延迟时间不稳定,也会让我不太满意。另外过多的丢包也会让我放弃选择。不同的服务对延迟的要求不同,但是好几百的延迟时间肯定是放弃的对象。另外通常还会通过路由跟踪测试路由跳数,过多的路由跳数特别是在机房这边,肯定是令人苦恼的。我刚开始做这个的时候,在客观的测试报告上的数据令IDC商不满意(主要是我们不满意)他们就会开始变更路由策略,企图通过改善部分节点延迟过大,争取合作机会。后来经验告诉我,这样做基本上是在浪费我的时间。

第二种是带宽测试。目前的机房提供两种带宽模式。共享式和独享式。当然价格就差很多了。很多IDC提供给我XX M(独享或共享)带宽,不能任由他说,有时候还是需要测试一下。一般的方法是假设一个下载服务器,然后设置不限速。在上面安装流量监控软件,然后开始下载测试。如果复杂一些,还可以分别利用单线程下载和多线程下载看一下区别。

测试中的趣事:我很喜欢用一些别人刚用过的测试机(有的IDC为了安全,在上一家测试完得机器上重做系统,给你一个“干净”的测试机)除掉个别同行的不讲究(我在某机房的测试机上竟然发现被人安装了***程序)我喜欢看一看同行都用什么工具做什么测试。为此,在某一段频繁的做着类似的测试工作中,得到不少的信息和“宝贝”

以上两种测试都是基本的很多企业都做的测试。当然有时候还有其它的,不做过多的介绍了。

(二)安全评估。当做完一些技术上的测试满足你的条件后,是不是价格合理就可以合作了?在我的经验告诉我,不行。要知道你的机器要放到外面,安全是一个很大的问题,如果故障总是因为非技术原因引起的,而且是因为IDC做的不够好,那么你就欲哭无泪了。

1.到机房去看一看。我记得在博客中看到一个比较理论的关于IDC选购的文章,其中就提到去要机房看一看。那要去看什么呢?正所谓外行看热闹,内行看门道。如果你从事过机房建设工作或者IDC相关工作,就着重看一下他的机房建设是否标准。如果你的相关专业比较薄弱,那么与其说是去看,不如更形象的说是去检查。就如同我们小学时代每周进行的全班大扫除后一些学生代表去检查各班的卫生那样去检查机房。进入某机房是否需要严格的手续(我曾经见过管理很混乱的机房,几乎都快什么都能进了)机房的环境如何(有多少专职人员)每次进入是否有专人负责?机柜管理如何?机房值班情况等。(我去过的某老机房机柜基本上快成开放式的了。尽管出入制度很好,一般能进去的都是同行,都知道规矩,但是自己的机器就那么敞着总是不舒服。而我后来去的某新机房的机柜都可以上锁,如果你租用了整柜,可以上锁)总之,你觉得什么最重要就要看,就要问。

2.你的邻居是谁?要做这个功课可能有点难度,但是还要做。如果你租用整柜,还好一点。如果你的公司就放几台机器进去,而且都是自己的服务器。就要搞清楚你的(物理)邻居是谁,你的机器的位置,不然就发生SERY兄说的,别人把你的自己当他们自己的机器使了。还有一个就是因为业务确实没有那么高的需求,你租用了一个共享带宽。也要搞清楚你的同网段的邻居是谁?如果对方是搞视频的,最好还是躲远点吧。

3.机房安全策略。有些机房很重视网络安全,所以会在机房内网中做一些策略,但是这些策略如果事先没有搞清楚,可能麻烦的是你自己。

丁胖胖的经历一:某机房做了端口管理限制。只允许WEB 80,8080,SMTP 25 TELNET 23 FTP 20 21等一下常见端口,其它非常用端口一律屏蔽。结果我公司的服务器是游戏服务器,游戏服务器启动后需要监听自己指定的端口,结果服务器程序搭建好后发现怎么也无法连通,后来找机房联系才知道了这个问题。

丁胖胖的经历二:某机房做了类似PVLAN技术,使用公网IP的机器即使在同一个网段也无法互访。这种技术好处是防止了类似RAP***。但是由于事先没有通过我们。我们的两台主机造成无法访问。一台是游戏服务器,一台是数据库。期间相同架设一个内网,通过第二个网卡在内网通信,但是关系到程序代码修改的问题,最后造成忙会了好一段。

当然对于这些重视安全的机房还是值得表扬的,但是有些机房的安全意识太差,或者干脆没有,后果就很可怕。

丁胖胖的经历三:由于是新迁入某机房,很多设备没到位,结果一天之内,机房三次发生ARP***事件,造成我们的机器中毒,影响了正常的业务。

4.机房选择就近原则。最理想的状态,就是IDC机房就在你公司的隔离。当然这种几率可能也会很小。但是你选择的IDC一定要离公司越近越好(当然前提是这个机房的其它条件都符合你的需求)

丁胖胖朋友的经历:由于北京的机房价格偏高,胖胖朋友的公司选择了一个离公司较远的机房。原因是地域接近河北,所以价格便宜很多。有一天公司的服务器出故障了,怎么也连不上。而且公司也没有准备KVM,结果只能派人去机房处理。来回至少耽误了半天的功夫。这样的损失是很让人心痛的。

三、合作后的注意事项

当你成功选择与某IDC合作以后,有两点是必须要做的。首先当然是关于价格方面的事了。有一点要注意了,如果你的业务突然出现了峰值,超过了当时所需求的带宽。一定要和IDC说好了,否则超出去的部分会遭到疯狂的收费。还有就是如果仅仅是一时的峰值,一定要和他们说好,适当加大你的带宽,否则你的服务器的网络就会瘫痪。第二点就是一定要知道对方技术负责人的联系方式。当机房发生故障的时候,一定要与相关负责人取得联系,打听情况。当出现一些危险,做出如何的处理。如果连负责人都联系不到,不知道具体情况,那就只能傻傻的等待了,不过估计你的老板也不会放过你了。

以上只是简单的谈了一下自己的一些经验和感受,希望能对大家有所启示和帮助。