运维关键技术点解剖
运维关键技术点解剖
大规模集群管理问题
集群不是泛指各功能服务器的总合,而是指为了达到某一目的或功能的服务器、硬盘资源的整合(机器数大于两台),对于应用来说它就是一个整体,目前常规集群可分为:高可用性集群(HA),负载均衡集群(如lvs),分布式储、计算存储集群(DFS,如 googlegfs ,yahoohadoop),特定应用集群(某一特定功能服务器组合、如db、cache层等)。目前互联网行业主要基于这四种类型。
对于前两种类似,如果业务简单、应用上post操作比较少,可以简单的采用四层交换机解决,达到服务高可用/负责均衡的作用,对于资源紧张的公司也有一些开源解决办法如lvs+ha,非常灵活;
对于后两种,那就考验公司技术实力及应用特点了,第三种DFS主要应用于海量数据应用上,如邮件、搜索等应用,特别是搜索要求就更高了,除了简单海量存储,还包括数据挖掘、用户行为分析。
如何科学的管理集群,有以下关键几点:
1、监控
主要包括故障监控和性能、流量、负载等状态监控,这些监控关系到集群的健康运行,及潜在问题的及时发现与干预;
a、服务故障、状态监控:主要是对服务器自身、上层应用、关联服务数据交互监控;例如针对前端webserver,我们就可以有很多种类型的监控,包括应用端口状态监控,便于及时发现服务器或应用本身是否crash、通过icmp包探测服务器健康状态,更上层可能还包括应用各频道业务的监控,常用方法是采用面业特征码进行判断,或对重点页面进行签名,以网站被黑篡改(报警、并自动恢复被篡改数据)等等。
b、其它就是集群状态类的监控或统计,为我们合理管理调优集群提供数据参考、包括服务瓶颈、性能问题、异常流量、攻击等问题。
2、故障管理
a、硬件故障问题;对于成百上千或上万机器的N多集群,服务器死机、硬件故障概率是非常大的,几乎每时每刻都有服务硬件问题,死机、硬盘损坏、电源、内存、交换机。
针对这种情况,我们在设计网站架构时需要充分考虑到这些问题,并将其视为常态;更多的依靠应用的冗余机制来规避这种风险,但给系统工程师足够宽裕的处理时间
b、应用故障问题;可能是某一bug被触发、或某一性能阀值被超越、攻击等情况不一而定,但重要的一点,是要有对这些问题的预防性措施,这需要运维工程师平时做足功夫,包括应急响应速度、故障处理的科学性、备用方案的有效等。
3、自动化
简而言之,就是将我们日常手动进行的一些工作通过工具,系统自动来完成,解放我们的双手及枯燥的重复性劳动。
自动完成以往每天人工干预的工作,使其自动完成、汇报结果,并具备一定的系统能力,能做一些简单的是/非判断、优化选择等。
应该说,自动化运维是运维工程师职业化的一个追求,利已利公,虽然这是一个异常艰巨的任务:不断变更的业务、不规范化的应用设计、开发模式、网络架构变更、IDC变更、规范变动等因素,都可能会对现有自动化系统产生影响。
所以需要模块化、接口化、变因参数化等。因此自动化相关工作,是运维工程师的核心重点工作之*,也是价值的体现。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 烟台达内教育烟台java培训烟台php培训 网站详细了解,免费咨询电话:400-998-6158