Acerca de rodolfoarce

Ingeniero ceritificado en Red Hat. Entusiasta del software libre, seguridad informática y la educación.

JBoss en CentOS 6 con inicio automatico

El primer paso para configurar el sistema operativo es crear un usuario con el cual iniciar el servicio. En la consola del sistema operativo ejecutamos las siguientes sentencias.

useradd -d /opt/jboss-as -s /bin/bash jboss-as

Luego deberemos descargar el servidor de aplicaciones desde sitio de descargas, y descargamos la ultima versión estable.

wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz

Descomprimimos el archivo en el directorio /opt:

tar -zxvf jboss-as-7.1.1.Final.tar.gz -C /opt

ln -s /opt/jboss-as-7.1.1.Final /opt/jboss-as
chown -R jboss-as:jboss-as /opt/jboss-as

Existe un script de inicio del servidor JBoss, que debera incluirse en el directorio /etc/init.d, el mismo puede descargarse haciendo click aquí. Luego la herramienta del sistema operativo nos permitirá agregarla al inicio automático.

wget https://github.com/rodolfoarces/PruebaJBoss/raw/master/docs/jboss-as.init
cp jboss-as.init /etc/init.d/jboss-as
chkconfig --add jboss-as
chkconfig jboss-as on

Para probar el inicio del servicio, deberemos ejecutar el comando:

service jboss-as start

Migrar maquina real a maquina virtual (Centos 6.3)

La migración de un sistema de archivo puede ser algo muy simple (aunque prolongado) se se hace de forma manual, pero el problema real puede estar en los módulos necesarios para iniciar el sistema operativo en el nuevo harware.

La copia de seguridad

Vamos a asumir que es un sistema operativo cuyas particiones no fueron establecidas con LVM. Migrar LVM puede tener un par de detalles extra, pero va por las mismas lineas. Montamos un disco duro externo (en mi caso /dev/sdb1) en /mnt/backup


# Montar el disco externo /dev/sdb1
mount /dev/sdb1 /mnt/backup

Tenemos una partición primaria con la carpeta /boot, una partición de intercambio, y una partición de la raiz del sistema operativo.

Creamos una imagen binaria del Master Boot Record (MBR) para tener la tabla de particiones. Es recomendable que ninguna particion esté montada.


# Copia de 512 bytes iniciales de /dev/sda
dd if=/dev/sda of=/mnt/backup/sda_mbr.img bs=512 count=1

Con esto tenemos la tabla de particiones y el grub instalado en el MBR. Notese las opciones bs y count, estas se utilizan en conjunto para copiar solo los primeros 512 bytes de la particion /dev/sda, que corresponden al MBR

Luego realizamos el mismo proceso para la particion /boot


# Copia de la particion /dev/sda1
dd if=/dev/sda1 of=/mnt/backup/sda1_boot.img

Y por último realizamos la copia de seguridad del sistema operativo, esta copia es del espacio entero de la particion, incluidos los bits en blanco.


# Copia de la particion /dev/sda3
dd if=/dev/sda3 of=/mnt/backup/sda3_root.img

Si el disco de respaldo no tiene suficiente espacio para la copia de seguridad, les recomiendo la herramienta partimage que esta incluído en el System Rescue CD. Esta herramienta copia solamente el espacio utilizado de la particion en cuestión, y no el espacio entero. Puede tardar más, pero la copia de respaldo será mas pequeña.

La restauración

La recuperación se realizará en una maquina virtual usando la herramienta de virtualización KVM, por lo cual el nuevo disco duro será reconocido como /dev/vda. Usamos los mismos comandos (a la inversa) para la restauración.


# Restauracion de la imagen
dd if=/mnt/backup/sda_mbr.img of=/dev/vda


# Reconocimiento de las nuevas particiones
partprobe

El comando partprobe es para que el sistema operativo vuelva a escanear las tablas de particiones de los discos conectados.

Luego podemos recuperar las demas particiones, y no esta demas realizar una verificación de las mismas, tambien creamos el espacio de intercambio


# Restauracion de la particion /dev/vda1
dd if=/mnt/backup/sda1_boot.img of=/dev/vda1


# Restauracion de la particion /dev/vda3
dd if=/mnt/backup/sda3_root.img of=/dev/vda3


#Chequeo de las particiones
e2fsck /dev/vda1
e2fsck /dev/vda3


# Creacion de area de intercambio
mkswap /dev/vda2

Hasta hemos utilizado cualquier disco para la recuperación del sistema de archivo, pero para la recuperación completa, debemos utilizar el disco o DVD de instalación de CentOS para poder finalizar la instalación.

Iniciamos el disco de instalación de CentOS, y le damos la opción linux rescue, con esto nos preguntará si queremos habilitar la red (opcional) y si queremos buscar instalaciones de centos en las particiones, que responderemos Continuar. Al finalizar se montará nuestra partición en el directorio /mnt/sysimage.

Debemos además montar otras particiones.

# Montamos las carpetas de dispositivos, sistema y módulos
mount --bind /proc /mnt/sysimage/proc
mount --bind /sys /mnt/sysimage/sys
mount --bind /dev /mnt/sysimage/dev


# Ingresamos a la particion
chroot /mnt/sysimage


# Generamos un nuevo initrd
cd /boot
mkinitrd initrd-2.6.19-129.el6.img 2.6.19-129.el6

En mi caso, el kernel que se encontraba instalado era el 2.6.19-129.el6, el primer parámetro del comando mkinitrd es cual será la imagen final, y el segundo parámetro es cual kernel usaremos en la misma. En algunas versiones del sistema operativo el kernel puede tener el nombre vmlinuz-2.6.19-129.el6, La creacion fallará ya que normalmente los módulos para el kernel se almacenan en el directorio /lib/modules/_version_del_kernel_ y el comando mkinitrd no encontrara la carpeta por el nombre /var/lib/vmlinuz-_version_del_kernel_, queda a su criterio si quiere cambiar el nombre de la carpeta el nombre del archivo, pero les recomiendo copiar en vez de renombrar, para mantener compatibilidad.

ES importante que se actualicen las particiones en los archivos /etc/fstab, que si están basados en UUID no tendrán problemas, pero si están basados en dispositivo /dev/ deben actualizarse. También puede ser necesario que se actualice el archivo /etc/grub.conf con las nuevas particiones de booteo.