服务器出问题,原因大多简单。没有黑客,没有天灾,更常见的是一块用了四年的硬盘、一个悄悄写满的分区,或者一条线路在晚上八点之后开始丢包。稳定运行说到底,就是是把这些不起眼的问题提前处理掉。
云服务商能做的,是压低故障发生的概率,缩小故障发生后的影响,并且尽快恢复;做不到的,是让故障彻底消失。
硬件故障是最直观的一类。硬盘、内存、电源、风扇都有寿命,其中硬盘最容易出事,表现为系统突然卡死、文件系统变成只读,或者干脆重启。服务器用得越久,这类问题越多,所以设备的更换周期和备件储备,直接关系到故障率。
资源不足常被误当成故障。CPU长期跑满,内存耗尽后系统开始强制结束进程,磁盘写满导致数据库无法写入,这些情况下服务器并没有坏,只是撑不住了,症状往往是变慢而不是断线,业务高峰时尤其明显。
网络方面,晚高峰的线路拥堵像慢性病,光缆被施工挖断、海缆故障则是急性病。有个特征很好辨认:如果只有某个地区或某家运营商的用户反映打不开,其他地方一切正常,问题多半出在线路上,而不是服务器上。
数据中心的电力和制冷异常,发生得少,一旦发生影响面却很大。一次断电或者空调失效,可能让整排机柜同时受影响,服务器温度过高还会触发保护性关机。
网络攻击和安全问题同样会拖垮稳定性。DDoS把带宽堵死,机器本身再健康也没人访问得进来;服务器被入侵后拿去挖矿,CPU被占满,业务自然卡顿。
最后一类最容易被忽略,也最常见:配置错误和应用程序故障。防火墙规则误改、证书过期、代码内存泄漏、数据库连接数耗尽,这些问题出在用户自己的系统里,服务商一般无法替你解决。分清哪些属于基础设施问题、哪些属于应用问题,后面评估服务商的保障能力时,才不会提出不合理的期待。
基础设施的毛病不容易被客户看到,一旦出事却是最难绕开的。
一套像样的供电,至少有双路市电接入,后面接UPS不间断电源,再加柴油发电机。市电中断时,UPS先顶上,撑到发电机启动,整个过程服务器感觉不到停电。机柜内的服务器通常使用双电源,分别接在两路不同的供电线路上,任何一路检修都不影响运行。常说的T3级机房,核心就在于此:任何一路供电或制冷设备维护时,业务不需要停机。可以问服务商的具体问题包括:发电机的燃油储备能支撑多久,是否定期做带载演练。
服务器对温度很敏感。机房一般采用冷热通道隔离,精密空调带备份,温度和湿度有专门的监控点。温度过高,CPU会自动降频,严重时触发保护关机;湿度太低容易积累静电,太高又可能凝露。制冷的稳定性看的是冗余设计,也就是一台空调出故障时,其余的是否有足够余量接手。
光缆冗余有个常被忽略的细节:两条光缆如果走的是同一条管道,一次施工就可能同时挖断,所谓冗余也就没有意义了。可靠的做法是多条光缆从不同方向、不同路由进入机房,再接入不同运营商。机房内部的核心交换机、路由器同样需要双机备份,避免单台设备故障拖垮整个机房的网络。
日常巡检、硬盘健康状态检测、内存和电源告警监控,是把硬件故障消灭在发生之前的办法。备件库存也很关键,坏一块硬盘时,是当场更换还是等几天调货,对业务的影响天差地别。服务器本身的品牌和使用年限同样要看,到了寿命的设备应当按周期淘汰,而不是一直用到坏。
门禁、视频监控、机柜上锁、访客登记,防的是人为误操作和非授权接触。环境方面,烟感、漏水检测和气体消防是标配,用气体而不是水来灭火,是为了在扑灭火情的同时不损坏设备。这些措施平时不起眼,却决定了一次小事故会不会演变成大事故。
接入的运营商越多,用户从不同网络访问时可选的路径就越多,单一运营商出问题时,影响范围也越小。对业务来说,这意味着某家运营商的线路故障,不会让所有用户同时失联。
BGP让机房可以同时接入多家运营商,并根据线路状态自动选择路径。当某条线路出现故障,对应的路由被撤销,流量由其余线路接手。需要知道的是,这种切换并非瞬间完成,路由收敛需要一段时间,从几秒到几分钟不等,期间部分用户可能出现短暂的访问中断。服务商调度做得好不好,体现在切换是否及时、是否会在多条线路之间反复震荡。
除了线路层面,设备层面也要有冗余:服务器网卡双上联,接入交换机、汇聚交换机双机热备,任何一台设备故障时,由备用设备接管。切换时已建立的连接会不会中断,是衡量冗余设计成熟度的一个细节,值得向服务商了解。
跨境和跨区域访问,稳定性的主要风险来自国际出口拥塞和海缆故障。海缆检修或损坏时,流量被迫绕行,延迟会突然升高。降低这类风险的办法,一是选择有多个国际出口的机房,二是业务面向多个地区时,部署多个节点并配合CDN,避免所有用户都依赖同一条路径。
网络的问题经常是间歇性的,靠人工发现往往太晚。持续探测延迟和丢包,监控路由路径的变化,并在指标超过阈值时自动告警,服务商才有机会赶在用户投诉之前发现问题。
计算资源坏了可以换,线路断了可以切,数据丢了却无法重来,存储是稳定性里最不能出错的一环。
先说存储设备本身。SSD的随机读写能力比机械硬盘高出很多,对数据库、高并发网站这类业务影响明显;可靠性方面,要看是否采用RAID或者多副本,一块盘损坏时数据是否仍然完整。存储系统还应当持续监控坏块、健康状态和重建进度。RAID重建的几个小时里,如果恰好再有一块盘出问题,就可能丢数据,这是不少事故的真实路径。
接下来要分清三个常被混用的概念:存储冗余、数据备份和异地灾备。RAID或多副本好比在同一间屋子里放两个保险柜,一个坏了另一个还在,但屋子着火,两个都没了;而且冗余会把错误同步复制,误删一个文件,两份一起消失。备份像按时间点留存档案,能把数据退回到昨天的状态,用来对付误删、程序错误和勒索软件。异地灾备则是把档案放到另一栋楼里,对付的是整个机房出事。三者各管一块,不能互相替代。
快照也值得单独说一句。快照创建很快,适合在升级系统、修改配置之前随手留一个还原点,但它通常和原数据存放在同一套存储里,机房级故障时一并受影响,不能当成备份的全部。
评估数据保障,有两个数字比“数据很安全”几个字有用得多。一个是恢复点目标(RPO),指最多可以丢多长时间的数据;另一个是恢复时间目标(RTO),指故障后多久必须恢复。举个例子:每天凌晨三点做一次备份,下午三点出了问题,最多会丢掉十二个小时的数据。对订单系统来说,这个数字大概无法接受,需要更高频的备份,或者实时同步。备份是否真的能恢复,要在上线前实际演练一次,别等到出事才发现备份文件打不开。
监控的意义在于抢时间:故障总会发生,越早发现,影响越小。需要提醒的是,服务商的监控通常覆盖机房、网络、宿主机和实例的资源层面,应用自身的状态要靠用户自己补充。
看趋势,不看瞬时值。CPU偶尔冲到高位很正常,持续一段时间居高不下才需要处理。内存要区分被缓存占用的部分和真正可用的部分,不少人看到内存占用很高就紧张,其实系统只是把空闲内存拿去做了缓存。告警阈值应当结合业务特点设置,并保留历史曲线,便于判断服务器是否需要升级。
磁盘写满是非常典型的“低级事故”,日志文件无限增长,直到某天数据库停止写入。空间监控要提前预警,别等剩下百分之一才通知。I/O方面,读写等待时间变长,往往比空间不足更早暴露问题,比如磁盘开始出现坏道,或者别的业务占满了存储带宽。
带宽使用率接近上限,说明该考虑扩容;入口流量突然暴增,可能是攻击的信号;出口流量异常,则要警惕服务器是否被利用。连通性方面,除了在服务器内部监控,还需要从外部多个地点探测,因为服务器自己觉得一切正常,用户却未必访问得通。
告警的价值取决于能不能被及时处理。渠道要多样,短信、邮件、回调接口都应支持;级别要有区分,重要告警和提示性信息混在一起,时间长了谁也不会认真看。夜间谁来接收告警,也要有明确安排。
每一次异常都应留下记录:什么时间发生,哪个指标先异常,随后发生了什么,期间做过哪些变更。有了完整的时间线,才能判断根因,也才能避免同样的问题反复出现。
安全问题对稳定性的影响很直接。DDoS攻击消耗的是带宽和连接资源,被攻击的服务器哪怕毫发无损,用户也访问不了。防护通常部署在机房入口,由清洗设备把攻击流量过滤掉,再把正常流量转发给服务器,防护能力以带宽计量,单位是Gbps。要留意攻击流量超过防护阈值时会发生什么:有的服务商继续清洗,有的则将目标IP暂时封停,也就是所谓的“黑洞”,这一点应当在购买前问清楚。
CC攻击发生在应用层,模拟大量正常请求去消耗网站的处理能力,单靠入口带宽清洗很难识别,需要结合访问频率限制、行为识别等手段。防火墙和访问控制则决定了攻击面的大小:只开放必要的端口,管理端口限制来源IP,能挡掉大部分自动化扫描和暴力破解。
入侵检测与漏洞扫描,防的是服务器“从内部出问题”。被植入挖矿程序、被当作攻击别人的跳板,都会让资源被悄悄占用,稳定性下降而主人毫不知情。异常流量监测,特别是出口流量的突增,常常是发现这类问题的第一个信号。
最后是应急机制。攻击发生时,谁来判断,是否启用高防,是否临时封禁某些来源,多长时间内响应,这些在平时就应当有明确流程,而不是等到出事才临时商量。
拿一次假想的故障来说。凌晨两点多,监控发现某台云服务器的外网探测连续失败,告警发出;值班人员先查看同一宿主机上的其他实例,都正常,排除了宿主机故障;再通过控制台远程连接,系统运行正常,问题缩小到网络;MTR显示在机房出口处出现丢包,确认是上游线路异常,随即把流量切换到备用线路,十几分钟后探测恢复。事后,时间线和根因被记录下来,并与上游核对。这个过程,大致对应下面五步。
第一件事是缩小范围:是一台还是多台,是一个地区还是全部,是某家运营商还是所有用户。同时查看最近有没有变更,比如配置调整、系统升级、线路割接,相当一部分故障与最近的改动有关。
几个简单的判断方式很有用。控制台远程连接能进入系统、外网却访问不了,问题多半在网络或防火墙;远程连接也是黑屏或者无响应,要往系统崩溃或硬件故障上想;同一宿主机上的多个实例同时异常,宿主机的可能性就很大。
隔离是为了防止故障扩大,比如把异常节点摘出集群、封禁攻击来源、把实例迁移到其他宿主机。修复则针对根因,换掉故障硬件、回滚有问题的变更、重启异常服务。资源切换是在修复需要时间的情况下,先让业务跑起来,例如切换线路、启用备机、从备份恢复数据。
能ping通不等于恢复了。验证应当覆盖业务层面:登录、下单、支付这些关键流程是否正常,数据是否完整,监控曲线是否回到正常水平,并观察一段时间,确认不会再次复发。
复盘通常包含时间线、根因、影响范围和改进措施。对企业用户来说,重大故障之后向服务商索取一份书面说明,是合理的要求,也是判断对方是否认真对待稳定性的一个窗口。
下面六项值得逐条核实,每一项都尽量落到书面材料或可以验证的动作上:
1. 是否提供明确的网络可用性承诺。承诺的数字是多少,按月还是按年统计,未达标时如何赔偿,都要看清。只有宣传语、没有书面承诺的“高可用”,不能作为依据。
2. 是否具备运行状态监控。登录控制台,看有没有CPU、内存、磁盘、网络的监控曲线,能不能设置告警。
3. 是否有明确的故障响应流程。工单渠道、紧急联系方式、响应时限、问题升级路径是否写明,夜间和节假日有没有安排。
4. 是否提供数据备份及恢复产品。备份频率、保留周期、恢复方式、是否收费,最好在测试环境实际恢复一次。
5. 是否有网络或硬件故障处理机制。线路故障时能否切换,硬件故障时备件和迁移方案是什么。
6. 是否说明服务可用性的统计口径及免责条件。哪些情形不计入不可用时间,比如计划内维护、用户自身操作、攻击超过防护阈值、不可抗力;从什么时候开始计时;赔偿如何申请。
如果服务商愿意提供历史故障说明或者状态公告,也是加分项,说明它对问题不回避。
恒讯科技云服务器产品有资源监控、控制台管理、BGP网络、存储技术和安全防护等功能。下面按这几个方面说明,需要先交代一点:这些描述主要针对云服务器产品,物理服务器、服务器托管等产品的服务范围并不完全相同,选购时要分开看。
云服务器产品采用BGP线路,标注为多运营商覆盖,并提到线路自身具有容灾性。云服务器页面列出的节点包括北京、辽宁、江苏、香港、广东,海外地区的服务器可在对应产品页查看。香港服务器方面,官网介绍机房有CN2、电讯盈科、香港宽频、国际带宽等多条线路,可以按用户所在网络和业务类型选择。
管理方式上,云服务器提供Web控制台、远程终端和API,可以开通、关闭、重启、升级服务器;控制台提供CPU、内存、硬盘I/O的实时监控和报表,用户随时能看到服务器的运行情况。另有云监控服务,用于资源预警。这些功能的实际价值,在于业务出现异常时,用户自己能先判断是资源吃紧,还是别的原因,不用事事等工单。
物理服务器方面,香港服务器页介绍了一体化监控,用于实时检测运行状态并反馈信息,大部分机房支持一键重启和重装;香港高防服务器页面则提到实时监控报警系统,以及监控中心和维护人员的7×24小时值守。官网还称数据中心按T3+标准建设,这属于官网自己的表述,具体机房的设施情况,也建议在购买前向顾问确认。
云服务器产品页提到采用自带硬防的节点,部分节点免费提供20G防御,防御峰值可达300G,用于抵御DDoS、CC等攻击;安全服务方面,列出了DDoS防护、DNS劫持检测、入侵检测、漏洞扫描、网页木马检测、登录防护等。防御额度因节点和产品而异,比如香港高防服务器标注的是50G防护,业务容易遭受攻击的,应当按攻击规模选择对应产品,并在购买前确认攻击超过防护阈值后的处理方式。另有SSL证书等配套产品。
云服务器采用纯SSD架构和三层存储技术:缓存层、沉淀层、备份层分别负责数据的处理、缓存和灾备,三层之间实时同步,页面标注数据安全性99.999%、高可用性99.99%。此外还有跨机房热迁移功能,页面称可在约5分钟内把数据从一个机房迁移到另一个机房。物理服务器则是整机独享硬件,数据保护取决于所选配置,是否做了RAID、有没有备份方案,需要在购买时向顾问确认,云服务器页面描述的三层存储不能直接套用到物理服务器上。无论哪种产品,重要数据都建议另外做一份独立的异机或异地备份。
折算下来,99.99%意味着一年中允许的不可用时间约为52分钟,平均每个月约4分钟;99.9%则是一年约8.8小时;99.999%一年只有约5分钟。数字越高,对基础设施的要求越高。但数字本身不够,还要看统计口径:什么情况算不可用,连续多长时间才计入,计划内维护、用户自身原因、攻击超出防护阈值是否排除,未达标如何赔偿。另外,可用性和数据持久性是两个指标,前者衡量服务能不能用,后者衡量数据会不会丢,不要混在一起看。具体口径以服务协议为准。
网络通了,不代表应用能用。服务商保障的主要是机房、网络和资源层面的稳定,应用层的稳定,包括代码质量、数据库配置、依赖的第三方服务,要靠用户自己。一个典型的例子:应用存在内存泄漏,每隔几天进程就会崩溃,这时服务器、网络的监控全是绿色,业务却已经中断。所以应用层需要自己的监控,比如端口探测、页面状态检测和关键业务指标的告警。
要看具体产品和套餐,不能默认。恒讯云服务器页面介绍的三层存储中包含备份层,但备份的频率、保留周期、恢复方式,以及能否用来恢复被误删的数据,需要向服务商确认,不宜把平台层面的数据保护直接等同于自己的业务备份。物理服务器通常需要用户自己规划备份方案。比较稳妥的做法,是对重要数据另外做定期备份,并把备份存放在不同的设备或机房。
取决于故障类型,没法给出一个统一的数字。实例层面的异常重启,几分钟就能解决;宿主机故障要靠迁移,时间取决于平台的能力;物理服务器硬件损坏,要看备件和更换流程;线路故障则取决于上游运营商的处理速度。比起追问“多久能恢复”,不如先明确业务能接受的中断时间,再向服务商了解响应时限、处理流程和以往类似故障的处理记录,并把关键承诺写进服务协议。
取决于业务中断一小时的代价。算一笔账:停机一小时,损失多少收入,影响多少客户,再与灾备的投入对比。交易、订单这类核心业务,建议至少有异机或异地的备份,以及能快速拉起的恢复方案;对于普通展示型网站,定期备份加上可以快速重建的环境,通常也就够了。灾备也分层次,冷备成本低、恢复慢,温备和热备成本高、恢复快,按业务重要性选择即可。多节点部署的企业,可以把备份放到不同地区的节点上,这也是服务商提供多地区资源的价值所在。
Copyright © 2013-2020. All Rights Reserved. 恒讯科技 深圳市恒讯科技有限公司 粤ICP备20052954号 IDC证:B1-20230800.移动站


