慌慌张张掏出平时排查网络的老伙计,先给机房的服务器打了几个tcping包,测8080业务端口的时候,丢包率跳得像过山车,低的时候0.1%,高的时候直接飙到22%。换mtr看路由链路——mtr report no-dns 192.168.1.100(这里192.168.1.100是假设的我们服务器公网入口设备,你们可以换成自己的业务服务器公网IP),结果发现在本地运营商接入机房的那一跳,丢包和延迟直接爆了。联系机房运维小哥,磨磨蹭蹭半小时才告诉我,刚才隔壁工地挖断了他们的主光纤,备用线是单线的广电,切换阈值设得太高,高峰过去才自动接上。
说实话,之前选这家机房完全是图便宜,老板说一年能省三万块的托管费,我也没细琢磨网络这块,踩过这个坑才明白,托管机房的钱省在哪里都行,就是不能省网络的稳定性。
先说说怎么测潜在备选机房的真实网络情况吧,别光听销售吹什么“三线BGP,99.999%可用性”。第一,一定要拿到机房的测试服务器IP和SSH账号,用自己的本地设备和外地朋友的设备,分别跑24小时以上的mtr和tcping——本地看峰值丢包和延迟波动,外地跨运营商测,比如拿广州电信测北京联通的机房,看有没有绕路、丢包。我现在帮人选机房,本地设备会开tcping的长测脚本挂后台,比如nohup tcping -i 0.5 222.xxx.xxx.xxx 8080 > /tmp/mtr_tcping.log 2>&1 &,一天之后拉出来看丢包率统计,要是跨运营商丢包超过1%,直接pass。

第二,看机房的带宽和冗余情况。多数线上生产场景下,不要选单线或者双线伪BGP的机房,真BGP需要拿到AS号的,你们可以在测试的时候查一下测试服务器的AS路径——curl ipinfo.io/222.xxx.xxx.xxx/asn,真三线BGP的话,会有多个运营商的AS出现在路径里,而且绕路少。还有市电备用和UPS、发电机的联动系统,别听销售说“有UPS,有发电机”,一定要问清楚UPS的续航时间,发电机启动的延迟时间,有没有双路市电输入。我之前帮朋友选的一家北京的机房,双路市电分别来自不同的变电站,UPS续航2小时,发电机1分钟就能启动,而且发电机房有独立的储油和供油系统,价格只比我之前那家伪BGP贵了20%,网络稳定性提升了不止一个档次。
这里一定要敲黑板,新手运维和兼岗后端最容易踩的两个雷:一个是只看托管费的价格,忽略了网络稳定性和冗余;另一个是相信销售给的99.999%可用性承诺,一定要自己去测真实的网络情况,还要看机房的运维SLA协议,比如有没有写清楚网络中断超过多少分钟赔偿多少钱,有没有写清楚24小时有没有专人值守处理故障。
哦对了,还有物理环境,虽然和网络稳定性的直接关系不大,但也不能忽视。比如机房的温度、湿度、防尘等级,最好选有精密空调常年控制温度在22-24℃,湿度在40%-60%,防尘等级在IP50以上的机房。之前我有个同事把一台旧服务器放在一家小机房里,结果夏天的时候精密空调坏了,温度直接飙到45℃,服务器硬盘直接挂了,丢了半个月的测试数据。
你们在运维工作中有没有遇到过类似的机房踩坑经历?欢迎在评论区分享你的排查经验。

评论列表 (0条):
加载更多评论 Loading...