在上一篇随笔中介绍了关于重新注册VMware Update ManagerVUM)至vCenter Server的方法,最近有朋友反应,原本切换过去好好的更新服务为什么某次使用一下就不灵了?

当时在VCenter客户端下面的报错信息提示有数据库临时不可用或网络问题。

Figure 1在vSphere Client中启用VUM插件的时候会提示这台VC服务器连接到VUM的时候反馈数据库临时不可用或网络有问题

接着前往VUM服务器查看该服务是否良好运转,发现如上篇随笔中提到的“VMware vSphere Update Manager 服务”和“VMware vSphere Update Manager UFA 服务”两项服务并未启动,手工尝试启动也会提示启动失败,问题原因基本可以确定是VUM服务器出现了故障。

通过翻阅VUM的相关帮助文档,发现,VUM启动的时候会去检索上一次有过关联的VC上的主机与虚拟机情况,如果第一次启动不了,可以尝试多次重启VUM的主服务“VMware vSphere Update Manager 服务”即可,我实在尝试了第二次之后,该条主服务启动正常,同时通过Procmon查看到生成了一个相对较大体积的日志文件,打开之后可以看到基本上全都是做查询输出该关联VC上的各种信息。

Figure 2在默认的日志路径C:\ProgramData\VMware\VMware Update Manager\Logs下面,可以看到所产生的日志,里面有一个19MB的大文件

Figure 3打开这个大文件可以看到很多访问虚拟机的动作,检查是否有请求更新VM产品的内容,红色隐掉的就是虚拟机的名字

使用VMwareUpdateManagerUtility.exe这个实用工具继续注册一下VC和这个VUM的关联关系,但是注册过程中还是会提示数据库连接异常的错误信息(很抱歉当时没有截图),既然和数据库较真,那就好好看看和数据库有关的内容,当时安装VUM的时候需要使用一个数据库,本人使用的是VCenter自带的SQL Express 2008R2,想想上次由于一些原因修改了主机密码,然后看到VMwareUpdateManagerUtility.exe实用工具里面有一项配置注册数据库的项目Database Settings,通过他注册的时候发现又报错了,赶快打开先前运行的procmon,设置过滤项—>只看文件项,发现了他写日志的地方,顺的jump to 一下,看到两个文件。

Figure 4通过Procmon了解到该程序在磁盘上的文件操作,右键路径jump to一下

Applying configuration...

[QuickInf] 2015-09-16 12:15:58 -D "VMware vSphere Update Manager" -U administrator -P **** -C "D:\VMware\Infrastructure\Update Manager" -L "C:\Users\ADMINI~1\AppData\Local\VMware\vpx\Logs" -T "SQL Native Client" -O dbcheck -g 1

[QuickInf] 2015-09-16 12:16:15 vciInstallUtils returned :E_DB_CONNECT_FAILED

[QuickInf] 2015-09-16 12:16:15 Error:: Database error: Could not connect to the database.

[QuickInf] 2015-09-16 12:16:15 Error:: Database error: Could not connect to the database.

[QuickInf] 2015-09-16 12:16:15 Error:: Database error: Could not connect to the database.

Figure 5 vmum-utility日志文件输出的错误信息是和数据库有关的,连接数据库失败,"VMware vSphere Update Manager"这个就是DSN信息

[2015-09-16 12:16:15:613 '' 7456 ERROR] [installerRunDBCommand, 108] [DATABASE] InitConnection: ODBC error: (08001) - [Microsoft][SQL Server Native Client 10.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].

[2015-09-16 12:16:15:622 '' 7456 ERROR] [installerRunDBCommand, 261] [DATABASE] Failed to log in db

Figure 6 vmware-vci-vciInstallUtils-log4cpp日志文件输出的错误信息还是和数据库有关,而且很明确的指出了使用ODBC连接方式出现了问题

通过上面的报错信息,可以判断到问题发生在ODBC连接上。

在Windows 中ODBC的连接设置可以通过“管理工具”下面的“数据源(ODBC)”来进行维护 ODBC 数据源和驱动程序。

打开“数据源(ODBC)”,对VUM使用的数据源进行一下配置。

初次打开发现并没有"VMware vSphere Update Manager"对应的DSN信息,因为这个根本性的问题很清晰了,就是缺少"VMware vSphere Update Manager"DSN信息,我这里按照向导重新配置一下就好了。以下是关键点流程截图:

配置一套新的数据源

Figure 7创建一个基于SQL Server Native Client 的新数据源

Figure 8按照图示进行创建,在服务器的区域选择使用.\实例的模式,这样避免修改了主机名数据库连接不上的可能

Figure 9授权信息全部默认,不做任何操作

Figure 10因为是本地自建的,所以数据库选择方面直接选择VIM_UMDB这个数据库,其余项保持默认

Figure 11查看一下汇总信息,如果希望保存日志,可以勾选一下并输出,其余保持默认,点击完成。

创建好相关的DSN之后,就可以重新在VMwareUpdateManagerUtility.exe 中注册数据库,并且绑定VC与VUM的关系,至此问题全部解决。

总结:

就问题原因回顾一下操作,都有过更改主机名、更改IP、VC升级(弃掉原有的SQL Server数据库变为VMware内置的数据库)等这些比较“要命”的操作。

此次的修复过程避免了重新安装的一股脑问题故障点不明确的情况,同时加深了VUM整体的和学习!

其他参考文件:

当发生VUM升级主机不成功的时候,报告“无法在主机上运行升级脚本”的情况,可以尝试使用VMKB2007163,进行解决。

-=EOB=-

如何修复VUM在客户端启用之后报数据库连接失败的问题的更多相关文章

  1. signalR客户端调用服务端方法失败

    现象: 在VS中修改集线器代码后,重新生成解决方案,客户端js调用服务端方法提示undefined. 检查后台代码未发现错误. 检查js代码未发现错误(方法名称符合小驼峰规范). 解决方法: 先清理解 ...

  2. hadoop集群中客户端修改、删除文件失败

    这是因为hadoop集群在启动时自动进入安全模式 查看安全模式状态:hadoop fs –safemode get 进入安全模式状态:hadoop fs –safemode enter 退出安全模式状 ...

  3. 使用macaca抓页面元素,执行命令后报安装失败处理Error: Command failed: ……pm install -r "/data/local/tmp/com.macaca.android.testing"

    最近换了小米手机做自动化测试,执行命令的时候报安装失败错误,错误如下 解决:设置小米允许USB安装就好了 pm install -r "/data/local/tmp/com.macaca. ...

  4. 关于数据库客户端navicat创建新连接失败的问题

    如图是navicat创建新连接的截图: 我就有一个疑问了,主机填localhost或者127.0.0.1都是本机,自然是可以连接成功的,那如果填本机的IP地址会怎样呢? 如下图,出现了报错: 说我的访 ...

  5. [Shell]CVE-2019-0708漏洞复现及修复补丁

    0x01 漏洞原理 Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广,windows2003.windows2008.windows2008 R2.windows 7 ...

  6. ZeroC Ice启用SSL通讯的配置

    Zeroc ICE ( Internet Communications Engine )中间件号称标准统一,开源,跨平台,跨语言,分布式,安全,服务透明,负载均衡,面向对象,性能优越,防火墙穿透,通讯 ...

  7. 如何修复AppScan漏洞

    [AppScan]修复漏洞一:启用不安全的HTTP方法 (中) 漏洞背景:      “启用了不安全的 HTTP 方法”属于“中”危漏洞.漏洞描述是:根据APPSCAN的报告,APPSCAN通过OPT ...

  8. jmeter 启用gzip压缩——解决测试中web服务器上行流量过大的问题

    最近测了几个前端的项目,发现它们都有一个共同点:应用所在服务器的网卡上行(trans)非常大——经常是 117 MB/S,这已经逼近了千兆网卡的极限了.下面记录下排查和解决过程: 一. jmeter ...

  9. 企业内部在centos7.2系统中必杀技NTP时间服务器及内网服务器时间同步(windows和linux客户端同步)

    网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Unive ...

随机推荐

  1. Angular2入门系列教程2-项目初体验-编写自己的第一个组件

    上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...

  2. NodeJs之pm2

    pm2 pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能. 开发过程中建议时不时的参看官方详细命令行使用:命令行 pm2 ...

  3. Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动、滚动插件

    Jquery Mobiscroll是一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件.以及各种滑动插件 可以让用户 ...

  4. Canvas绘图之平移translate、旋转rotate、缩放scale

    画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...

  5. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入

    上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...

  6. Redis百亿级Key存储方案(转)

    1 需求背景 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperi ...

  7. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

  8. Configure a VLAN (on top of a bond) with NetworkManager (nmcli) in RHEL7

    not on top of a bond Environment Red Hat Enterprise Linux 7 NetworkManager Issue Need an 802.1q VLAN ...

  9. NOIP2016纪录[那些我所追求的]

    人生第一场正式OI [序] 2016-12-04 见底部 [Day -1] 2016-11-17 期中考试无心插柳柳成荫,考了全市第2班里第1(还不是因为只复习了不到两天考试),马上请了一个周的假准备 ...

  10. Linux学习日记-MVC的部署(三)

    一.Mvc与wcf 相对WCF的部署MVC还是有点麻烦,我们要考虑哪些dll是不需要的,哪些是要拷贝到本地的. 而WCF因为有些配置文件不支持,我们只需要在配置wcf时不使用配置文件而直接使用代码就行 ...