VMware vSphere 5.1 群集深入解析(七)

简介:

第七章 虚拟机和应用监控

虚拟机和应用监控是一个经常被人忽视,但又确实是HA的一个强大功能,可能由于它是HA的新功能、新组件,且通常默认配置下该功能没被启用。我们将试图收集所有虚拟机和应用监控的相关信息,但它是一个非常简单的产品,实际不是你期望的那样。

图40:虚拟机与应用监控

image

为什么你需要虚拟机和应用监控?

虚拟机和应用监控和HA分别扮演着不同的响应级别,虚拟机和应用监控是单个主机或者应用程序发生故障时响应,而HA是主机发生故障时响应。举个例子,一个虚拟机发生故障,如机器蓝屏,那么应用监控就会触发,反应给管理员或者应用开发者。

 

虚拟机/应用监控是如何工作的?

当需要时,虚拟机监控可以重置个别虚拟机,虚拟机和应用监控同HA类似,也使用心跳检测,在这个例子中,如果虚拟机上VMware Tools的心跳有一段时间未收到,虚拟机将被重新启动,这个心跳时被HA检测的,并不会跨越网络,只在主机上。

图41:虚拟机监控敏感性

image

当开启了虚拟机/应用监控,如图41,敏感级别将被配置,默认配置应该适用于很多场景中,低敏感度意味着允许丢失较多的心跳信号,机器运行在错误的位置较高,但是,如果发生故障,而敏感度较低,那么停机时间就越长,当发生故障需要快速响应时,应该选择高敏感度,和你预计的一样,它正好和低敏感度相反,高级设置见表5,该表已被启用,但有普及意义。

表5:虚拟机监控敏感度

image

要记住一件重要的事,那就是虚拟机监控不会无限重启虚拟机,除非客户根据需求设置相关策略,这是为了避免重复发生的问题,默认情况下,当虚拟机在一个小时内重启了三次,接下来将不再进行尝试,除非设定的时间值已经过去,接下来可以在默认的值中改变高级设置,可以在图41中选择。

尽管VMware Tools产生心跳信号相当可靠,VMware进一步增加了验证机制,为了避免虚拟运行在错误的位置,虚拟机监控还会监控虚拟机的活动I/O,当没有收到心跳信号或者没有磁盘读写或者网络活动已经过去120秒,默认情况下,虚拟机都会被重置,高级设置里可以通过 “das.iostatslnterval”参数修改时间值。

建议调整das.iostatsinterval”配合HA使用。

 

基本设计原则

正确配置”“das.iostatsinterval”时间值。

 

虚拟机监控实现细节

在vSphere 5.0之前,虚拟机/应用监控是通过HA的VPXA组件来实现的,而在vSphere5.0中,HA代理自身可以启动它,意思是说“虚拟机/应用监控”逻辑上是和HA代理一起的,代理使用性能管理来监控磁盘和网络I/O,虚拟机/应用监控使用量计算磁盘和网络,一旦足够的心跳信号丢失,将会触发配置策略。

在开始之前,虚拟机/应用监控使用的心跳信号就像是主机级别的HA,HA 代理监控心跳信号,并负责重启虚拟机,当然,信息还会被上传到vCenter中,但是是通过的管理网络,而不是业务网络,这意味着,当虚拟机的业务网络发生故障时,仍会收到虚拟机的心跳信号,当发生故障,且以下三个条件都出现后,将触发HA重新启动虚拟机。

1. 没有收到来自VMware Tools的心跳信号

2. 超过120秒没有网络I/O

3. 超过120秒没有存储I/O

就像主机级别的HA,当虚拟机即将重启,HA的代理在vCenter上独立工作。

 

时间选择

虚拟机/应用监控功能监控来自客户端的心跳信号,如果满足配置策略,心跳信号丢失,将会重置虚拟机,HA能监控的不只是VMware Tools进程中的心跳信号故障,还能监控来自客户代理的心跳信号加强故障。

如果虚拟机监控心跳在T-0停止,在HA将宣告心跳故障时间范围为81s到119s之间,那么最短时间在此时间段之前,而对于客户端应用心跳,HA会在61s到89s的范围内宣告故障,一旦应用心跳被声明故障,HA会尝试重置虚拟机,但是,对于VMware Tools的心跳,HA会首先检查虚拟机在过去的2分钟内IO是否有问题,如果没有IO,虚拟机将重置,由于HOSTD需要发布I/O状态,这个检查将使重置延迟20秒,大约在T-0后一分钟重置虚拟机。

时间细节:范围取决于当监视到心跳停止关联HOSTD文件,对于比较弱的VMware Tools心跳,在HOSTD运行后心跳停止。这意味着,在T+31,主机上的FDM代理将会被通告tools的黄色状态,然后在HA反应的T+61时刻变成红色状态,HA最少30秒监控到心跳失败,导致最小时间为T+91,HA可以通过设置das.failureterval的策略增加30s的监测时间,对于以上的场景,只到T+59s,FDM都不会被通知到(T=0发生故障,T+29HOSTD宣告它,开启心跳失败计时,在T+59 HOSTD报告黄色状态,T+89报告红色状态)。

当心跳故障来自于来宾代理,将不会有黄色状态发出,所以没有额外增加的30秒时间。

 

截屏

作为虚拟机监控的一部分,还有一个非常实用的功能,我们称之为虚拟机控制台截屏,在虚拟机监控重置虚拟机之前,将会截取正确的屏幕,这个功能被加入到vCenter 4.0中,当虚拟机因为不知名的原因冻结时,它是非常有用的功能,截屏可以被用作虚拟机操作系统的排错,它存储了虚拟机的工作目录,可以在虚拟机的监控选项中查看记录的事件。

 

基本设计原则

虚拟机和应用监控可以大幅提高可用性,它是HA的一部分,所以我们强烈推荐。

 

应用监控

在vSphere 4.1中,VMware介绍应用监控是虚拟机监控的一部分,应用监控是一个全新的功能,它可以增加组件的弹性,如图42所示,在vSphere 4.1的应用监控中,一个隐藏的API被创建,在vSphere 5.0中,SDK以HA SDK的形式出现在大家面前,在vSphere5.1中它是客户SDK的一部分。

图42:虚拟机和应用监控

image

客户端SDK目前主要用于应用程序开发人员,如提供给像赛门铁克这样的合作伙伴来开发解决方案,从而提高虚拟机监控以及HA在不同的响应级别的应变能力,在一个赛门铁克的案例中,一个简易版本的Veritas Cluster Server(VCS)用于开启应用程序的可用性监控,包括响应问题。请注意,VCS本身不是一个多节点的群集解决方案,而是一个单点的解决方案。

赛门铁克应用HA,之所以这么叫,因为它触发应用程序起来,并再次重新启动运行,赛门铁克的应用HA知道哪些服务应该被启动,哪些服务应该被停止,然后,如果一定数量的服务发生故障,HA将被要求采取重新启动虚拟机的行动。

虽然应用监控相对较新,只有少数的合作伙伴目前具备探索能力,在我们看来,它给整个水平增加了弹性,你的内部开发团队可以利用API提供的接口功能,或者你可以使用VMware合作伙伴开发的解决方案。我们已经测试了有赛门铁克开发的应用HA,个人觉得它是架构中缺失的一环,它可以使你的虚拟化层和应用层一体化,它确保你作为一个系统管理员,能保护复制按照正确的顺序重新启动,它避免了在重启或者维护中出现常见的错误。

 

应用认知API

在vSphere 5.0之前,应用认知API是不向客户公开的,只提供给合作伙伴,在vSphere 5.0中,应用认知API向所有人开放,我们觉得此处不适合深入分析怎样使用它,但是我们确实想简要的讨论它。应用认知API允许任何人和它沟通,包括脚本,它能够制造无限可能,当前有6个功能定义:

  • VMGuestAppMonitor_Enable()

  • Enables Monitoring

  • VMGuestAppMonitor_MarkActive()

  • Call every 30 seconds to mark application as active

  • VMGuestAppMonitor_Disable()

  • Disable Monitoring

  • VMGuestAppMonitor_IsEnabled()

  • Returns status of Monitoring VMGuestAppMonitor_GetAppStatus()

  • Returns the current application status recorded for the application

  • VMGuestAppMonitor_Free()

  • Frees the result of the VMGuestAppMonitor_GetAppStatus() call

这些功能可以被你的开发团队使用,但是应用监控还提供一个新的可执行文件,这使得您可以使用这个功能而不需要编译完整的二进制。这个命令时vmware-appmonitoring.exe,采用下列的参数,这不是巧合相似的功能。

  • Enable

  • Disable

  • markActive

  • isEnabled

  • getAppStatus

在执行此命令时输出如下介绍

C:\VMware-GuestAppMonitorSDK\bin\win32>vmware-appmonitor.exe Usage: vmware-appmonitor.exe {enable | disable | markActive | isEnabled | getApp Status}

有多种方式利用应用监控增加弹性,提高应用水平。

 






本文转自 tim2009 51CTO博客,原文链接:http://blog.51cto.com/virtualbox/1183248,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
JSON 监控 数据库
使用Telegraf+Influxdb+Grafana配置VMware vSphere监控大屏
使用Telegraf+Influxdb+Grafana配置VMware vSphere监控大屏
62 0
|
6月前
|
虚拟化
VMware vSphere Client中虚拟机“Disc Found”解决方法
VMware vSphere Client中虚拟机“Disc Found”解决方法
|
8月前
|
监控 负载均衡 安全
VMware vSphere 5.5 高可用性 2
VMware vSphere 5.5 高可用性
152 0
|
8月前
|
存储 资源调度 监控
VMware vSphere 5.5 高可用性 1
VMware vSphere 5.5 高可用性
68 0
|
10月前
|
存储 运维 程序员
[运维]VMware vSphere介绍
[运维]VMware vSphere介绍
120 1
|
11月前
|
存储 文件存储 开发工具
【VMware vSphere 7】虚拟化概述(一)
【VMware vSphere 7】虚拟化概述(一)
155 0
|
11月前
|
存储 测试技术 API
分享:VMware vSphere API玩法
分享:VMware vSphere API玩法
521 0
|
存储 Linux 虚拟化
VMware vSphere 入门学习笔记
ESXi是在物理服务器安装的服务端,所有虚拟机是安装再ESXi里面的,是服务端。 Vcenter是管理端 是安装在ESXi内的一台虚拟机,提供集中管理功能的,比如管理多台ESXi集群,还可以对虚拟机进行复制 克隆 制作模版等各种一系列管理功能操作。 Linux内核的Vcenter名字叫VCSA,Windows版本的Vcenter名字叫Vcenter。
274 0
VMware vSphere 入门学习笔记
|
虚拟化 容器 Linux

推荐镜像

更多