Monitorizar un proceso Java

Últimamente he estado investigando un proceso Java que fallaba por falta de memoria y he visto unas cuantas técnicas de monitorización bastante útiles.

Los parámetros para el control de memoria de la máquina virtual Java se pueden ajustar por línea de comandos. Hay muchos parámetros disponibles, pero cabe destacar -Xms y -Xmx. Podéis consultar las opciones más importantes en la documentación oficial.

Para tener un volcado de la heap en caso de error, son muy útiles las opciones -XX:+HeapDumpOnOutOfMemoryError y -XX:HeapDumpPath=/dir.

[Read More]
java 

"Invalid disk type 7" al restaurar un disco en VMware ESX4

Me ha sucedido que al restaurar del backup un disco vmdk de una máquina, me ha dado el siguiente error al intentar arrancar con él:

Failed to open disk scsi0:0: Unsupported and/or invalid disk type 7. Did you forget to import the disk first?Unable to create virtual SCSI device for scsi0:0

Según veo en esta entrada, se debe al formato que tiene el archivo. Para cambiarlo, hay que pasarle el parámetro “-d zeroedthick” al comando vmkfstools:

[Read More]

Cifrado de discos con Luks

Luks nos permite cifrar el contenido del disco y trabajar con él de forma transparente. Esto nos protege de ataques offline como por ejemplo en caso de pérdida de un portatil, o si sustituimos un disco ya no nos tenemos que preocupar de borrar la información que contiene.

Podemos crear un dispositivo Luks directamente sobre una partición, un logical volume de LVM, un dispositivo RAID, etc.

Es recomendable limpiar la partición previamente y rellenarla con datos aleatorios. Por ejemplo, para cifrar la partición /dev/sda3 (Se perderán todos los datos que contenga):

[Read More]

Ejecutar aplicaciones gráficas con otro usuario en una sesión X remota

Ocurre bastante a menudo que cuando te conectas a una máquina remota mediante SSH y necesitas lanzar un comando con otro usuario, te da un error semejante a este:

$ sudo virt-manager [sudo] password for juan: PuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedTraceback (most recent call last): File "/usr/share/virt-manager/virt-manager.py", line 383, in <module> main() File "/usr/share/virt-manager/virt-manager.py", line 286, in main raise gtk_error RuntimeError: could not open display

[Read More]
ssh  x 

Obtener un prefijo IPv6 con gogoc en Fedora

En mi post anterior, expliqué cómo conectar de forma anónima una sola máquina con el broker IPv6 Freenet6.net. Ahora os voy a contar cómo obterner un prefijo /64 y repartir direcciones a nuestra red local.

Voy a asumir que tenemos el paquete gogoc instalado y hemos configurado la opción “-y” en /etc/sysconfig/gogoc. Además necesitamos crear una cuenta en Freenet6.

Con estos prerequisitos cumplidos, editamos el fichero /etc/gogoc/gogoc.conf y modificamos las siguientes líneas:

[Read More]

Obtener una dirección IPv6 con Freenet6 en Fedora

Después de un tiempo aprendiendo a hacer paquetes RPM, me he decidido a unirme al grupo de empaquetadores de Fedora y hace poco he subido mi primer programa: el cliente gogoc para el broker de IPv6 freenet6.net.

Este programa negocia un túnel por UDP contra los servidores de freenet6, y te asigna una IPv6 dinámica. También es posible solicitar un prefijo estático, con lo que podrás dar direcciones IPv6 a toda tu red, pero para esto hace falta registrarse en http://gogonet.gogo6.com/page/freenet6-registration

[Read More]

Copia de seguridad de VMware ESXi

Siguiendo con los backups, para hacer una copia en caliente de las máquinas vituales de un ESXi utilizo este script: https://github.com/lamw/ghettoVCB

Básicamente copia la descripción de la VM, hace un snapshot, y lo clona a la ubicación configurada. Yo he montado una unidad remota por NFS para hacer el volcado. Además se puede programar en el crontab y te hace la rotación de copias automáticamente.

Tenéis más información en: http://communities.vmware.com/docs/DOC-8760

Copia de seguridad de todas las bases de datos en SQL Server

Para hacer una copia de seguridad de todas las bases de datos en un SQL Server, viene muy bien este script que encontré en esta página: http://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/

DECLARE @name VARCHAR(256) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = 'C:Backup'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor

Monitorizar equipos CentOS desde Microsoft Operations Manager

Estoy actualmente peleándome con Microsoft Operations Manager, y por lo que veo incluye unos management packs para Red Hat que no valen para CentOS. Gracias a los enlaces que os pongo a continuación he conseguido crear unos MP específicos para CentOS:

http://blogs.msdn.com/b/scxplat/archive/2010/01/05/building-a-centos-management-pack-part-1.aspx http://blogs.msdn.com/b/scxplat/archive/2010/01/05/building-a-centos-management-pack-part-2.aspx http://blogs.msdn.com/b/scxplat/archive/2010/01/18/building-a-centos-management-pack-part-3.aspx

Este usuario también ha escrito una guía muy útil para diagnosticar posibles problemas de descubrimiento o de instalación del agente en CentOS:

[Read More]
opsmgr