Hola, tengo un clúster de servidores VMware ESXi, en concreto tengo tres servidores físicos con ESXi y en una máquina virtual monté un VMware vCenter Server, agregué los ESX al clúster y hasta ahora me han funcionado muy bien. Pero desde esta mañana, cuando intento realizar alguna operación sobre el vCenter (como quitar o meter un nuevo ESXi) me muestra este mensaje de error y no hace nada:
Add host:A general system error occurred: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object 'dbo.VPX_HOST_X' in database 'VIM_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." is returned when executing SQL statement "UPDATE VPX_HOST_X WITH (ROWLOCK) SET SYSTEM_HEALTH = ? WHERE HOST_ID = ?"
Time: 04/11/2014 14:29:55
Target: VMCLUSTER
vCenter Server: vmwarevcenter.xxx.com
Hola, tengo un clúster de servidores VMware ESXi, en concreto tengo tres servidores físicos con ESXi y en una máquina virtual monté un VMware vCenter Server, agregué los ESX al clúster y hasta ahora me han funcionado muy bien. Pero desde esta mañana, cuando intento realizar alguna operación sobre el vCenter (como quitar o meter un nuevo ESXi) me muestra este mensaje de error y no hace nada:
Add host:A general system error occurred: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object 'dbo.VPX_HOST_X' in database 'VIM_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." is returned when executing SQL statement "UPDATE VPX_HOST_X WITH (ROWLOCK) SET SYSTEM_HEALTH = ? WHERE HOST_ID = ?"
Time: 04/11/2014 14:29:55
Target: VMCLUSTER
vCenter Server: vmwarevcenter.xxx.com
¿A qué puede ser debido?
Hola, el error que nos comentas es debido a que VMware vCenter Server usa una base de datos SQL Server en su versión Express (por defecto), esta BD es gratuita pero tiene unas limitaciones de espacio máximo de la BD y parece que en tu caso se han alcanzado estas limitaciones. Por lo tanto la BD no admite más inserciones y por eso te da problemas cuando intentas hacer operaciones que requieran de inserciones en la BD SQL Server.
El motivo de que se te haya "llenado" la BD suele ser por inserción de log, o bien porque tengas el nivel de log muy alto y te esté guardando cualquier evento, o bien porque tengas algún warning que se repita mucho.
Hola, el error que nos comentas es debido a que VMware vCenter Server usa una base de datos SQL Server en su versión Express (por defecto), esta BD es gratuita pero tiene unas limitaciones de espacio máximo de la BD y parece que en tu caso se han alcanzado estas limitaciones. Por lo tanto la BD no admite más inserciones y por eso te da problemas cuando intentas hacer operaciones que requieran de inserciones en la BD SQL Server.
El motivo de que se te haya "llenado" la BD suele ser por inserción de log, o bien porque tengas el nivel de log muy alto y te esté guardando cualquier evento, o bien porque tengas algún warning que se repita mucho.
Tiene sentido lo que dices ¿pero cómo lo soluciono?
Tiene sentido lo que dices ¿pero cómo lo soluciono?
Básicamente se trata de vaciar las tablas de log del SQL Server de la base de datos del vCenter. Para ello sigue los pasos que te indicamos a continuación:
1. Haz copia de seguridad de la base de datos SQL Server del vCenter antes de seguir, así si sucede algo podrás recuperarla. Ten en cuenta también que el proceso que esplicamos a continuación eliminará todos los históricos de log, si quieres conservar una copia, debes hacer backup de la BD primero.
Antes de continuar te advertimos que el script vaciará TODAS las tablas de log, también podrías hacer un truncate table xxx de una o varias tablas y no de todas.
2. Accede al servidor donde tienes instalado en VMware vCenter Server.
3. Ahí tendrás la base de datos SQL Server que usa el vCenter, para administrarla accede a SQL Server Management Studio. Si no tienes instalada esta aplicación puedes descargarla e instalarla, es gratuita y se descarga de la web oficial de Microsoft.
4. Con SQL Server Management Studio accede a la base de datos, la del vCenter Server suele llamarse VIM_VCDB, pulsa con el botón derecho sobre ella y en el menú emergente selecciona "Nueva consulta".
5. Te mostrará una ventana en blanco a la derecha, ahí pega el siguiente código:
Código:
Declare @current_table varchar(100)
declare @sqlstatement nvarchar(4000)
--move declare cursor into sql to be executed
set @sqlstatement = 'Declare table_cursor CURSOR FOR SELECT name FROM sys.tables where name like ''VPX_HI%'' or name like ''VPX_SAMPLE%'''
exec sp_executesql @sqlstatement
OPEN table_cursor
FETCH NEXT FROM table_cursor
INTO @current_table
WHILE @@FETCH_STATUS = 0
BEGIN
set @sqlstatement = 'truncate table ' + @current_table
exec sp_executesql @sqlstatement
FETCH NEXT FROM table_cursor
INTO @current_table
END
CLOSE table_cursor
DEALLOCATE table_cursor
El código anterior, básicamente, lo que hace es recorrer todas las tablas que tengan el nombre VPX_HIxxx que son tablas de histórico de log y las va vaciando. De esta forma liberará espacio en disco y debería volverte a funcionar el vCenter Server.
6. Una vez copiado el código anterior ejecuta la consulta pulsando en "Ejecutar". Se iniciará el script y recorrerá todas las tablas con el nombre VPX_HI.... y con el nombre VPX_SAMPLExxx y las vaciará.
En teoría con los pasos anteriores la BD de SQL Server se reducirá y las inserciones volverán a funcionar.
Por si lo necesitas, el nombre de algunas de estas tablas que vaciará:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A