vcenter內嵌和外鏈數據庫的解析
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服務器來說,開源數據庫的支持是必須的。
本文出自 “滴水穿石孫傑” 博客,請務必保留此出處http://xjsunjie.blog.51cto.com/999372/1972593
vcenter內嵌和外鏈數據庫的解析