Product SiteDocumentation Site

3.2. Cómo migrar

Para poder garantizar la continuidad de los servicios, la migración de cada equipo debe ser planificada y realizada de acuerdo al plan. Este principio es aplicable sin importar el sistema operativo que utilice.

3.2.1. Reconocimiento e identificación de servicios

Simple como parece, este paso es esencial. Un administrador serio realmente conoce los roles principales de cada servidor, pero dichos roles pueden cambiar y a veces usuarios experimentados pueden haber instalado servicios «salvajes». Saber que existen le permitirá, al menos, decidir qué hacer con ellos en lugar de eliminarlos sin orden ni propósito.
Por ello, es buena idea informar a sus usuarios del proyecto antes de migrar el servidor. Involucrarlos en el proyecto puede ser útil para instalar el software libre más común en sus equipos de escritorio antes de la migración, programas con los que se encontrarán luego de la migración a Debian; LibreOffice.org y la suite Mozilla son los mejores ejemplos de tales programas.

3.2.1.1. La red y los procesos

La herramienta nmap (en el paquete del mismo nombre) identificará rápidamente servicios de internet hospedados en un equipo conectado a la red sin siquiera necesitar iniciar sesión en el mismo. Simplemente ejecute la siguiente orden en otro equipo conectado a la misma red:
$ nmap mirwiz
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-06 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5666/tcp open  nrpe
9999/tcp open  abyss

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Si el servidor es un equipo Unix ofreciendo acceso de consola a los usuarios, es interesante determinarlo si se ejecutan procesos en segundo plano en ausencia de su usuario. La orden ps auxw muestra una lista de todos los procesos con la identidad de su usuario. Comparar esta información con la salida de la orden who, que provee la lista de usuarios con sesiones activas, permite identificar servidores no declarados o independientes o programas ejecutando en segundo plano. Revisar crontab (tablas de acciones programadas por usuarios) generalmente proveerá información interesante sobre las funciones que cumple el servidor (una explicación completa de cron está disponible en la Sección 9.7, “Programación de tareas con cron y atd).
En cualquier caso, es esencial que haga respaldos de sus servidores: de esta forma se asegurará que la información pueda ser recuperada después del hecho, cuando los usuarios informen acerca de problemas concretos derivados de la migración.

3.2.2. Respaldos de la configuración

Es buena idea conservar la configuración de todo servicio identificado para poder instalar el equivalente en el nuevo servidor. Como mínimo debería hacer un respaldo de los archivos de configuración.
En los equipos Unix, los archivos de configuración se encuentran normalmente en /etc/ pero puede que se encuentren en un subdirectorio de /usr/local/. Este es el caso si el programa se ha instalado desde las fuentes en lugar de utilizar un paquete. En algunos casos podría encontrarlos en /opt/.
Para servicios que administren datos (como bases de datos), es muy recomendable exportar los datos a un formato estándar que pueda ser importado fácilmente por el nuevo software. Tal formato generalmente está documentado y es texto plano; puede ser, por ejemplo, un volcado SQL para una base de datos o un archivo LDIF para un servidor LDAP.
Respaldos de base de datos

Figura 3.2. Respaldos de base de datos

Cada software de servidor es diferente y es imposible describir en detalle todos los casos posibles. Compare la documentación del software nuevo y el actual para identificar las porciones exportables (y, por lo tanto, importables) y aquellas que necesitarán que intervenga de forma manual. Leer este libro clarificará la configuración de los principales programas de servidor en Linux.

3.2.3. Adopción de un servidor Debian existente

Para efectivamente tomar el control de su mantenimiento, uno podría analizar un equipo que ya ejecuta Debian.
El primer archivo a revisar es /etc/debian_version que generalmente contiene el número de versión para el sistema Debian instalado (es parte del paquete base-files. Si indica nombre_código/sid significa que el sistema fue actualizado con paquetes que provienen de alguna de las distribuciones en desarrollo («Testing» o «Unstable»).
El programa apt-show-versions (que se encuentra en el paquete Debian que lleva el mismo nombre) comprueba la lista de paquetes instalados e identifica las versiones disponibles. Puede utilizar también aptitude para estas tareas, aunque de un modo menos sistemático.
Revisar el archivo /etc/apt/sources.list (y el directorio /etc/apt/sources.list.d/) mostrará de dónde es probable que provengan los paquetes Debian. Si aparecen muchas fuentes desconocidas, el administrador podría elegir reinstalar el sistema completamente para asegurar compatibilidad óptima con el software provisto por Debian.
El archivo sources.list es generalmente un buen indicador: la mayoría de los administradores mantienen, al menos como comentarios, la lista de fuentes APT utilizadas anteriormente. Pero no debe olvidar que fuentes utilizadas previamente podrían haber sido eliminadas y se podrían haber instalado manualmente paquetes al azar descargados de internet (con la orden dpkg). En este caso, la apariencia del equipo como un Debian estándar es engañosa. Es por eso que debe prestar atención a cualquier indicación que revele la presencia de paquetes externos (archivos deb en directorios inusuales, números de versión de paquetes con sufijos especiales que indican su origen fuera del proyecto Debian como ubuntu o lmde, etc.)
De la misma forma, es interesante analizar el contenido del directorio /usr/local/, cuyo propósito es albergar programas compilados e instalados manualmente. Generar una lista de software instalado de esta forma es instructivo, ya que genera dudas sobre las razones para no utilizar el paquete Debian correspondiente, si es que existe.

3.2.4. Instalación de Debian

Una vez que conoce toda la información del servidor actual, puede apagarlo y comenzar a instalar Debian en él.
Para elegir la versión apropiada, debemos saber la arquitectura del equipo. Si es una PC relativamente reciente, es probable que sea amd64 (equipos más antiguos usualmente eran i386). En otros casos podemos reducir las posibilidades según el sistema utilizado previamente.
La Tabla 3.1 no pretende ser exhaustiva, pero puede ser útil. En cualquier caso, la documentación original para el equipo es la fuente más confiable para encontrar esta información.

Tabla 3.1. Emparejando sistema operativo y arquitectura

Sistema operativoArquitectura(s)
DEC Unix (OSF/1)alpha, mipsel
HP Unixia64, hppa
IBM AIXpowerpc
Irixmips
OS Xamd64, powerpc, i386
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2008i386, amd64, ia64
Windows RTarmel, armhf, arm64
Windows Vista / Windows 7-8-10i386, amd64

3.2.5. Instalación y configuración de los servicios seleccionados

Una vez que Debian está instalado debemos instalar y configurar, uno por uno, todos los servicios que debe tener este equipo. La nueva configuración debe tener en cuenta la anterior para asegurar una transición fluida. Toda la información recolectada en los primeros dos pasos será útil para completar esta parte exitosamente.
Instalación de los servicios seleccionados

Figura 3.3. Instalación de los servicios seleccionados

Antes de sumergirse completamente en este ejercicio es muy recomendable que lea el resto de este libro. Luego tendrá un entendimiento más preciso de cómo configurar los servicios esperados.