一,架构设计
现在你要做的,就是设计你的服务器架构和网络架构。这要先看你的网站是做什么的,每日有多少的人数访问,
例如,我打算站点初期每日有20000左右的访问量,和1000人左右的并发量。我可以用我的人数并发量1000×站点中每个页面的平均大小200k×每个访问用户可能要打开4个网页=800 000k=800M的网络流量(当然这个数字肯定是非常的过分,至于为啥,自己可以想下)
然后可以用测试环境用软件检测在你的真实环境下的服务器压力,比如在2000人在线的情况下,服务器的cpu占用多少,内存占用多少。
那么你可以得到你大致配置,其实市面上的标准服务器配置都足够你用了,比如现在的DELL 1950,HP DL360G5,IBM X???(忘记了)
等服务器,足够我跑一个这样简单的网站。其实说白了,双奔3都够,真的。当然你网站的流量比我要大的多,那你可以买的更好一点的服务器。或者负载均衡器。
网络架构
站点现在是一台独立服务器,未来采用的是分布式架构,比如bbs.hilinux.com是一台服务器,man.hilinux.com是一台服务器……
mysql是一台服务器。这样你要算服务器要多少台,交换机要多少口,防火墙要买什么级别的。
哪些服务器可以放在一个防火墙下,哪些服务器不用防火墙保护,哪些服务器是内网服务器,
需要什么样的网络连接,最好是画出大致拓扑,方便你预算设备花费。
服务器交换机等设备选型和购买
说的简单点就是买什么机器,你可以和google一样开始,买几台pc作为你的网站服务器,也可以自己组装一台服务器
或者也可以和我一样,去挑选品牌服务器当然,现在你要看你服务器做什么的,
你可以亲自去电脑城看组装服务器,也可以打电话到IBM,HP,DELL的各地销售商让他们送服务器来测试,
当然你不要告诉他们你只买一台,那你就别指望测试了。我告诉供货商hilinux.com需要200台服务器,一个F5,10台CISCO 2960交换机,3个NETSREEN206防火墙,一个EMCCX500+满硬盘
那么不到3天,hilinux.com所需要的4台测试服务器,就送来了……当然,不要牛了这么多最后只买1台,那么你晚上走夜路会被人打的。
最后就是价钱问题了,这个你自己看着办吧。让你公司的财务或者采购出马砍价付钱就是了。当然,除了服务器的服务,你最好还是想想有利于自己的服务,比如人家公司可以帮你拆箱子了什么的。我做的最弱智的一件事情就是,来了400台服务器,50个交换机,8台EMC,我一个人花了一星期把箱子才全部拆完……
机器选型的时候你也要为自己考虑,比如HP的ILO功能,可以让你远程BIOS级操作服务器,比如浪潮的自动资产管理等等,为自己管理服务器提供便利,否则机器10来台还好,100台还一般,我这里3万来台,我不死几百遍了。丢失一台服务器,几个月工钱就没了……
二,IDC选择
首先要看你服务的地区是哪里,然后再去找当地的电信机房。毕竟,虽说全国已经互联了,但是各地的网速还是有差异的。
或者说有的IDC机房利用率高,虽然出口带宽大,但是利用率高的结果是导致你网速慢的原因之一。
我的做法是在全国各个机房的服务器用pingplus这个软件进行一周的的流量测试。可以看到平均丢包,最大延时等等。
当然,你也可以到你目标服务的地方,找个可以上网的地方进行网络测试,比如说网吧包个机器……
好了,网络测试完了。那么你已经决定去哪个IDC了吧。
然后你就可以电话或者自己提着礼品登门拜访一下IDC服务商的老大了
当然,你也可以找代理服务商,因为他们拿到的价钱有时候比电信或者网通给你的价钱低,但是,关键还是一个服务,因为你毕竟服务器放在那,晚上关键着急没人给你重启,机器出了问题其实按个F1就可以解决的问题,服务商的值班人员不懂。你就只能打晚上的打飞机去机房维护吧。
提着东西拜访一下服务商老大是礼节性的东西,东西不在多而在精,这样你未来谈事情人家也给你绿色通道,做事情要好做很多。当然,我也不反对你空手去,你一次租个100个机柜+10G带宽,人家还是很优惠的。哈哈。大家都是混口饭吃,也不至于难为你什么。
最后你要知道现在的中国还是卖方市场,你给人家牛,那你买的产品只能是……蒙牛
然后是开始去参观机房
细心的检查一下空调数量,空调出厂和最后维护日期,网络布线类型和架构,是否可扩展,主备从电力等。
基本都是非常关键的东西,出问题了,人家可以给你更换一个新的,服务很好,但是你服务器挂一天的损失是多少,你可以自己掂量。
还有机柜电力,现在的机柜放置16台1U的服务器是正好,多了过于热,少了资源浪费;但是你发现人家只让你用10安培电力,过了要交钱买电;
或者不限制你用电,但是插线板只有10个,你还真买个托线板去转接?你要想想你一个托线板挂了,你服务器要挂几个?
最后,我的一个机房包间里140个机柜,2个空调,结果某天挂了一个空调,虽然6小时人家IDC商就给更换了一个空调机(这速度已经非常快了),
结果我机器至少被热死了100台以上,机器是HP的,机器过热,HP会自动关机,而且会不让你启动。你崩溃不?注:不是给hp做广告哈。
三,服务器上架
好了,要是你买的服务器到了,你会发现你接到电话后,楼下一个N大的“擎天柱”集装箱车给你送服务器来……(某次我收2000台服务器就是这样的阵势);在这里有个重大的提示,你们财务给厂商下单的时候,收货地址一定要写对。比如XX路XX号XX大厦XX楼XX室,你写到xx号,送快递的会给你堆到院子里,你写到xx楼,送快递的会给你送到电梯口,你写到xx室,他们才会给你搬到室内。因为送货的都是服务器厂商找的,你因为这个事情去联系厂商修改送货地址,至少要多等N小时。而且他们视你的单子的数量和楼层,判断来多少搬运人员。而且,一定要把服务器搬到你指定的地方再签字收货,否则……嘿嘿……
我最霉气的是:来了20台机器(还好不多),下着大雨人家给我往院子里一丢,让我自己搬上19楼,我没推车没啥的……
你可以说,找电信的帮忙撒,废话,这个我还不知道。那我告诉你,我在某电信大楼工作时,从CCIE到机房主管到机房工作人员,全部是美女……
虽然我在这个地方只干了5天活,我的同事们口水都有3尺长……你还叫人家给你搬机器不?
你可以说,雇民工撒,我又不是没雇过,钱得你自己支付,公司不给你报销的话,爽不?
下面是拆箱子,面对着堆积如山的2000台服务器,我是连抬手的力气都拿不出来……当时机房只有我们公司3个人+电信值班2个人……
这时候,我的办法是……我打电话找来了2队收废品的:
这么多箱子,除了机器和电源线留下,里头的导轨光盘等等你全部拿走,谁拆的多谁拿的多……
最后按照我的要求帮忙搬到机柜上……于是我们5个人是监工……看人家拆箱子搬机器。
于是人家2队人找来了30多号人,一早上把2000台机器全部拆箱子完毕放到机柜上。
要是我们几个人拆,估计…………
最后再说个行价,服务器箱子一个价值5块钱甚至更多。你服务器到了,卖卖箱子请大家吃饭吧。别让扫地的阿姨拿走,几个无所谓,10来个箱子,够大伙儿吃顿烤肉了……还有EMC的木箱子……拿去养个小鸡小鸭的……
42U机柜1U的服务器最好是16台。你就看着上吧。呵呵
四,安装系统和布线
好了,面对几千台服务器开始装系统,我不知道你会怎么想……
全部是1U服务器有什么办法安装系统?(我们公司穷,买不起刀片;而且电信不配合,要是上刀片,电路你们自己拉线,价钱还是原来的价钱;最重要的……我们公司以人为本,宁愿多养个人也不愿意买个好服务器让人失业),而且不允许GHOST,因为你这是服务器,不是网吧……GHOST出来的系统,我不知道谁用过,爽不。我自己是郁闷郁闷到了,莫名问题的时候,你就知道GHOST还是靠不住的。
其次,我们公司安全部要求:必须得一台一台安装,先安装光板的系统(比如没有SP的WIn2000),然后手工打SP4补丁,不能网络打补丁。于是我们就光盘堆成山。最扯淡的,为了快,我做了一个补丁共享的服务器,所有的补丁CP的本地来打。结果忘记拔网线,导致人家说我们是插了网线打补丁,有中毒的危险,需要重装。我直接崩溃……
办法1,你可以1台1台慢慢装,反正这么多机器,你可以管公司要更多的时间。但是我们公司一般是机器到了,最多2-3天就要要,一向是那种计划不如变化快的没有计划没有进度管理的“小”公司,项目组拿着鸡毛当令箭,牛x哄哄的公司。郁闷!
这个时候前期的准备就比较重要了(我公司多用windows2003),因为首先我要装一个光系统,再打驱动,再打补丁,再安装远程控制软件。一台机器装完大约要1小时多点。那么机器多了怎么办?光盘不够怎么办?等等问题就来了。
我的办法是,我一看TMD全部是DVD,IBM的机器直接佩combo,公司给我们发的全部是CD,娘的,典型的没有最慢只有更慢,出了问题闲你慢的领导班子。于是只好自己出钱买了DVD,用软件把RAID,网卡,显卡其他驱动做到光盘里,需要安装的软件也直接做成自动安装的方式,补丁也刻录到光盘里(我们要求补丁必须单打,不能安装集成补丁的ISO,shit),这样弄,你只用把光盘往光驱里一丢,分区一分,就可以下一台机器了。然后等你在去关注这个机器的时候,已经可以设置IP插网线了。灵感来自番茄花园。吼吼。
当然这时候你最好是买个KVM,16口的KVM,一次准备16张光盘就可以用一套键盘鼠标操作16台机器。当然啦,KVM是可以级联的,我最牛一次一次一套键盘安装166台机器。郁闷的是,塞光盘塞死,插KVM线插死,配置IP配死,有时候还会弄错……
办法2,你可以用NETKVM去远程安装,但是你插那些NETKVM的线路,2000个插下来,爽不?然后你继续扎KVM和网线的时候,看着和瀑布一样的网线和KVM线交错在一起。估计直接崩溃。远程KVM有的牛x的是可以分发ISO的,就是传说中的远程分发安装。可以自己买一个研究研究了,我们公司以人为本,从来不买这类高科技。
办法3,我犯贱时候发明的:我们的机器全部是RAID1,于是我安装一台raid1的机器,系统全部安装好,然后拔掉一个硬盘,插上一个新硬盘自动恢复镜像,基本10来分钟恢复好一个硬盘,插到机器上去。这样,还是比装系统来的快。当然啦,型号是一模一样的……
办法4,HP的ILO2功能,实现远程分发。前提你得一台一台配置好BIOS里的ILO2。也是蛮痛苦的。IBM和DELL现在也都有这个功能,但是你在分发以前,还是得一台一台机器插上网线,配置好BIOS的IP,痛苦。然后把操作系统和机器的驱动程序和后续的软件全部做到一张DVD里,让他自动运行。然后所有的服务器远程运营这一个ISO,最好多弄几台,否则一台机器弄的慢死。
办法5,绝对最简单的办法!!!就是买机器前,让厂家给你在硬盘里灌好系统,和你买笔记本一样,打开是个安装完成需要你输入序列号的系统。但是弱点是后续的软件需要自己装。因为服务器厂商是不会帮你安装别的软件的。
还有更多的办法,只是暂时没想到,大家也可以谈论自己的办法。互相交流嘛。(51CTO编辑注:其实现在已经有很多无人值守安装系统的管理软件,比如KickStart和现在流行的Cobbler,都是不错的批量安装工具,而且都是开源的。现在都追求自动化,希望越来越多的运维们将不必面对一台一台装机的困扰)
所以我喜欢linux,可以用N种办法安装系统。
windows就是个让IT人当装机男,挨踢人当民工。
好了系统装好了,电源线和网线连接完,和瀑布一样的。这时候还是尽量把他扎一下吧。
否则机器通风不畅,会导致热死。
简单办法就是电源线扎一边,网线扎一边。有钱的公司可以买个网线序号标,没钱就自己拿胶布标。
你可以随便扎,或者和给你老婆梳头一样,好好扎。哈哈
插交换机的时候,从上往下,从1-24往后,这样网络异常,数一下就知道了。
想来想去这里也没啥值得关注的地方。所以就几行带过。
五,资产统计
假如你的机器只有2000台反而好容易管理了,但是现在我要管理的全国IDC有31个,平均每个机房有不同品牌服务器1500台。
一共大约有45000台的样子(我的资产管理系统里的数字,不包含交换机,防火墙等)
这时候怎么办?
每季度和财务小MM一起出去旅游盘点IDC资产,幸福啊……(我们财务小mm很PL的哦)
到了机房就是我一个人干活点资产,小mm带着大口罩,披着双层的放辐射服……
可怜我们这些干活的,短裤背心,IDC里一呆就是好几个月(IDC办公室就在机房边上……),不知道精子被辐射杀死多少……
1,必须有资产管理系统,虽然这个其实是个很简单的数据库,但是你可以把每一台机器的品牌,硬件信息,操作系统信息,购买年限,质保年限等,你非常关注的东西做一个详细记录,并配发同一的资产编号。
比如我们的资产号,FWQ-123456
服务器-123456,这是一个总的资产号,这个服务器哪怕搬到美国,也是这1个资产,直到丢失,或者抛弃,都是这一个资产,永远不会变。
比如我现在的板凳就是一个资产号是:服务器-000010的一个4U服务器,配置是P2300*2 256M内存 16G硬盘×4
购买时间是1999年10月,从中维修过1次,升级过1次,在哈尔滨机房-广州机房-河南机房-北京网通机房-上海公司内部测试机房-上海库房服役过。
有历史吧…….
2,送到机房
看过我这个服务器去过的地方,羡慕不?见证我们公司的发展史。9年过去了,终于成了我的板凳……
服务器在购买合同确定以后,就应该按照配置记录资产,并且在财务备案,资产编号一定和财务记录相同。这样这个服务器走到哪里,都有备案和记录。现在要把这个服务器送到某个机房去,搬着走吧……汗
送到机房,我们要给服务器按照财务给的表格粘贴资产编号,选个顺眼的地方,不会磨损的地方。
一般是机器正面某个地方,然后是机器屁股后面某个地方,然后机器侧面把手的地方,粘贴3个,以防掉了就烦了。
然后在粘贴这个机器的应用资产号和IP标签:
应用资产号举例:FWQ-SH-XX-B31-WEBSERVER 意思是:服务器-上海-xx机房-B列31号机柜-web服务器
IP标签举例:外123.234.123.234内10.0.0.1。这2个标签你可以分开也可以在一张标签上写清楚。
并且在安装服务器的时候。把FWQ-SH-XX-B31-WEBSERVER-123-234 把这个作为你的HOSTS信息,windows里叫做计算机名
这样远程上来都非常清晰自己在哪个服务器上,出问题时候也非常容易找到这个机器,不要闲麻烦,一切的麻烦都是为了以后快速的解决down机问题而做的。
当然啦,甚至在密码管理上你也可以用这个规则来设置密码,但是最好规则别让别人知道了……
3,把这些信息全部录入你的资产管理系统
系统无非服务器名,IP信息,用途,机架位置,或者是否在使用一类的,我就不多讲了
4,资产系统软件交互,也可以说是监控系统。
企业可以开发一个软件,在装机的时候安装到服务器上。然后资产管理系统定时去取服务器上的信息,比如网络流量,CPU内存硬盘负载一类的东西,这样你的资产管理系统又变成了一个监控系统;
当然啦,你也可以在资产系统里集成一个远程桌面管理系统,自动载入用户名和密码,还有随机码,就可以登录系统。省的还得管理服务器密码。
然后用户的访问权限不同,看到的节面权限就不同。
比如说,监控人员没有登录权限,或者IDC人员没有登录权限一类。权限分配你自己研究好了。
5,还是IDC的工作。
话题继续回到我和财务小mm去盘点(你公司比较大的话,你可以多派几个人分开去各个地方……)
小mm一看我们机房服务器黑压压的一片,铺天盖地的,直接无语。为啥,因为要拿着资产表一个一个核对,面对几千个机器,直接晕倒。
虽然按照资产管理系统里导出的信息,机柜号,IP号,机器从上到下的顺序都非常精确,但是你一个一个核对,还是慢。
怎么办?
库房管理的工作用上了,哈哈。你买服务器或者买笔记本电脑的时候有没有注意到箱子上的条码?
那个条码非常清楚的记录了这个机器的详细信息。所以黑莓手机或者NOKIA手机(别的我没用过)都有扫描条码的功能……好像与主题无关……
那么剩下的就简单了。
去买个这种条码标签的打印机,编辑成自己需要的条码,一个一个贴好,上面有你所有需要盘点的信息……
比如我们是从资产到机柜号到服务器名字到内外网IP都要盘点……小崩溃
打印出来贴上去。然后买个扫描枪,和超市那种一样,不过你要买有存储功能的,否则你要端着笔记本去扫描,SB了。
然后我和财务mm本来需要一个人念号码一个人核对(你要直到在机房里大喊资产号,喊一天的结果是啥,自己想),现在一个人拿一个扫描枪,按照规则一个一个扫描。完成后把数据导出后重新整理分析。直接和数据库核对(当然这个也需要你自己开发),核对完成生成一张表。
表上写的非常清楚你哪个机架没有哪个机器,哪个机器不在特定的位置上,哪个机器缺少……等等
六,监控架构
监控架构其实每个地方都有自己的做法,我也知道我的办法不是很先进,但是仍然拿出来和大家一起讨论
首先谈谈监控软件,一说起这个常用的东西MRTG,cacti一类的就都可以用了。只要稍微归类一下,流量展示看的还是很清楚的。
要是要监控服务一类的,那就只好启用大名鼎鼎的nagios,和一些牛x人基于这个做的一些别的商业软件。
或者就是自己做个脚本去定时探一下,不通了给你发邮件了啥的,你vim一下nagios的chack_xxx,学习一下里头人家探测的办法,自己也能搞出来个啥东西,都还是很不错的了。
作为IDC工程师,我们所要关注的东西就是个流量了,我们要很清楚某台65下的某台35上每个口的应用,当遭受攻击或者流量异常的时候,一眼就能知道是怎么回事。我不相信你天天看着10M的流量,某天突然一下给你来个80M,你说这是正常事件吧。哪怕正常,你也找相关的人确认一下吧,一个100m口跑 80M,估计电信的人都来找你了。
每天看着这些流量图是很枯燥的事情,那么我们没事只能想办法让他自动报警给我们了,于是EMAIL报警,然后把他发送到一个有手机提示新邮件的邮箱,你手机就有了。MSN报警,还是不错的吧,手机报警一类的办法都是不错的。这样你你可以和我一样放心的去打网游了。