共计 3960 个字符,预计需要花费 10 分钟才能阅读完成。
这篇文章主要介绍了 vcenter 中内嵌和外链数据库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
vcenter 支持内嵌和外链数据库,也是其两种常见的部署模式。
vcenter 支持内嵌,内嵌的数据库默认是 vpostgresql.
内嵌数据库适合小型部署,安装简单方便,无需配置 ODBC
小规模时可以选择嵌入式数据库,但大规模时通常选择 Oracle 数据库。
另一点就是 PSC,小规模也是内嵌,但大规模、多 VC 最好使用单独的一个 psc
还有就是 VCNEGER 是部署在 windows 系统上的,后面一般是 SQL SERVER 数据库。sql2008 R2 可以用于小型部署(最多 5 个主机和 50 个虚拟机)的捆绑数据库。
如果 VCENTER 部署的 VCENTER SERVER APPLIANCE,则在
vCenter Server Appliance 5.0.1 版本后对嵌入式数据库使用的是 PostgreSQL,而非 IBM DB2(IBM DB2 在 vCenter Server Appliance 5.0 中使用)。
外部的数据库一般多是 oracle,需要在 windows 的 VCENTER 中配置 ODBC 和启用 VCENTER 相关服务. 如果是 vCenter Server Appliance 就不用了。
vCenter Server Appliance 6.0 以下不支持 IPv6,6.5 是支持的。
注意:
vCenter Server Appliance 5 嵌入式数据库配置为管理包含 5 台以上主机和 50 个以上虚拟机的清单。如果将嵌入式数据库与 vCenter Server Appliance 配合使用,则超出这些限制会引起许多问题,包括导致 vCenter Server 停止响应。
vCenterServer 6.0 默认捆绑的 PostgreSQL 数据库适用于最多包含 20 个主机和 200 个虚拟机的环境。对于 vCenterServer Appliance,可在最多包含 1,000 个主机和 10,000 个虚拟机的环境中使用嵌入式 PostgreSQL 数据库,但嵌入的数据库卸载就随 VC APPLIANCE 没了,我们生产都是外接的 oracle 数据库。
在 5.5 版本中,即使是外链的 ORACLE 数据库,也不能超过 50GB、表行数超 8 亿,否则升级到 6.0 时超满,需要做清理才能升。
补充清理数据库的语句:
use vcdb;–vcdb 是 vCenter 数据库的名称,如果是其它名称,请将脚本中所有的 vcdb 更换成实际的名称。
deletefrom dbo.VPX_EVENT_ARG;– 删除事件日志表
12.
deletefromdbo.VPX_EVENT;– 删除事件日志表
droptable dbo.VPX_HIST_STAT1;– 删除表 dbo.VPX_HIST_STAT1;
16.
droptable dbo.VPX_HIST_STAT2;– 删除表 dbo.VPX_HIST_STAT2;
17.
droptable dbo.VPX_HIST_STAT3;– 删除表 dbo.VPX_HIST_STAT3;
18.
droptable dbo.VPX_HIST_STAT4;– 删除表 dbo.VPX_HIST_STAT4;
USE [VCDB]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT1] 脚本日期: 12/17/2013 15:32:57 ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE [dbo].[VPX_HIST_STAT1](
[COUNTER_ID] [bigint] NOTNULL,
[TIME_ID] [bigint] NOTNULL,
[STAT_VAL] [bigint] NOTNULL
)ON [PRIMARY]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT1] 完成 ******/
USE [VCDB]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT2] 脚本日期: 12/17/2013 15:33:30 ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE [dbo].[VPX_HIST_STAT2](
[COUNTER_ID] [bigint] NOTNULL,
[TIME_ID] [bigint] NOTNULL,
[STAT_VAL] [bigint] NOTNULL
)ON [PRIMARY]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT2] 完成脚本日期: 12/17/2013 15:33:30 ******/
USE [VCDB]
GO
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT3] 脚本日期: 12/17/2013 15:34:20 ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE [dbo].[VPX_HIST_STAT3](
[COUNTER_ID] [bigint] NOTNULL,
[TIME_ID] [bigint] NOTNULL,
[STAT_VAL] [bigint] NOTNULL
)ON [PRIMARY]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT3] 完成 ******/
USE [VCDB]
GO
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT4] 脚本日期: 12/17/2013 15:34:57 ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE [dbo].[VPX_HIST_STAT4](
[COUNTER_ID] [bigint] NOTNULL,
[TIME_ID] [bigint] NOTNULL,
[STAT_VAL] [bigint] NOTNULL
)ON [PRIMARY]
/****** 重建表对象:Table [dbo].[VPX_HIST_STAT4] 完成 ******/
/****** 收缩数据库 ******/
USE [VCDB]
GO
DBCC SHRINKDATABASE(N VCDB)
GO
/****** 收缩数据库 ******/
到了 6.5 版本,功能更强,内嵌和外链的数据库规模差别就不大了。
另一个问题
如何让 Linux 版 VMware vCenter 支持 MySQL
研究微软 SQL 的定义表格,使 MySQL 表最接近微软 SQL 表。以文件 /usr/lib/vmware-vpx/VCDB_mssql.sql 开始,我创建了一个后来 VCDB_mysql.sql 文件。
转换如下,然而这些变化将迫使 vCenter 只支持 UTF – 8 的字符串。你可以轻松地支持 UTF – 16,但在规模指数为 1000 字节的 MySQL,还是有一定限度的,并且有些类型的 nvarchar 领域会延伸并通过这个限制。
NTEXT 类型转换为 TEXT 类型或 BLOB 类型(如果你想支持 UTF – 16)NVARCHAR 类型转换为 VARCHAR nvarchar 类型转换为 varchar
ACCESSIBLE 和 INTERVAL 被视为 MySQL 的关键字所以他们需要使下面的转换:
INTERNAL to `INTERVAL`
ACCESSIBLE to `ACCESSIBLE`
最后,在 Microsoft SQL Server 和 MySQL 一些相同的功能,不会做同样的事情 - 特别是 isnull 函数。这是 MySQL 中的一个争论点,而不是等同于 isnull 函数的 Microsoft SQL 或 Oracle 的 nvl 函数。这一变化情况如下:
isnull change to ifnull
ISNULL changed to IFNULL
此外,与微软 SQL 相比,MySQL 中的 CAST 函数有不同的参数。我不得不改变 CAST,通过 SIGNED 类型而不是 BIGINT,来转换数字;因为在 MySQL 的 CAST 函数不支持 BIGINT。此外,len 不是一个有效的 MySQL 函数,所以我们还必须将上面提到的两个数据库声明修改为 LENGTH,而不是 LEN。
最后一个问题是大小写问题。一切在 Linux 是区分大小写的,包括 MySQL 的数据库名称,因此最后的变化是转换大小写。
vpx_sequence to VPX_SEQUENCE
vpx_object_type to VPX_OBJECT_TYPE
vpx_lock to VPX_LOCK
vpx_version to VPX_VERSION
使用以下命令提交新架构到 MySQL 数据库服务器。注意:你应该使用你的 MySQL 服务器的 IP 地址,替换 IPOfMySQLServer 参数,你的 MySQL 用户名代替 MySQLUserName 参数,而且命令将要求输入密码。
mysql -p -h IPOfMySQLServer -u MySQLUserName VCDB_mysql.sql
现在,剩下的所有都是解决一些 STATS 的存储程序,撤消和删除数据库。
但是,即使所有这些更新后,MySQL 尝试仍然失败,因为 vpxd 服务不承认 MySQL 是一个有效的数据库。但是,通过 Linux 的一些具体的工具,我发现,PostgreSQL 是一个有效的数据库。
对于 GNU / Linux 的基于 vCenter 服务器来说,开源数据库的支持是必须的。
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“vcenter 中内嵌和外链数据库的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!