互联网时代的网络自动化运维

互联网时代的网络自动化运维,第1张

互联网时代的网络自动化运维

互联网上有两大主要元素"内容和眼球","内容"是互联网公司(或称ICP)提供的网络服务,如网页、游戏、即时通信等,"眼球"则是借指海量的互联网用户。互联网公司的内容往往分布在多个或大或小的IDC中,越来越多的"眼球"在盯着ICP所提供的内容,互联网公司进行内容存储的基础设施也呈现出了爆发式的增长。为了保障对内容的访问体验,互联网公司需要在不同的运营商、不同的省份/城市批量部署业务服务器用以对外提供服务,并为业务模块间的通信建立IDC内部网络、城域网和广域网,同时通过自建CDN或CDN专业服务公司对服务盲点进行覆盖。因此随着业务的增长,运维部门也显得愈发重要。他们经过这些年的积累,逐步形成了高效的运维体系。本文将结合国内互联网公司的经验,重点针对IT基础设施的新一代自动化运维体系展开讨论。

一、运维的三个阶段

● 第一个阶段:人人皆运维

在早期,一个公司的IT基础设施尚未达到一定的规模(通常在几台到几十台机器的规模),不一定有专门的运维人员或部门,运维的工作分担在各类岗位中。研发人员拥有服务器权限,自己维护和管理线上代码及业务。

● 第二个阶段:纵向自动化

随着业务量的增长,IT基础设施发展到了另外一个量级(通常在上百台至几千台机器的规模),开始有专门的运维人员,从事日常的安装维护工作,扮演"救火队员",收告警,有运维规范,但运维主要还是为研发提供后置服务。

这个阶段已经开始逐步向流程化处理进行过渡,运维部门开始输出常见问题处理的清单,有了自己业务范围适用的自动化脚本,开始利用开源软件的拼装完成大部分的工作。

具体表现为:各产品线有自己编写的脚本,利用如SVN+puppet或chef来完成服务器的上线和配置管理等工作。

● 第三阶段:一切皆自动

在互联网化的大潮中,越来越多的黑马团队应运而生,都曾有过短时间内用户访问量翻N倍的经历。在流量爆发的过程中,ICP的互联网基础服务设施是否能够很好的跟进,直接决定了业务内容能否满足海量用户的并发访问。

与此同时,运维系统需要足够地完善、高效、流程化。谷歌、腾讯、百度和阿里等规模的公司内一般都有统一的运维团队,有一套或多套自动化运维系统可供参照,运维部门与开发部门会是相互平行的视角。并且也开始更加关注IT基础设施在架构层面的优化以及超大规模集群下的自动化管理和切换(如图1所示)。

图1大型互联网公司IT基础设施情况概览

二、BAT(百度、阿里、腾讯)运维系统的分析

国内的互联网公司百度、阿里、腾讯(以下简称:BAT)所提供的主要业务内容不同,IT架构不同,运维系统在发展过程中有不同的关注点。

1腾讯运维:基于ITIL的运维服务管理

预计到2015年腾讯在全国将拥有60万台服务器。随着2012年自动化部署实践的成功,目前正在进行自动化验收的工作。在网络设备方面,后续将实现从需求端开始的全自动化工作:设备清单自动生成->采购清单自动下发->端口连接关系、拓扑关系自动生成->配置自动下发->自动验收。整个运维流程也已由初期的传统IT管理演进到基于ITIL的服务管理流程(如图2所示)。

图2腾讯基于ITIL的运维服务管理

2阿里运维系统:基于CMDB的基础设施管理+逻辑分层建模

CMDB(Configuration Management Database) 配置管理数据库(以下简称:CMDB),将IT基础架构的所有组件存储为配置项,维护每个配置项的详细数据,维护各配置项之间的关系数据以及事件、变更历史等管理数据。通过将这些数据整合到中央存储库,CMDB可以为企业了解和管理数据类型之间的因果关系提供保障。同时,CMDB与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。可实现IT服务支持、IT运维以及IT资产管理内部及三者之间的流程整合与自动化。在实际的项目中,CMDB常常被认为是构建其它ITIL流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。

3百度自动化运维:部署+监控+业务系统+关联关系

百度主要面临的运维挑战包括:突发的流量变化、复杂环境的关联影响、快速迭代的开发模式以及运维效率、运维质量、成本之间的平衡等等。百度的运维团队认为,当服务器规模达到上万台时,运维视角需要转为以服务为粒度。万台并不等于"百台100";机器的运行状态,也不再代表业务的工作状态;运维部门为研发提供前置服务,服务与服务之间关系也随着集群的扩大逐渐复杂起来。

图3百度自动化运维技术框架

百度的自动化运维技术框架,划分为部署、监控、业务系统、关联关系四大部分,整个框架更多突出了业务与IT基础设施的融合,注重"关联关系"的联动。所谓关联关系,主要是指任务与任务之间的时序依赖关系、任务与任务之间的数据依赖关系、任务与资源之间的引用依赖关系,分别对应到任务调度、数据传输、资源定位的服务流程中,形成了多条服务链。

关联关系的运维与业务较强相关,需要有一套系统能够理清楚关系的全貌,从而在复杂的服务链上,定位运行所在的环节,并在发生故障时预估影响范围,及时定位并通知相应的部门。在这样的一套系统中,自动化监控系统非常重要。百度的技术监控框架,主要通过数据采集、服务探测、第三方进行信息收集,进行监控评估后交给数据处理和报警联动模块处理,通过API接口进行功能扩充(如图4所示)。

图4百度自动化技术监控框架

其实无论是BAT等互联网企业还是其他行业的企业,在IT建设中都会遵循IT基础架构库(ITIL)或ISO20000服务管理的最佳实践,采用自动化IT管理解决方案以实现重要的业务目标,如减少服务中断、降低运营成本、提高IT效率等等。随着ISO20000、ITIL v30的发布和推广,两者已经成为事实上的某种标准。在当今企业IT管理领域,对两个标准有着很迫切的需求。特别是ISO20000的认证要求,已经成为企业越来越普遍的需求 。ITIL v30包含了对IT运维从战略、设计到转换、运营、改进的服务全生命周期的管理,相关方案往往覆盖了多个领域和多个产品,规划实施和工具的选择会比较纠结。如果选择开源的工具,从CMDB开始就会遇到很多的开发工作,对于很多注重成本收益比的企业,可以参考,但由于无法保证性能与效果并不一定适用。因此,成熟的商业方案会是更好的选择。

最新的iMC V7版本,围绕资源、用户、业务三个维度进行创新,发布了SOM服务运维管理(基于ISO20000、ITIL标准)等组件,增加了对服务器的管理,能很好的满足更多互联网化的场景需求。

通常认为,一个高效、好用的配置管理数据库一般需要满足6条重要标准,即联合、灵活的信息模型定义、标准合规、支持内置策略、自动发现和严格的访问控制。企业IT基础架构的元素类型、管理数据的类型往往有较多种,如网络设备、服务器、虚拟机等,因此对于多种信息的存储需要有合适的联合的方法。虽然 iMC智能管理平台在网络设备、服务器设备等方面已经能够较好的的满足,但是随着服务器虚拟化技术的发展,虚拟机正越来越多的成为IT基础架构的一大元素。因此,针对这一需求华三通信基于CAS CVM虚拟化管理系统,对服务器CPU、内存、磁盘I/O、网络I/O等更细节的重要资源以及虚拟机资源进行全面的管理。与BAT不同,华三通信的网管软件面向全行业,目前虽然没有对域名管理等特殊资源的'管理,但是能够通过API接口等方式与特有系统进行联动,进而满足定制化运维的需求,尤其是在互联网化的场景中,针对不同的业务需求,可以实现很多定制化的对接需求,例如,iMC+WSM组件与国内某大互联网公司自有Portal系统进行了对接,打通了iMC工具与用户自有运维平台,很好的实现了架构融和。另外,与阿里的逻辑分层建模相似,H3C "iMC+CAS"软件体系在上层也做了很多的逻辑抽象、分层,形成了诸多的模块,也即是大家看到的各种组件。

三、网络自动化运维体系

"哪怕是一个只有基础技术能力的陌生人,也能做专业的IT运维;哪怕是一个只有初中学历的运维人员,也能够带队完成中小型机房节点的建设,并负责数百至上千台服务器的维护管理工作"--这是一些公司对自己IT运行维护水平的一个整体评价。看似有些夸大的嫌疑,但实际上依托于强大的IT运维系统,国内已经有不少互联网公司能够达到或者接近这一标准。

这些企业都经历了运维发展过程中的各个阶段,运维部门曾经也是被动的、孤立的、分散的"救火队"式的团队,在后来的发展过程中,IT系统架构逐渐走向标准化、模型化,运维部门建立了完整的设备、系统资源管理数据库和知识库,包括所有硬件的配置情况、所有软件的参数配置,购买日期、维修记录,运维风险看板等等,通过网管软件,进行系统远程自动化监控。运维过程中系统会收集所有的问题、事件、变更、服务级别等信息并录入管理系统,不断完善进而形成一套趋向自动化的运作支撑机制。按照云计算的体系架构,在这样一套系统中,主要的IT资源包括计算、存储、网络资源,近些年随着网络设备厂商的推动,网络设备管理方面的自动化技术也得到十足的发展。

总结来看,一个企业在进行互联网化的建设初期,就需要考虑到随着用户访问量的增加,资源如何进行扩展。具体可以细化为规划、建设、管理、监控、运维五个方面。

1规划模型化

为了确保后续业务能够平滑扩容,网管系统能够顺利跟进,互联网企业一般在早期整体系统架构设计时便充分考虑到标准化、模型化,新增业务资源就好比点快餐,随需随取。

标准化:一是采用标准协议和技术搭建,扩展性好,使用的产品较统一,便于管理;二是采用数据中心级设备,保证可靠性、灵活性,充分考虑业务系统对低时延的要求。

模型化:基于业务需求设计网络架构模型,验证后形成基线,可批量复制,统一管理,也适宜通过自动化提高部署效率、网管效率。

图5常见互联网IDC架构

2建设自动化

互联网IT基础设施具备批量复制能力之后,可以通过自动化技术,提高上线效率。在新节点建设过程中,3~5人的小型团队即可完成机房上线工作。例如某互联网公司某次针对海外紧急业务需求,一共派遣了2名工程师到现场进行设备安装部署和基本配置,而后通过互联网链路,设备从总部管理系统中自动获取配置和设备版本,下载业务系统,完成设备安装到机房上线不超过1周时间。

要达到自动化运维的目标,建设过程中需要重点考虑批量复制和自动化上线两个方面(如图6所示)。

批量复制:根据业务需要,梳理技术关注点,设计网络模型,进行充分测试和试点,输出软、硬件配置模板,进而可进行批量部署。

自动化上线:充分利用TR069、Autoconfig等技术,采用零配置功能批量自动化上线设备,效率能够得到成倍提升。

图6批量配置与自动化上线

○ Autoconfig与TR069的主要有三个区别:

○ Autoconfig适用于零配置部署,后续一般需要专门的网管系统;TR069是一套完整的管理方案,不仅在初始零配置时有用,后续还可以一直对设备进行监控和配置管理、软件升级等。

○ Autoconfig使用DHCP与TFTP--简单,TR069零配置使用DHCP与>检查ESX物理服务器是否在兼容列表中,特别是BIOS的版本是否符合ESX版本的要求
开启ESX物理服务器硬件虚拟化技术VT-X,AMD-V
关闭BIOS中的英特尔SpeedStep和AMD PowerNow的CPU电源节电管理模式。节电模式使CPU低频运行,降低CPU性能。
避免在服务控制台中运行会占用过多 CPU 或内存资源的程序
限定vCenter数据库日志文件的大小或者把数据库日志的恢复模式更改为简单。



二、虚拟机的优化
安装合适版本的Vmware tools,使用vCenter或者vsphere client推荐的版本。


在虚拟机中,断开或禁用未使用的或不必要的物理硬件,例如:com端口、LPT端口、USB控制器,软盘驱动器、光盘驱动器、网络接口等
虚拟机尽量禁用屏保程序和窗口动画,在Linux上禁用X window图形桌面。
虚拟机的备份和防病毒程序运行在非高峰期,并错开计划任务的时间点。
定期做磁盘碎片的整理
配置NTP服务器。
虚拟机要定期清理快照文件。
P2V迁移成功后删除原物理硬件相关的驱动程序,删除影子设备。
三、CPU性能优化
不要过量分配虚拟CPU,尽量减少虚拟CPU的数量。
虚拟机在多处理器环境下需要处理器的速度一样,如果某个CPU速度快了,需要该CPU跑慢点儿,等待运行慢的CPU跟上。ESXtop命令中%CSTP值较高,说明该虚拟机不需要这么多CPU。

将主机上或资源池中其他虚拟机的 CPU 使用情况与此虚拟机的 CPU 使用情况值进行比较。
确定虚拟机CPU就绪时间过长是否由其 CPU 使用情况时间达到CPU 限制设置所致。如果出现这种情况,请增加虚拟机上的CPU 限制。
增加 CPU 份额以给予虚拟机更多机会运行。
增加分配给虚拟机的内存量。减少应用程序的磁盘和网络活动,这可能会降低磁盘 I/O,并减少 ESX主机对虚拟化硬件的需求。
如有必要,请在主机上升级物理 CPU。
启用节省CPU功能(例如 TCP 分段卸载、较大内存页面、巨型帧等)。
四、存储的优化
存储设备的兼容性检查,包含Firmware的版本。
HBA兼容性检查
配置存储网络的冗余路径,存储处理器是主动和被动模式,使用MRU,主动和主动模式使用FIXED。
相同读写类型的应用,尽量不用放在同一LUN上。
根据虚拟机读写的带宽,放在不同raid组的LUN上。
使用厚磁盘的模式性能优于精简磁盘。
厚置备延迟置零:默认的创建格式,创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,没有置零 *** 作,当有IO *** 作时,需要等待清零 *** 作完成后才能完成IO,即:分配好空间,执行写 *** 作时才会按需要将其置零;
厚置备置零(thick):创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。并将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。即:分配好空间并置零 *** 作,有IO的时无需等待任何 *** 作直接执行。
精简置备(thin):精简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少。当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行清零 *** 作,也就是说如果使用精简配置在有IO的时候需要:等待分配空间和清零,这 两个步骤完成后才能进行 *** 作,对于IO叫频繁的应用这样性能会有所下降,虽然节省了存储空间。同一个LUN上放置不超过12台虚拟机。
使用磁盘份额区分磁盘的优先级
五、磁盘I/O性能
增加虚拟机内存。
在所有客户机上整理文件系统碎片。
禁止对 VMDK 文件进行防病毒按需扫描。
使用 Storage VMotion根据虚拟机磁盘IO读写的要求,在不同的磁盘组或者RAID组的LUN迁移 I/O 密集型虚拟机。
使用多路径切换策略,均衡存储的负载。
更改HBA卡的队列深度
删除虚拟机的快照文件
减少vmotion和DRS发生的频率
六、内存性能优化

避免内存的过量分配
仔细精确计算分配给虚拟机的内存量及VCPU数量,减少内存开销
验证是否在每个虚拟机上均安装了 VMware Tools。
如果虚拟机的内存预留值设置大大高于活动内存设置,则减少预留设置,以便 VMkernel 可以在主机上回收空闲内存供其他虚拟机使用。
将一个或多个虚拟机迁移到 DRS 群集中的其它上。
七、网络优化
SC、vmkernel、VM分属于不同的虚拟交换机。
使用VLAN技术
在物理交换机的端口上开启portfast
验证是否在每个虚拟机上均安装了 VMware Tools。
如果可能,使用 vmxnet3 网卡驱动程序,这些驱动程序可用于 VMware Tools。并对其进行了优化,以提高性能。
如果在相同 ESX/ESXi 主机上运行的虚拟机之间相互通信,则将它们连接到相同 vSwitch 以避免通过物理网络传输数据包。
使用NIC Teaming 增加网络带宽。
使用单独的物理网卡处理不同的数据流量,例如由虚拟机、iSCSI 协议、VMotion 任务和服务控制台活动生成的网络数据包。
验证物理网卡的端口速度和双工模式设置符合硬件配置,以便其发挥最大性能。

*** 作
R1:
<Huawei> system-view                                                    #进入系统视图
[Huawei] sysname R1                                                        #设置名称
[R1] interface GigabitEthernet 0/0/0                                  #进入接口
[R1-GigabitEthernet0/0/0] ip address 19216811 24          #配置接口ip
[R1-GigabitEthernet0/0/0] q
[R1] interface loopback 0                                                  #进入回环接口
[R1-LoopBack0] ip address 1111 32                                #设置回环ip
[R1-LoopBack0] q
[R1] ospf 1 router-id 1111                                               #配置ospf编号及私有路由ip
[R1-ospf-1] area 0                                                             #配置所属区域
[R1-ospf-1-area-0000] network 19216810 000255       #声明直连路由网段
[R1-ospf-1-area-0000] network 1111 0000                  #声明回环ip
R2:
<Huawei> sys
[Huawei] sysname R2
[R2] inter g0/0/0
[R2-GigabitEthernet0/0/0] ip address 19216812 24
[R2-GigabitEthernet0/0/0] interface g0/0/1
[R2-GigabitEthernet0/0/1] ip address 19216821 24
[R2-GigabitEthernet0/0/1] q
[R2] interface LoopBack 0
[R2-LoopBack0] ip address 2222 32
[R2-LoopBack0] q
[R2] ospf 1 router-id 2222
[R2-ospf-1] area 0
[R2-ospf-1-area-0000] network 19216810 000255
[R2-ospf-1-area-0000] area 1
[R2-ospf-1-area-0001] network 19216820 000255
[R2-ospf-1-area-0001] network 2222 0000
[R2-ospf-1-area-0001] vlink-peer 3333                        #定义虚拟连接 相邻路由id
R3:
<Huawei> sys
[Huawei] sysname R3
[R3] interface g0/0/1
[R3-GigabitEthernet0/0/1] ip address 19216822 24
[R3-GigabitEthernet0/0/1] interface g0/0/0
[R3-GigabitEthernet0/0/0] ip address 19216831 24
[R3-GigabitEthernet0/0/0] quit
[R3] interface loopback 0
[R3-LoopBack0] ip address 3333 32
[R3-LoopBack0] q
[R3] ospf 1 router-id 3333
[R3-ospf-1] area 1
[R3-ospf-1-area-0001] network 19216820 000255
[R3-ospf-1-area-0001] network 3333 0000
[R3-ospf-1-area-0001] vlink-peer 2222
[R3-ospf-1-area-0001] q
[R3-ospf-1] area 2
[R3-ospf-1-area-0002] network 19216830 000255
[R3-ospf-1-area-0002] q
R4:
<Huawei> sys
[Huawei] sysname R4
[R4] inter g0/0/0
[R4-GigabitEthernet0/0/0] ip address 19216832 24
[R4-GigabitEthernet0/0/0] q
[R4] interface loopback 0
[R4-LoopBack0] ip address 4444 32
[R4-LoopBack0] q
[R4] ospf 1 router-id 4444
[R4-ospf-1] area 2
[R4-ospf-1-area-0002] network 19216830 000255
[R4-ospf-1-area-0002] network 4444 0000
验证:
<R1> ping 19216832               #R1 ping R4

理解:

服务器虚拟化:又称网络虚拟架构,是指将一台物理的计算机软件环境分割为多个独立分区,每个分区均可以按照需求模拟出一台完整计算机的技术。

服务器虚拟化是使用虚拟化软件在一个硬件服务器上虚拟化多个虚拟服务器。每个虚拟机服务器都有自己的 *** 作系统,提供自己的服务,这些服务彼此直接相关,互不影响。它就像一个单独的服务器在使用。

扩展资料:

服务器虚拟化的特点:

1、分区:

将物理服务器进行虚拟化后。使得在一个物理服务器上同时运行多 *** 作系统,每个 *** 作系统单独运行在一台虚拟机,通过在多个虚机之间划分系统资源以满足使用需求,显然,这将提高服务器的利用效率。

2、隔离:

由于在硬件层实现了虚拟机之间的故障和安全隔离,因而因 *** 作系统或应用软件带来的安全问题能够更好地进行隔离,更好地保证安全性。而且通过高级资源调控还能动态地保证不同虚机的性能。

3、封装:

运行的每个虚机都被封装为文件,这样在移动和复制虚机时就如同移动和复制文件一样简单,提高管理和部署的便利。

4、硬件独立性:

虚拟机可以在异构硬件安装和移动,基于虚拟化技术,可以在AMD或Intel架构的服务器上进行不同 *** 作系统的安装和移动,可以更好地整合现有的异构硬件资源来提高使用效率和节约投资。

参考资料来源:百度百科-服务器虚拟化


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13232931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-24
下一篇 2023-06-24

发表评论

登录后才能评论

评论列表(0条)

保存