Lunes, 12 Agosto 2013 00:51

Migración de Servidores Gentoo de 32Bits a 64Bits

Valora este artículo
(0 votos)

Cuando llevas tiempo administrando servidores Linux te sucede que algunos clientes por antigüedad tienen aun una instalación de 32bits que no llegó a realizarse por algún motivo o luego se mejoró el hardware con nuevos procesadores con soporte de 64bits. Y para poder gestionar más de tres Gigabytes de memoria y mejorar el rendimiento,es necesario,actualizarlo a los 64bits para sacar el mayor rendimiento al hardware.

En proceso de migración de un sistema Gentoo de 32Bits a 64Bits existen varias formas de realizar lo, nosotros creamos un chroot con todo el sistema desde cero y luego vamos copiando la configuración. Esto nos permitirá actualizar el servidor sin apenas tiempo de desconexión.

Pasos previos:

  • Actualizar el portage, emerge e instalar el ultimo kernel estable
emerge –-sync
emerge -1 portage
emerge gentoo-sources

Creando el compilador de 64Bits (Cross Compiler)
El primer proceso en la migración a 64Bits es la instalación de un compilador que permita generar código de otra plataforma, para ello necesitamos las utilidades de crossdev.

emerge -1 crossdev
mkdir /usr/local/portage

Añadimos en /etc/make.conf o /etc/portage/make.conf
PORTDIR_OVERLAY=”/usr/local/portage”

Y compilamos el compilador y su entorno.
crossdev -S -s1 --target x86_64-pc-linux-gnu

Compilamos el kernel y lo activamos en nuestro gestor arranque (grub / lilo)

make ARCH=x86_64 oldconfig
make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-

Y nos acordamos de activar “IA32 Emulation” y ajustar también los cambios pertinentes del nuevo kernel o requerimientos del udev u otros.
Reiniciamos la máquina y ya tendremos el kernel de 64bits funcionando con el resto de aplicaciones de 32bits.


Descargamos el stage3 apropiado y creamos un entorno en /mnt/64bits

Creamos un directorio en /mnt/64bits y descomprimimos el stage3 actual y con chroot /mnt/64bits instalamos los programas necesarios y copiamos la configuración del sistema actual.

Acordarse de activar los nuevos valores del nuevo sistema en el make.conf CHOST y CFLAGS apropiados

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"

 

cp /etc/locale.gen /mnt/64bits/etc/
cp /etc/localtime /mnt/64bits/etc/ mount -o bind /dev /mnt/64bits/dev
mount -o bind /proc /mnt/64bits/proc
mount -o bind /sys /mnt/64bits/sys
mount -o bind /usr/portage /mnt/64bits/usr/portage
chroot /mnt/64bits
source /etc/profile

Una vez instalados todos los programas requeridos reiniciamos el equipo y lo arrancamos con una sistema de rescate SystemRescueCD por ejemplo.
Movemos los directorios anteriores del sistema a /mnt/32bits por si tenemos que realizar una marcha atrás, y movemos el sistema de 64bits a su ubicación normal. Luego con reiniciar es suficiente para tener todo el sistema a 64bits con apenas tiempos de parada.

Referencias:

Leer 2373 veces Modificado por última vez en Martes, 13 Agosto 2013 10:02

Escribir un comentario


Código de seguridad
Refescar