您好, 访客   登录/注册

基于虚拟化技术的云数据中心构建及自动化运维管理

来源:用户上传      作者:王晓天

  摘  要:针对传统数据中心逐渐过渡为云数据中心,以及对云数据中心中大量服务进行更快速地部署,更准确地服务状态监控的需求。本文提出虚拟化环境下数据中心构建方案,并对云数据中心中大量虚拟机如何进行自动化运维提出解决方法。通过数据中心中集群、虚拟网络及虚拟存储的部署,完整地体现了在虚拟化环境下数据中心的构建过程,采用自动化运维平台对云数据中心中虚拟机及虚拟机中的服务进行批量部署、管理及监控,并将采集到的服务器预警信息及时进行反馈。从而帮助企业快速构建虚拟化环境下的数据中心,提高服务运维的效率,保障服务运行的质量。
  关键词:虚拟化;云数据中心;自动化运维;Ansible
  中图分类号:TP393     文献标识码:A
  Abstract: With the transition from traditional data center to cloud data center, accurate service status monitoring for a large number of fast-deployed services is required. This paper proposes a data center construction framework in a virtual environment, which provides a solution for automatic operation and maintenance of large numbers of virtual machines in a cloud data center. Through deployment of clusters, virtual networks and virtual storage, the framework fully demonstrates the construction process of data center in a virtual environment. The automated operation and maintenance platform enables us to deploy, manage and monitor the virtual machines and the services in cloud data center in batches, and give a feedback to the warning information collected from server in time. The proposed framework helps enterprises quickly build data center in virtualized environment, improve maintenance efficiency, and ensure service quality.
  Keywords: virtualization; cloud data center; automated operation and maintenance; Ansible
  1   引言(Introduction)
  随着虚拟化技术的不断发展,企业对服务器运维成本及服务质量的要求,云数据中心已逐渐代替传统的数据中心,虚拟化环境的合理构建是保证业务连续性的基础。在虚拟化环境中存在数量众多的虚拟机,而作为服务器的各虚拟机中运行着不同种类的服务,这导致运维工程师负责管理的服务器及服务的数量进行了成倍地增长。如何对这些虚拟化环境下服务器中的服务进行高效的管理,保障服务运行效率以及服务的稳定性成为虚拟化环境下运维工作的难点问题[1]。本文针对以上问题进行研究,首先提出合理构建虚拟化環境的方案,之后在此虚拟化环境的基础上提出如何进行服务的自动化部署及监控的解决方案,从而提高虚拟化环境中运维工作的效率,不断提升服务器运行质效,减少故障发生概率[2]。
  2   虚拟化技术(Virtualization technology)
  2.1   虚拟化技术概述
  虚拟化技术最早出现在20世纪60代,美国IBM公司在大型机CP-40系统中尝试虚拟化的实现,随着小型机以及x86的流行,虚拟化技术越来越成熟[3]。
  虚拟化技术把物理上的资源转变为逻辑上可管理的资源,通过对原本各自独立的硬件资源整合与池化后进行资源的统一分配及再管理。
  虚拟化技术的优点主要包括:(1)提高硬件资源利用率。一台物理设备的利用率并不会达到100%,例如当磁盘利用率超过70%时即为重负载,磁盘响应时间呈指数增长。虚拟化技术出现后,可以通过集中化的管理来调整“峰值”的问题,同一台物理机上的多台虚拟机可被按需分配到资源,而物理机不必额外增加物理资源。(2)提高服务器及应用程序的可靠性。传统的物理服务器出现计划外的停机时,服务器上的应用程序必然受到影响,无法保障业务连续性。虚拟化技术可以对虚拟机及其应用程序进行实时监控,当监测到预警时可对虚拟机进行及时的迁移或其他容错操作,从而保证了虚拟机与应用程序的正常运行[4,5]。
  2.2   服务器虚拟化
  目前应用较多的几种虚拟化技术为:服务器虚拟化、网络虚拟化、存储虚拟化及桌面虚拟化。其中服务器虚拟化技术发展时间最长,应用最为广泛。它可以将物理服务器的资源集中化管理,将这些资源按照目前服务器上虚拟机对资源需求的优先次序来进行分配,从而达到资源最大的利用率。越来越多传统的数据中心转变为采用虚拟化技术的数据中心,通过服务器虚拟化技术减少了物理服务器的数量,提高了服务的可靠性[6]。   2.3   虚拟化技术选择
  VMware的vSphere是一组基础架构虚拟化套件,它能够提供虚拟化、管理、资源优化、应用可用性和操作自动化等功能。同时可以聚合物理硬件资源并为数据中心提供虚拟资源,是一款数据中心级别的虚拟化产品,也是目前市场占有率较高的一款服务器虚拟化产品。本文将采用vSphere套件进行虚拟化环境的构建。
  3   虚拟化数据中心(Virtualized data center)
  3.1   集群构建
  本文以两台物理服务器为例展现采用vSphere套件构建数据中心过程。
  (1)安装ESXi主机。首先为两台物理服务器安装ESXi操作系统,使其成为ESXi主机,为两台ESXi主机配置相同网络地址的IP地址。
  (2)在第一台ESXi主机中部署vCenter Server,访问vCenter Server,创建数据中心并在数据中心下创建集群,将两台ESXi主机加入vCenter Server管理。
  (3)分别在两台ESXi主机上创建四台虚拟机并安装Linux操作系统。
  vCenter Server与ESXi主机及其上虚拟机关系,如图1所示。
  3.2   虚拟网络构建
  vSphere中的虚拟网络主要由虚拟交换机、虚拟端口组、VMKernel端口组、上行链路端口和物理网卡组成。虚拟网络中存在两种类型的虚拟交换机,一种为标准虚拟交换机,在ESXi主机内部创建。另一种分布式交换机,需要通过vCenter Server创建,跨越ESXi主机。虚拟交换机上可建立端口组,用来连接虚拟机。每个端口组可以设置名字及VLAN ID,一个端口组可以看作是一个VLAN。
  构建数据中心中虚拟网络,首先在第一台ESXi主机上创建两台标准虚拟交换机,在第一台标准交换机上创建虚拟端口组,并将该ESXi主机上的虚拟机加入此虚拟端口组中。再在第二台标准交换机上创建VMkernel端口组并设置IP地址,VMKernel端口组主要用于IP存储、vSphere vMotion迁移及Fault Tolerance等操作。第二台ESXi主机上做相同操作。虚拟网络架构,如图2所示。
  3.3   虚拟存储构建
  采用Openfiler这款开源存储管理平台实现数据中心中存储部分功能。Openfiler能把标准x86/64架构的系统变成一个强大的NAS、SAN存储和IP存储网关,并为管理员提供一个强大的管理平台。
  (1)首先将Openfiler部署为一个虚拟机实例,之后对该虚拟机的磁盘进行LUN的划分,共划分为四个LUN,其中三个LUN模拟iSCSI存储,一个LUN模拟NFS存储,如图3所示。
  (2)将ESXi主机与存储进行关联。在ESXi主机中添加iSCSI存储适配器后扫描到目前存储,将目标存储添加至ESXi存储中。ESXi主机共关联三个存储,第一个为ESXi主机本地存储“datastore1”,第二个存储为Openfiler存储服务器中NFS存储,第三个为Openfiler存储服务器中的iSCSI存储,如图4所示。
  4  自动化运维平台(Automated operation and maintenance platform)
  通过自动化运维平台对数据中心中ESXi主机上的虚拟机进行批量的服务部署、服务状态的监控并及时发布预警信息,从而对数据中心中的虚拟机进行自动化的管理。平台前端Web部分采用JSP进行开发,服务配置文件的设置等通过shell脚本开发实现,采用Ansible作为主要运维工具。
  4.1   Ansible概述
  Ansible是一款開源的运维自动化工具,是基于Python语言开发的,集合了众多运维工具的优点,实现了配置管理、应用部署、复杂任务编排等功能。
  Ansible基于模块工作,主要包括:负责和被监控端实现通信的连接插件Connection Plugins;指定被管理主机的清单Host Inventory;Command模块、自定义模块;能够一次性执行多个任务的Playbook。
  4.2   自动化运维平台功能实现
  选择ESXi主机中的一台虚拟机作为主控主机,在这台虚拟机上部署自动化运维平台,数据中心中其他几台虚拟机作为控制节点,被主控主机管理。
  4.2.1   虚拟化服务器管理
  (1)虚拟机管理。可以在资源管理界面中的主机管理中看到已经连接到主控主机的虚拟机,对相关虚拟机进行修改和删除等操作。
  (2)批量添加虚拟服务器相关信息:名称、IP地址段、创建数量、系统用户名、密码、操作系统类型、默认状态,是否授权远程桌面管理等。如图5所示。
  (3)在管理端服务器上执行autoDHCP.sh将所管理的服务器IP地址与网卡MAC地址绑定。如图6所示。
  4.2.2   批量管理服务
  对各虚拟化服务器上的服务进行批量管理。
  (1)批量编译部署程序。选择编译部署的版本号信息及要编译部署的环境。这里提供开发、测试、演示、生产四种环境信息。
  (2)选择要编译的服务内容,确认后信息后,平台会从版本服务器下载最新提交的程序进行编译。确认编译成功,提交资源服务应程序包,将打包好的程序分发至各虚拟化服务器上。
  (3)重新启动服务,加载最新应用程序包。
  4.2.3   批量服务监控   可以通過系统资源服务信息,查看连接虚拟化服务器的状态,包括网络信息:DNS域名解析信息;IP地址信息;系统信息:主机名称、系统发布版本、内核版、确件信息、虚拟化信息等;硬件信息:CPU个数、线程数、硬件信息、内存信息等;虚拟化服务器中服务运行状态等。如图7所示。
  通过自动化运维平台,可以在成千上万台虚拟服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等。
  5   结论(Conclusion)
  本文详细阐述了采用虚拟化技术构建云数据中心的方案,包括数据中心中集群、虚拟网络,以及共享存储的部署,并提出在虚拟化环境下实现自动化运维的方法,实现了批量的服务部署、服务配置、系统信息监控等功能。有效地提高了运维人员工作质量与效率,降低了运维成本。
  参考文献(References)
  [1] 杨瀚琛.探讨云数据中心及云平台技术应用[J].电脑知识与技术,2020(6):79-81.
  [2] 沈尚博,袁泉.基于Ansible的自动化运维工具设计与实现[J].信息与电脑,2020(1):120-122.
  [3] 马玉芳.基于Openfiler存储服务器实现XenServer资源池的存储共享[J].数字技术与应用,2014(1):47-49.
  [4] 周纲.虚拟化技术在计算机技术创造中的运用[J].信息与电脑,2020(2):25-26;29.
  [5] 罗志恒,连万民.基于vCenter平台的虚拟机的监控与备份[J].科技风,2020(13):107-107;109.
  [6] Praddep Singh Rawat, Priti Dimri, Gyanendra Pal Saroha. Virtual machine allocation to the task using an optimization method in cloud computing environment[J]. International Journal of Information Technology: An Official Journal of Bharati Vidyapeeth's Institute of Computer Applications and Management, 2020,12(6):485-493.
转载注明来源:https://www.xzbu.com/1/view-15367114.htm