
Migrar un servidor de Windows a Linux no debe empezar copiando archivos, sino entendiendo qué servicios, usuarios, permisos, datos, aplicaciones y dependencias existen. El objetivo no es “cambiar de sistema operativo” de forma improvisada, sino trasladar funciones críticas sin perder información, sin romper accesos y sin dejar brechas de seguridad.
Una migración correcta combina inventario, respaldo, pruebas, sincronización, validación, corte controlado y plan de retorno. Para archivos, Windows ofrece herramientas como Robocopy, que permite copiar datos con opciones de permisos, atributos, propietarios, auditoría, reintentos y logs; en Linux, rsync permite sincronizar archivos preservando permisos, propietario, grupo, enlaces y marcas de tiempo mediante su modo archivo.
Idea central: una migración segura no es una copia rápida. Es un proyecto técnico con inventario, respaldo verificable, equivalencia de servicios, pruebas de permisos, validación de usuarios, endurecimiento de Linux y ventana de corte con plan de reversa.
1. Primero: definir qué estás migrando realmente
Un servidor Windows puede cumplir muchas funciones: archivos compartidos, impresión, Active Directory, DNS, DHCP, aplicaciones internas, IIS, SQL Server, bases de datos, scripts, tareas programadas, copias de seguridad, carpetas de usuarios o sistemas heredados. Antes de instalar Linux, debes separar cada función y decidir si será reemplazada, migrada, integrada o retirada.
| Función en Windows | Alternativa típica en Linux | Riesgo principal |
|---|---|---|
| Servidor de archivos | Samba, NFS, Nextcloud, SFTP. | Permisos NTFS mal convertidos o usuarios sin acceso. |
| Active Directory | Integración con AD vía SSSD/Samba o Samba AD DC. | Autenticación rota, DNS incorrecto o políticas no equivalentes. |
| IIS / aplicación web | Nginx, Apache, contenedores, reverse proxy. | Dependencias .NET, rutas, certificados o configuración incompatible. |
| Base de datos | PostgreSQL, MariaDB, SQL Server en Linux o contenedor. | Codificación, permisos, procedimientos, drivers y tiempos de parada. |
2. Inventario obligatorio antes de tocar datos
El inventario debe incluir carpetas compartidas, tamaño, propietarios, grupos, usuarios, permisos, cuotas, archivos ocultos, tareas programadas, certificados, puertos abiertos, servicios, aplicaciones instaladas, bases de datos, dependencias, rutas, scripts y responsables. Microsoft Storage Migration Service se usa en ecosistemas Windows para inventariar servidores y facilitar migraciones de almacenamiento hacia Windows Server o Azure; aunque no migra directamente hacia Linux, muestra la importancia de una fase formal de inventario antes del traslado.
3. Elegir la distribución Linux correcta
Para servidores empresariales, no conviene elegir Linux solo por preferencia personal. Debes considerar soporte, ciclo de vida, repositorios, experiencia del equipo, compatibilidad con hardware, integración con Active Directory, documentación, seguridad, copias, monitoreo y herramientas de administración.
| Distribución | Uso recomendado |
|---|---|
| Ubuntu Server LTS | Servidores generales, Samba, web, contenedores, documentación amplia. |
| Debian | Estabilidad, servicios clásicos, bajo consumo y administración conservadora. |
| Rocky / AlmaLinux / RHEL | Entornos empresariales, SELinux, integración corporativa y soporte tipo RHEL. |
| openSUSE / SUSE | Administración empresarial, YaST, Btrfs/Snapper y entornos SUSE. |
Regla práctica: si el servidor será crítico, elige una distribución con soporte largo, parches de seguridad, documentación sólida y administradores disponibles. No migres producción a una distribución que el equipo no sabe mantener.
4. Respaldo antes de migrar: no existe migración sin copia verificable
Antes de copiar datos al nuevo servidor Linux, debes tener un backup completo, verificable y restaurable del servidor Windows. No basta con “copiar carpetas”; también debes guardar configuraciones, permisos, bases de datos, certificados, tareas programadas, claves de aplicación y documentación de servicios.
Advertencia: una migración sin prueba de restauración no es una migración segura. El backup debe poder restaurarse en un entorno alternativo antes de ejecutar el corte definitivo.
En bases de datos, la estrategia depende del motor. PostgreSQL documenta pg_dump como herramienta para extraer una base en archivo script o formato de archivo; combinado con pg_restore, permite restaurar selectivamente objetos y trasladar datos entre máquinas o arquitecturas. MariaDB documenta mariadb-dump como respaldo lógico para copiar bases o colecciones de bases hacia otro servidor.
5. Migrar archivos sin perder estructura ni permisos
Para servidores de archivos, el reto no es solo copiar gigabytes. El reto es conservar nombres, fechas, estructura, atributos, permisos, propietarios y comportamiento esperado por los usuarios. Robocopy puede copiar datos entre ubicaciones Windows y recursos compartidos, con opciones como copia en modo backup, reintentos, multihilo y registro detallado.
Una opción práctica es preparar el servidor Linux con Samba, exponer temporalmente un recurso compartido de destino y copiar desde Windows hacia ese recurso usando Robocopy. Luego se validan conteos, tamaños, permisos y accesos reales desde estaciones de usuario.
Cuando los datos ya están en Linux o se migran entre servidores Linux, rsync es una herramienta central. Su modo archivo -a preserva recursividad, enlaces, permisos, marcas de tiempo, grupo, propietario y dispositivos; opciones adicionales permiten preservar ACLs y atributos extendidos según el sistema de archivos y privilegios disponibles.
6. Samba: reemplazar un servidor de archivos Windows
Samba permite que un servidor Linux comparta archivos e impresoras con clientes Windows. Ubuntu documenta que Samba puede configurarse como servidor de archivos o impresión para clientes Windows, y también como miembro de un dominio Active Directory cuando se necesita autenticación centralizada.
Si la empresa ya tiene Active Directory, lo recomendable no suele ser crear usuarios locales duplicados en Linux, sino unir el servidor Samba al dominio para que los usuarios sigan autenticándose con sus credenciales corporativas. Ubuntu indica que un servidor Samba debe unirse al dominio AD antes de servir archivos e impresoras a usuarios de Active Directory.
Para compatibilidad avanzada con permisos Windows, Samba ofrece el módulo vfs_acl_xattr, que almacena ACLs NTFS en atributos extendidos. Esto puede ayudar cuando el servidor Linux será accedido principalmente por clientes Windows mediante Samba y se necesita conservar semántica de permisos cercana a NTFS.
7. Usuarios y autenticación: AD, SSSD, Winbind o usuarios locales
La migración de usuarios debe decidirse con cuidado. En empresas con Active Directory, Linux puede integrarse al dominio usando SSSD, realmd o Samba Winbind. Red Hat documenta que SSSD es el componente recomendado para conectar directamente sistemas RHEL con Active Directory, y también reconoce Samba Winbind como alternativa para acceso a recursos AD.
| Escenario | Opción recomendada | Ventaja |
|---|---|---|
| Empresa con AD existente | Unir Linux al dominio con SSSD o Samba. | Evita duplicar usuarios y contraseñas. |
| Pequeña oficina sin dominio | Usuarios locales y grupos Linux. | Simplicidad y bajo costo operativo. |
| Reemplazo de dominio Windows | Evaluar Samba AD DC. | Control de autenticación desde software libre. |
Recomendación: no migres usuarios sin mapa de equivalencias. Define qué grupos de Windows se convertirán en grupos Linux, qué permisos se conservarán, quién tendrá sudo y qué cuentas deben quedar deshabilitadas.
8. Migrar aplicaciones y servicios: no todo tiene equivalente directo
Algunos servicios migran con facilidad; otros requieren rediseño. Una aplicación web en IIS puede migrarse a Nginx/Apache si usa tecnologías compatibles, pero una aplicación muy dependiente de componentes Windows, COM, rutas locales, autenticación integrada o librerías específicas puede necesitar contenedor, reescritura, compatibilidad .NET moderna o mantenerse temporalmente en Windows.
| Servicio Windows | Ruta de migración |
|---|---|
| File Server | Samba con permisos probados por grupo. |
| IIS | Nginx/Apache, reverse proxy, contenedores o .NET moderno. |
| SQL Server | SQL Server en Linux, PostgreSQL/MariaDB o migración por aplicación. |
| Tareas programadas | cron, systemd timers o jobs de CI/CD. |
| Scripts PowerShell | Bash, Python, PowerShell Core o Ansible. |
9. Bases de datos: exportar, probar y medir tiempos
La migración de bases de datos exige pruebas separadas. Hay que medir tamaño, tiempo de exportación, tiempo de importación, codificación, usuarios, permisos, procedimientos almacenados, extensiones, jobs, índices, collation, drivers de aplicación y compatibilidad de consultas.
PostgreSQL destaca que pg_dump puede respaldar una base y que los formatos de archivo combinados con pg_restore ofrecen un mecanismo flexible de archivo y transferencia. MariaDB advierte que los respaldos lógicos con mariadb-dump pueden generar archivos grandes y restauraciones lentas en datasets grandes, por lo que conviene probar tiempos reales antes del corte.
10. Seguridad del nuevo servidor Linux
No tiene sentido migrar datos a Linux y dejar el servidor abierto o mal configurado. La seguridad debe aplicarse desde el primer arranque: actualizaciones, firewall, SSH con llaves, usuarios mínimos, sudo controlado, SELinux/AppArmor, logs, backups, monitoreo y revisión de servicios activos.
OpenSSH documenta opciones como PermitRootLogin, PasswordAuthentication, AllowUsers, AllowGroups y AllowTcpForwarding, útiles para endurecer acceso remoto. En un servidor migrado, SSH debe quedar limitado a administradores autorizados, preferentemente mediante llaves y acceso por VPN o IPs permitidas.
11. Pruebas antes del corte definitivo
La fase de pruebas debe simular usuarios reales. No basta que el administrador pueda ver carpetas. Deben probar los grupos de contabilidad, logística, gerencia, TI, soporte externo y usuarios comunes. También hay que probar aplicaciones, rutas UNC, impresión, scripts, backups, antivirus/EDR, monitoreo y restauración.
Checklist de pruebas
- Archivos: abrir, crear, modificar, borrar y restaurar.
- Permisos: usuarios correctos acceden; usuarios no autorizados no acceden.
- Aplicaciones: conectan con rutas, bases, APIs y certificados.
- Rendimiento: medir copia, apertura de archivos y consultas.
- Seguridad: puertos cerrados, SSH endurecido y logs activos.
- Backup: primera copia desde Linux y prueba de restauración.
- Rollback: procedimiento para volver al servidor Windows si falla el corte.
12. Sincronización final y ventana de corte
La migración ideal tiene al menos dos copias: una copia inicial grande y una sincronización final corta. La primera puede hacerse días antes; la segunda se realiza durante la ventana de corte, cuando los usuarios dejan de escribir en el servidor Windows. Esto reduce tiempo de parada y evita pérdida de cambios recientes.
13. Documentar equivalencias: lo que estaba en Windows y dónde quedó en Linux
La documentación evita confusión después del cambio. Cada recurso Windows debe tener su equivalente Linux: ruta, servicio, puerto, dueño, backup, usuario técnico, ubicación de logs, archivo de configuración y procedimiento de recuperación.
| Elemento | Antes en Windows | Después en Linux |
|---|---|---|
| Compartido Datos | D:\Datos | /srv/samba/datos |
| Servidor web | IIS sitio interno | Nginx reverse proxy + aplicación |
| Tarea nocturna | Task Scheduler | systemd timer o cron |
| Logs | Event Viewer / logs de app | journalctl /var/log / logs de aplicación |
14. Errores comunes que causan pérdida de datos o caída
- Migrar sin inventario completo de servicios y dependencias.
- Copiar archivos sin preservar permisos o sin validar accesos reales.
- No probar restauración del backup antes del corte.
- Crear usuarios locales duplicados cuando la empresa usa Active Directory.
- No revisar codificación, rutas, nombres largos o caracteres especiales.
- Convertir permisos NTFS a Linux sin una matriz de grupos.
- Olvidar tareas programadas, certificados, scripts y claves de aplicación.
- No tener plan de retorno si la migración falla.
- Dejar SSH con contraseña o root habilitado.
- Apagar el servidor Windows original demasiado pronto.
15. Checklist final de migración Windows a Linux
Lista operativa
- Inventario: servicios, carpetas, usuarios, permisos, bases, tareas y certificados.
- Diseño: distribución Linux, roles, almacenamiento, red, DNS y seguridad.
- Backup: copia completa y restauración probada.
- Servidor destino: Linux actualizado, firewall, SSH seguro y monitoreo.
- Usuarios: integración AD, SSSD/Samba o usuarios locales bien definidos.
- Archivos: copia inicial, validación y sincronización final.
- Permisos: equivalencia entre grupos Windows y Linux/Samba.
- Bases de datos: exportación, importación, pruebas y tiempos medidos.
- Aplicaciones: servicios, dependencias, rutas, certificados y logs.
- Corte: ventana comunicada, bloqueo de escritura y pruebas con usuarios clave.
- Postmigración: monitoreo, soporte, backups y servidor Windows en solo lectura temporal.
- Cierre: acta técnica, evidencia, aprobación y retiro controlado del servidor antiguo.
16. Preguntas clave
¿Se puede migrar un servidor Windows a Linux sin perder datos?
Sí, siempre que se haga con inventario, backup probado, copia controlada, validación de permisos, pruebas de usuarios, sincronización final y plan de retorno. El riesgo no está en Linux, sino en migrar sin método.
¿Samba reemplaza completamente a un servidor de archivos Windows?
Samba puede compartir archivos e impresoras con clientes Windows y puede operar como servidor miembro de Active Directory. Para permisos avanzados, módulos como vfs_acl_xattr permiten almacenar ACLs NTFS en atributos extendidos, pero siempre se debe probar la compatibilidad con los grupos y aplicaciones reales.
¿Debo mantener Active Directory?
En muchas empresas sí. Mantener AD y unir Linux al dominio con SSSD o Samba reduce cambios para usuarios y evita duplicar credenciales. Red Hat recomienda SSSD para conectar sistemas RHEL directamente con Active Directory.
¿Robocopy sirve para migrar hacia Linux?
Sí, puede servir cuando el servidor Linux expone un recurso Samba compatible. Robocopy copia datos entre ubicaciones y ofrece opciones de copia, reintentos, permisos y registro. Después de copiar, se deben validar permisos, conteos y accesos reales.
¿Cuándo puedo apagar el servidor Windows antiguo?
No inmediatamente. Lo prudente es mantenerlo en solo lectura durante un periodo de observación, conservar respaldos, validar que usuarios y aplicaciones ya trabajan sobre Linux y recién después retirarlo formalmente.
Recomendamos
- Por qué los servidores usan Linux: ventajas para empresas y administradores TI
- Comandos básicos que debes aprender para administrar tu servidor Linux
- Guía completa de redes en Linux: comandos, diagnóstico, configuración y solución de problemas
- Cómo saber si tu Linux está bien protegido: 30 comprobaciones de seguridad que puedes realizar ahora mismo
- Guía completa de SELinux y AppArmor: cómo proteger aplicaciones y servicios sin complicarte la vida
- Cómo crear un sistema de alertas para servidores Linux: recibe avisos cuando falle un servicio, se llene el disco o aumente la CPU
En resumen
Migrar un servidor de Windows a Linux sin perder datos exige planificación, no improvisación. Primero se inventarian servicios, carpetas, usuarios, permisos, aplicaciones y bases de datos. Luego se prepara Linux, se hacen respaldos verificables, se copian datos con herramientas adecuadas, se prueban permisos, se sincroniza en la ventana de corte y se mantiene el servidor original en solo lectura hasta confirmar que todo funciona.
La migración será exitosa cuando los usuarios puedan trabajar igual o mejor que antes, los datos estén completos, los permisos sean correctos, los servicios estén monitoreados, los backups funcionen y la seguridad de Linux haya sido endurecida desde el primer día.
Cierre editorial
Windows y Linux pueden convivir, integrarse o reemplazarse según la necesidad. La decisión importante no es ideológica, sino técnica: qué servicio cumple cada sistema, cómo se protegen los datos y cómo se garantiza continuidad. Migrar bien a Linux no significa correr; significa medir, probar, validar y recién entonces cortar con seguridad.

