在上一篇随笔中介绍了关于重新注册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. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  2. 转:serialVersionUID作用

    汗,以前学了还忘了... Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本 ...

  3. html5 与视频

    1.视频支持格式. 有3种视频格式被浏览器广泛支持:.ogg,.mp4,.webm. Theora+Vorbis=.ogg  (Theora:视频编码器,Vorbis:音频编码器) H.264+$$$ ...

  4. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波

    注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...

  5. mongodb

    修改所有的记录: > db.t_express_apply.update({},{$set:{"isStatus" : 0}},{multi:true})WriteResul ...

  6. linux服务器开发一 基础

    注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...

  7. 微服务与Docker介绍

    什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...

  8. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  9. Android listview和gridview以及view的区别

    GridView 可以指定显示的条目的列数. listview一般显示的条目的列数都是一列 如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView andr ...

  10. django 第三天 有关库使用

    项目中经常会用到第三方的lib和app,有些lib和app会进行不断更新,更新后可能会存在冲突,因此可以创建externals目录,下面欧app和libs.app存放django-cms,haysta ...