您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页vcenter数据库收缩

vcenter数据库收缩

来源:飒榕旅游知识分享网


从 VMware vCenter Server 使用的数据库中清除旧数据 (2075138)

Symptoms

免责声明: 本文为 Purging old data from the database used by VMware vCenter Server (1025914) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。

• VMware VirtualCenter Server 服务启动,然后失败

• 事务日志正常工作

• 您会看到 VPX_EVENT 表增长速度过快

• 在 Microsoft SQL 事件日志中会显示以下消息:

• 无法为数据库 'VCDB' 中的对象 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME'

分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。(Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.)

• 查看磁盘使用情况(表)报告会显示占用最大空间的 VPX_EVENT 和

VPX_EVENT_ARG 表。

• 以下故障排除步骤对解决该问题提供不了任何帮助:

• 清除旧数据

o

截断表

o

收缩日志和数据库

o

重新创建汇总作业

Purpose

VMware vCenter Server 在 vCenter Server 数据库中存储性能数据。 随着时间的推移,数据收集会造成数据库文件增大,因而需要一种机制来收缩这些文件。 有关收缩数据库的详细信息,请参见:

收缩数据库

操作指南: 如何收缩数据库 (SQL Server Management Studio)

VMware vCenter Server 有一个“数据库保留策略”设置,允许您指定应在何时删除 vCenter Server 任务和事件。 由于该设置不影响性能数据记录,因此仍可以使用本文附带的脚本从数据库中清除或压缩旧的记录。

要访问 vSphere Client 中的数据库保留策略设置,请依次单击管理 > vCenter Server 设置 > 数据库保留策略。

本文附带的脚本支持从 vCenter Server 中清除性能数据。

警告: 不要对 VirtualCenter 2.x 数据库运行本文所附带的脚本。

• 有关在 VirtualCenter 2.x 中清除数据的信息,请参见 Purging old data from the

database used by VirtualCenter 2.x (1000125)。

• 有关 vCenter Server 5.1 和 5.5,请参见 Reducing the size of the vCenter

Server database when the rollup scripts take a long time to run (1007453) 和 Selective deletion of tasks, events, and historical performance data in vSphere 5.x and 6.x (2110031) 中的“To truncate all performance data from vCenter Server 5.1 and 5.5”部分。

注意: SQL Express 2005/2008(vCenter Server 5.x 与 SQL Express 2008 打包在一起)支持最多 5 个主机和 50 个虚拟机。 如果您的环境超出这些阈值,必须将数据库升级到 SQL Standard 版本。

Resolution

警告: 本文所附带的脚本应由曾经使用数据库客户端工具执行 SQL 命令的数据库管理员 (DBA) 执行。 这些脚本的用途是删除数据。 VMware 强烈建议您先停止 VirtualCenter Server 服务并为您的数据库创建完整、可靠的备份,然后再尝试执行此过

程。

注意:

• 如果使用的是 SQL 2005 Express,则可能需要下载并安装 Microsoft SQL Server

Management Studio Express。

• 如果无法下载本文附带的脚本,请联系 VMware 支持。 有关详细信息,请参见

How to Submit a Support Request。

这些脚本会从 vCenter Server 数据库中的指定表内成批删除行。 但是,默认情况下,仅报告删除的行数。 要实际删除数据,必须修改脚本中的一个配置参数。 这是一项安全预防措施。 有关详细信息,请参见脚本标题中的注释。 将输出简要描述这些操作的诊断消息。

如果可用磁盘空间不足,在此过程中数据库事务日志可能会被填满。 对于 SQL Server,如果无法提供所需的磁盘空间,一种可选方案是在此操作执行期间对数据库采用“简单”恢复模式。

警告: 脚本运行时必须停止 VirtualCenter Server 服务。 有关详细信息,请参见 Stopping, starting, or restarting vCenter services (1003895)。

注意:

• 如果数据库非常大,则运行该脚本需要的时间可能会很长。 更改默认的截止天数

180 天(6 个月)即可运行脚本增量。 例如,假设您有一年的数据(365 天),那么您起

初可以将此天数增加到一个较大的值(如 330 天),这样就仅清除大约一个月的数据。 然后便可以运行截止日期设置为 300 的脚本,以便清除另一个月的数据。

• 如果脚本由于缺少可用数据库空间而未能运行,可能需要截断性能数据。 如果要截

断所有性能数据而不是将数据清除,请参见 Reducing the size of the vCenter Server database when the rollup scripts take a long time to run (1007453)。

• 如果 SQL Express 中数据库达到限制值 4 GB,则数据库会损坏;或者,如果由于

任何原因导致 vCenter Server 不可用,则清除 event 和 event_arg 表,方法是使用 SQL Studio 手动启用数据库中的数据库保留策略,或者运行存储过程从这些表中清除数据。

• vCenter Server 数据库的名称通常为 VIM_VCDB,除非在初始创建期间进行了重

命名。

要清除 VPX_EVENT 表中的数据,请执行以下操作:

1. 连接到 Servername\\SQL Database 并使用相应凭据登录。

2. 单击数据库展开,然后依次选择 VIM_VCDB > 表。

3. 右键单击 dbo.VPX_PARAMETER 表,然后选择打开。

4. 注意: 如果使用的是 SQL Server 2008,则右键单击 dbo.VPX_PARAMETER 表,并单击编辑前 200 行。

5. 将 event.maxAge 修改为 30,并将 event.maxAgeEnabled 值修改为 true。

6. 将 task.maxAge 修改为 30,并将 task.maxAgeEnabled 值修改为 true。

7. 注意:为提高数据清除的时间,请在多个时间间隔内运行上述步骤。 要完成此操作,请确保保留 event.maxAge 和 task.maxAge 的默认值,然后执行步骤 6 运行清除。之后,将 event.maxAge 和 task.maxAge 值减少 60,并运行清除。 重复上述步骤直到值达到 30 才完成最终清除过程。

8. 运行内置的存储过程:

a. 导航到 VIM_VCDB > 可编程性 > 存储过程。

b. 右键单击 dbo.cleanup_events_tasks_proc,然后选择执行存储过程。

c. 这将根据为 maxAge 指定的日期从 vpx_event, vpx_event_arg 和

vpx_task 表中清除数据。

d. 此操作成功完成后,关闭 SQL Management Studio,然后启动 VMware

Virtual Center Server 服务。

要确保默认的统计级别设置为 1,请执行以下操作:

1. 使用 vSphere Client 以管理员身份登录 vCenter Server。

2. 转到管理 > vCenter Server 设置 > 统计。

3. 在统计间隔下,确保“统计级别”列设置为 1。

4. 要更改该值,可选择间隔时间,单击编辑,然后从下拉列表中选择 1 级。

注意:

• 执行 dbo.cleanup_events_tasks_proc 可能会花费较长时间,具体视数据库大小而

定。

• 由于事务日志将基于要清除的数据以多个间隔来填充,因此操作可能失败。 在需要

时您必须收缩事务日志,然后重新运行 dbo.cleanup_events_tasks_proc。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务