vCenter的一个特殊问题

作者: loaf 分类: 虚拟化 发布时间: 2013-07-26 10:00
我的vCenter Server是用Appliance安装的,安装后,后端数据库改用Oracle。这样就有两个虚拟机分别是vCetner Server和vCenterDB。因为我的DC中,Host服务器分几批购买,所以vMotion时会有EVC的兼容性问题,于是,我在DC中创建了一个群集,打开了HA,并且定义了EVC的等级。这样的话,有些后购买的服务器上的虚拟机就不能在开机状态下直接vMotion进入群集中。需要关机后再迁移入。
这时,问题来了,vCenter的两台虚拟机怎么迁移呢?
对于vCenter Server,我是先关机,然后用vCenter Client直接进入群集中的一台Host主机,在存储器中找到vCenter Server的目录,手工将 vmx文件导入主机清单,开机时选择Move方式。但是用同样的方法迁移DB时出现了意外,相同操作后,连入vCenter Server,发现DB的虚拟机仍在原来的Host主机上,而且在管理其它虚拟机时出现以下的错误,
看来是清单没有刷新,但是直接连Host主机又是正常的。想了想可能的原因,直接用Putty连接到DB服务器上,按说Oracle是没有启动的,先
#su – oracle
$sqlplus / as sysdba
SQL> startup
启动了Oracle
再回到root下关闭防火墙
# /etc/init.d/iptable stop

这时再连接vCenter,干脆出现下面的错误,再也连不了。

用网页访问vCenter服务器 https://myvcas:5480,发现其vCenter服务状态是Stopped状态,重启不成功。
基本判断仍是Oracle数据库服务器的问题。
1)先重启服务器。从头再来。
从客户端,用https://myOracledb:1158/em访问Oracle的OEM界面,不成功。Telnet其1521端口也不成功。
在本机上,netstat  -tlnp也没有看到1521端口和1158端口。切换到oracle账户,运行sqlplus /as sysdba,用一句SQL语句测试一下,应该是Oracle未启动。用startup命令启动成功。
然后用

lsnrctl start

启动监听器。再在root下用

/etc/init.d/iptables stop

关闭防火墙。
再回到https://myvcas:5480,重启服务,这次成功了,但是OEM还没有打开。
运行

emctl start dbconsole

完成后可打开OEM了。
总结一下:
重启后
1)关闭防火墙

#/etc/init.d/iptables stop

2)切换到Orcle账户,在Sqlplus中启动Oracle

$sqlplus / as sysdba;
SQL>startup

3)启动监听器

$lsnrctl start

4)启动OEM

$emctl start dbconsole

然后就OK了。
另外,这篇文章中有相关的脚本可以做到自动启动。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注