My Technology Workstation

我的技能成长之路~~~~~~~~~~~~

部署在VM上的vCenter迁移

一.故障描述
近期因项目实施需要,多次对VM HOST上部署的vCenter进行vMotion迁移(跨host跨datastore)。结果每次都在迁移到一半左右直接整个vSphere Client就链接不到vCenter,当然,第一次出现这个问题的时候当时就开始冷汗直冒了。甚至有直接重做vCenter的场景出现过,不说啦都是....
排除以上提到的重做vCenter(这个办法必定有效咯,因为毕竟新装的基本不会出问题),还做过以下尝试:
1).直接克隆一个Vc,结果可想而知没启动起来服务;
2).先做个快照,再克隆,结果快照克隆不过去(当然是直接起不来服务)。

非资深VM维护人员,技术水平可能会被各位看官笑哈!为了以后不经常为此折腾,找日志吧,就说么这才是正道。vpxd.log,服务起不来的时候往往会有类似的日志(以下日志摘自kb,勿怪):
<YYYY-MM-DD><TIME> [04584 info 'authvpxdMoSessionManager'] [SSO][SessionManagerMo::Init] Downloading STS Root certificates ...
<YYYY-MM-DD><TIME> [04584 verbose '[SSO][SsoCertificateManagerImpl]'] [InitConfigManagementService]
<YYYY-MM-DD><TIME> [04584 verbose '[SSO][SsoCertificateManagerImpl]'] [CreateAdminSsoServiceContent] Connecting to SSO Admin server ...
<YYYY-MM-DD><TIME> [04584 trivia 'vmomi.soapStub[0]'] Sending soap request to [<cs p:000000000cdeaf40, TCP:vchostname.test.vmware.net:7444>]: retrieveServiceContent {}
<YYYY-MM-DD><TIME> [04584 trivia 'HttpConnectionPool-000001'] [IncConnectionCount] Number of connections to <cs p:00000000cdeaf40, TCP:vchostname.test.vmware.net:7444> incremented to 1
<YYYY-MM-DD><TIME> [04584 trivia 'HttpConnectionPool-000001'] [PopPendingConnection] Found pending connection to <cs p:00000000cdeaf40, TCP:vchostname.test.vmware.net:7444>
<YYYY-MM-DD><TIME> [04584 trivia 'vmomi.soapStub[0]'] Request started [class Vmacore::Http::UserAgentImpl::AsyncSendRequestHelper:000000000DF7FA68]
<YYYY-MM-DD><TIME> [04280 trivia 'Default'] SSLStreamImpl::DoClientHandshake: verifyPeerName (vchostname.test.vmware.net), peerCertDigest (), unverifiedAction (fail)
<YYYY-MM-DD><TIME> [06108 info 'Default'] Thread attached
<YYYY-MM-DD><TIME> [04280 trivia 'vmomi.soapStub[0]'] Request completed [class Vmacore::Http::UserAgentImpl::AsyncSendRequestHelper:000000000DF7FA68]
<YYYY-MM-DD><TIME> [04584 trivia 'HttpConnectionPool-000001'] [DecConnectionCount] Number of connections to <cs p:00000000cdeaf40, TCP:vchostname.test.vmware.net:7444> decremented to 0
<YYYY-MM-DD><TIME> [04584 error 'vpxdvpxdMain'] [Vpxd::ServerApp::Init] Init failed: Unexpected exception
--> Backtrace:
--> backtrace[00] rip 000000018018977a
--> backtrace[01] rip 0000000180100c98
--> backtrace[02] rip 0000000180101fae
--> backtrace[03] rip 000000018008aeab
--> backtrace[04] rip 0000000000564971
--> backtrace[05] rip 0000000000501298
--> backtrace[06] rip 00000000005016c9
--> backtrace[07] rip 0000000000470fae
--> backtrace[08] rip 0000000140d7bfb8
--> backtrace[09] rip 000000013fc70078
--> backtrace[10] rip 000000013fc7016a
--> backtrace[11] rip 000000013fc70279
--> backtrace[12] rip 000000013fc70609
--> backtrace[13] rip 000000013ffb2903
--> backtrace[14] rip 000000014075e4b9
--> backtrace[15] rip 000000014075835c
--> backtrace[16] rip 0000000140978a3b
--> backtrace[17] rip 000007feff4fa82d
--> backtrace[18] rip 000000007750652d
--> backtrace[19] rip 000000007788c521
-->
<YYYY-MM-DD><TIME> [04584 trivia 'VpxProfiler'] Ctr: TotalTime = 13353 ms

<YYYY-MM-DD><TIME> [01892 warning '[SSO][SsoCertificateManagerImpl]'] [CreateAdminSsoServiceContent] Max connection attempts (10) reached. Giving up ...
<YYYY-MM-DD><TIME> [01892 info '[SSO][CreateSsoFacade]'] [CreateUserDirectory] Probably connection exception: No connection could be made because the target machine actively refused it.
<YYYY-MM-DD><TIME> [01892 error '[SSO][SsoFactory_CreateFacade]'] Unable to create SSO facade: No connection could be made because the target machine actively refused it. .
<YYYY-MM-DD><TIME> [01892 warning 'VpxProfiler'] Vpxd::ServerApp::Init [Vpx::Common::Sso::SsoFactory_CreateFacade(sslContext, ssoFacadeConstPtr)] took 110250 ms
<YYYY-MM-DD><TIME> [01892 error 'vpxdvpxdMain'] [Vpxd::ServerApp::Init] Init failed: Vpx::Common::Sso::SsoFactory_CreateFacade(sslContext, ssoFacadeConstPtr)

抓到点看起来比较关键的信息去KB里面找,结果找到了一篇KB(2036170),主要描述SSO实施变更后会有可能无法启动。涵盖我中招的现象,有以下几点:
1).给SSO服务器实施过变更:例如windows补丁、域名变更、升级vSphere补丁;
2).对vCenter有影响的修改等
那么,为什么呢?Cause部分明确说明:变更完成后重启机器后导致的主机名变动、域变更等都会导致SSO无法启动,接着vCenter就起不来了。更过分的是SSO安装的服务器的内存、CPU、MAC地址变动都会导致SSO无法启动,总算知道为啥克隆的vCenter启动不了了,MAC地址不一样了嘛

先说问题处理过程,最初这个KB没有太过仔细的看。下面有个引用的KB说是Moving a virtualized vCenter Server virtual machine between ESXi/ESX hosts with different processor types (2058684),正是我要的,直接拿过来参考。最后通过导出一个vCenter的OVF文件再导入到目标的HOST和储存后总算可以起来了!

二.材料梳理及存档
2.1.After making a change or restarting vCenter Single Sign-On server system, vCenter Server 5.1.x fails to start (2036170)
除了上述提到的日志,SSO服务器配置移动导致服务无法启动的相关日志还有:C:\Program Files\VMware\Infrastructure\SSOServer\utils\logs\下的:
discover-is.log文件:
<YYYY-MM-DD> - VCHOSTNAME.test.vmware.net,,,,Executing action: 'discover-is'
<YYYY-MM-DD> -VCHOSTNAME.test.vmware.net,,,,Discovering identity sources
<YYYY-MM-DD> -VCHOSTNAME.test.vmware.net,,,,ERROR: Bean (PrimaryCommandTarget) initialization failure
com.rsa.ims.security.keymanager.sys.SystemModificationThresholdException: System was modified beyond the allowed threshold, cannot decrypt.
com.rsa.common.SystemException: Bean (PrimaryCommandTarget) initialization failure
com.rsa.ims.security.keymanager.sys.SystemModificationThresholdException: System was modified beyond the allowed threshold, cannot decrypt.
Caused by: com.rsa.ims.components.ComponentFailureException: Unable to load bean named PrimaryCommandTarget
imsTrace.log文件:
System was modified beyond the allowed threshold, cannot decrypt.

以上这些现象可能是因为对SSO服务所在Server进行了异动,导致服务无法启动。处理方式为重新恢复master password,这个是否和整个机器的相关参数有关系原文并未说明。步骤如下:
1).以管理员方式运行cmd;
2).运行以下设置Java家目录(以vc实际安装目录为准):
set JAVA_HOME=C:\Program Files\VMware\Infrastructure\jre
3).到SSO服务安装目录(默认:C:\Program Files\VMware\Infrastructure\SSOServer\Utils)中运行以下命令:
rsautil manage-secrets -a recover -m masterPassword
以上命令会更新masterPassword(admin@system),密码部分请替换为真实密码。
4).重新启动SSO服务及VC相关服务。

2.2.Moving a virtualized vCenter Server virtual machine between ESXi/ESX hosts with different processor types (2058684)
因处理器类型不一致的情况下需要在关机情况下才能vMotion,此文章主要介绍处理器类型不一样的HOST之前迁移vCenter的方式。需要考虑的信息主要如下(主要描述SSO和vCenter安装在同一台VM的情况):
1).处理器类型不一致也可能导致SSO无法启动;
2).VM vCenter的如果有使用分布式虚拟交换机的情况下,需要先切换为普通vSwitch;
3

共享内存但需要迁移VM HOST的迁移步骤如下:
1).关闭vCenter并连接到vCenter所运行的HOST;
2).从HOST上将该VM从inventory中移除;
3).在新的HOST上将vCenter添加到inventory并开机;
4).如果开启过程中提问uuid.alterd,选择"I moved it"防止生成新的UUID同样会导致SSO无法启动。
无共享内存但需要迁移VM HOST的迁移步骤如下:
1).记录现有网卡的MAC地址;
2).克隆现有vCenter到新的HOST主机并关闭现有vCenter;
3).将克隆的vCenter的MAC地址修改为同原有MAC地址一致;
4).链接到新的HOST主机并开启新的vCenter Server。
OVF方式迁移:
1).vSphere Client直接登录到vCenter所在的HOST主机;
2).关闭vCenter并将其导出为OVF文件;
3).链接到目标HOST斌将OVF部署;
4).修改新VM的MAC地址并启动VM即可启动VC。

三.信息总结
此文仅适用于5.X的相关故障处理,如果可以直接vMotion成功可直接vMotion。另外还有以下总结信息:
1).出问题当然是尽快找日志,找材料排查;
2).vCenter这个设计希望以后可以有所改善;
3).系统初期设计至关重要,例如CPU太少,可能加完就起不来了哦。
阅读更多
个人分类: VMware vSphere
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭