By | 29 mayo, 2012

Recién acabo de migrar un servidor backuppc de una máquina a otra. Toda la migración funcionó perfectamente, excepto que la interfaz web dejó de mostrar las gráficas de la página de «Status» del backuppc.

Encontrar el problema fue seguir el código de la página web donde debía incluir la imagen, pero por línea de comando:

# su www-data
$ cd /usr/share/backuppc/cgi-bin
$ ./index.cgi image=4
Content-type: image/png

ERROR: This RRD was created on another architecture
$

Encontré la ayuda en el blog de Tyler J. Wagner, que en forma general traduzco aquí.

El error es auto-explicativo: el cambio de máquina lo hice cambiando la arquitectura de i386 a amd64 y las bases de datos de rddtool son dependientes de la plataforma, por lo que necesitan ser reconvertidas.

Backuppc

El error puede ser visto con:

# cd /var/lib/backuppc/log
# rrdtool info pool.rrd
ERROR: This RRD was created on other architecture

En el servidor anterior con arquitectura i386, correr:

rrdtool dump pool.rrd > pool.xml

Si no lo tienes disponible, pues busca cualquier computador i386 para hacerlo.

Luego pasar el archivo resultante al nuevo servidor con arquitectura amd64 y ejecutar:

rrdtool restore -f pool.xml pool.rrd

Y revisar el resultado:

# rrdtool info pool.rrd
filename = «pool.rrd»
rrd_version = «0003»
step = 86400
last_update = 1337840966
header_size = 592
ds[ckb].index = 0
ds[ckb].type = «GAUGE»
ds[ckb].minimal_heartbeat = 172800
ds[ckb].min = 0.0000000000e+00
ds[ckb].max = NaN
ds[ckb].last_ds = «1037060164»
ds[ckb].value = 2.4231947792e+13
ds[ckb].unknown_sec = 0
rra[0].cf = «AVERAGE»
rra[0].rows = 1400
rra[0].cur_row = 0
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0

Cacti

Cacti tiene muchos archivos rrd, por lo que es necesario exportar con un loop:

for i in *.rrd; do rrdtool dump $i > $i.xml ; done

E importar con otro:

for i in *.xml; do rrdtool restore -f $i `basename $i .xml`.rrd ; done

En todos los casos, no hay que olvidarse de revisar los permisos y el dueño de los archivos, para que la aplicación siga funcionando correctamente.

Los archivos XML pueden ser eliminados.

Artículo original de Tyler aqui (en Inglés).

2 Replies to “rrdtool: This RRD was created on other architecture”

  1. Pingback: Bitacoras.com

Responder a Tyler J. Wagner

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *