Tutorial: migrar de Azure Database for PostgreSQL: servidor único a un servidor flexible con el servicio de migración
SE APLICA A: Azure Database for PostgreSQL con servidor flexible
Mediante Azure Portal, puede migrar una instancia de servidor único a una de servidor flexible de Azure Database for PostgreSQL. En este tutorial, migramos una base de datos de ejemplo de una instancia de servidor único de Azure Database for PostgreSQL a una instancia de servidor flexible de PostgreSQL mediante Azure Portal.
- Configuración de la instancia de servidor flexible de Azure Database for PostgreSQL
- Configuración de la tarea de migración
- Supervisión de la migración
- Cancelación de la migración
- Después de la migración
Puede realizar la migración mediante Azure Portal.
Requisitos previos (sin conexión)
Antes de iniciar la migración con el servicio de migración en Azure Database for PostgreSQL, debe cumplir los siguientes requisitos previos, que se aplican a escenarios de migración sin conexión.
Comprobación de la versión de origen
La versión de PostgreSQL de origen debe ser >= 9.5
. Si la versión de PostgreSQL de origen es menor que 9.5
, actualice la versión de PostgreSQL de origen a 9.5
o una superior antes de realizar la migración.
Configuración de destino
El servidor flexible de Azure Database for PostgreSQL debe implementarse y configurarse correctamente en Azure antes de comenzar el proceso de migración.
La SKU elegida para Azure Database for PostgreSQL debe corresponderse con las especificaciones de la base de datos de origen a fin de garantizar la compatibilidad y el rendimiento adecuado.
Para obtener instrucciones detalladas sobre cómo crear una instancia de Azure Database for PostgreSQL, consulte el vínculo siguiente: Inicio rápido: Creación de un servidor.
Configuración de red
La configuración de red es fundamental para que el servicio de migración funcione correctamente. Asegúrese de que el servidor PostgreSQL de origen puede comunicarse con el servidor de Azure Database for PostgreSQL de destino. Las siguientes configuraciones de red son esenciales para una migración correcta.
Para obtener información sobre la configuración de red, visite Guía de red para el servicio de migración.
Habilitación de extensiones
Para asegurarse de que la migración se realiza correctamente usando el servicio de migración en Azure Database for PostgreSQL, es posible que tenga que comprobar las extensiones de la instancia de PostgreSQL de origen. Las extensiones proporcionan funcionalidad y características adicionales que podrían ser necesarias para la aplicación. Asegúrese de comprobar las extensiones en la instancia de PostgreSQL de origen antes de iniciar el proceso de migración.
Habilite las extensiones admitidas identificadas en la instancia de PostgreSQL de origen en la instancia de destino de Azure Database for PostgreSQL: servidor flexible.
Para obtener más información, consulte Extensiones de Azure Database for PostgreSQL.
Nota:
Cuando se producen cambios en el parámetro shared_preload_libraries
, es necesario reiniciar.
Comprobación de los parámetros del servidor
Estos parámetros no se migran automáticamente al entorno de destino y deben configurarse manualmente.
Haga coincidir los valores de parámetros del servidor de la base de datos de PostgreSQL de origen con Azure Database for PostgreSQL accediendo a la sección Parámetros de servidor de Azure Portal y actualizando manualmente los valores en consecuencia.
Guarde los cambios del parámetro y, si es necesario, reinicie el servidor flexible de Azure Database for PostgreSQL para aplicar la nueva configuración.
Importante
Cambie el parámetro de servidor password_encryption en el servidor flexible de SCRAM-SHA-256 a MD5 antes de iniciar la migración. Esto es esencial para que las credenciales existentes en un solo servidor funcionen en el servidor flexible.
Deshabilitación de la alta disponibilidad (fiabilidad) y las réplicas de lectura en el destino
Deshabilitar la alta disponibilidad (fiabilidad) y las réplicas de lectura en el entorno de destino es esencial. Estas características deben habilitarse solo una vez completada la migración.
Al seguir estas instrucciones, puede ayudar a garantizar un proceso de migración sin las variables agregadas introducidas por la alta disponibilidad y las réplicas de lectura. Una vez que se completa la migración y la base de datos es estable, puede continuar con la habilitación de estas características para mejorar la disponibilidad y escalabilidad del entorno de base de datos en Azure.
Configuración de la instancia de servidor flexible de Azure Database for PostgreSQL
Cree el servidor flexible de destino. Para ver los pasos guiados, consulte el inicio rápido Creación de una instancia de servidor flexible de Azure Database for PostgreSQL con el portal.
Agregue a la lista de permitidos las extensiones cuyas bibliotecas deben cargarse al iniciar el servidor. Es esencial que la extensión esté en la lista de permitidos antes de iniciar una migración.
Compruebe si la distribución de datos entre las tablas de una base de datos es asimétrica con la mayoría de los datos presentes en una sola (o pocas) tablas. Si está sesgada, la velocidad de migración podría ser más lenta de lo esperado. En este caso, la velocidad de migración se puede aumentar mediante la migración en paralelo de la tabla grande.
Configuración de la tarea de migración
El servicio de migración incluye una experiencia sencilla basada en asistentes en Azure Portal. A continuación, se indica cómo empezar:
Abra el explorador web y vaya al portal. Para iniciar sesión, escriba sus credenciales. La vista predeterminada es el panel del servicio.
Vaya al destino de Azure Database for PostgreSQL con servidor flexible.
En la pestaña Información general del servidor flexible, en el menú de la izquierda, desplácese hacia abajo hasta la opción Migración y selecciónela.
Seleccione el botón Crear para iniciar una migración de un servidor único a un servidor flexible. Si esta es la primera vez que usa el servicio de migración, aparecerá una cuadrícula vacía con un mensaje para comenzar la primera migración.
Si ya ha creado migraciones al destino del servidor flexible, la cuadrícula contiene información sobre las migraciones que se intentaron para este destino desde el servidor único.
Puede pasar por una serie de pestañas basadas en el asistente para crear una migración a este destino de Servidor flexible desde diferentes orígenes posibles. De forma predeterminada, Tipo de servidor de origen se establece en Servidor único de Azure Database for PostgreSQL, que es el que nos interesa en este escenario.
Como alternativa, puede iniciar el proceso de migración desde el servidor único de Azure Database for PostgreSQL.
Abra el explorador web y vaya al portal. Para iniciar sesión, debe escribir sus credenciales. La vista predeterminada es el panel del servicio.
Al seleccionar el servidor único, puede observar un banner relacionado con la migración en la pestaña Información general. Seleccione Migrar ahora para empezar.
Se le remite a una página con dos opciones. Si ya ha creado un Servidor flexible y quiere usarlo como destino, elija Seleccionar existente y seleccione los detalles correspondientes de Suscripción, Grupo de recursos y Nombre del servidor. Una vez realizadas las selecciones, seleccione Ir al asistente para la migración y siga las instrucciones de la sección Configuración.
Si elige crear un Servidor flexible, seleccione Crear nuevo y seleccione Ir al Asistente para crear. Esta acción le guía por el proceso de creación del servidor flexible e implementa el servidor flexible.
Después de implementar el servidor flexible, siga los pasos del 3 al 5 en Configuración de la tarea de migración.
Configurar
La primera pestaña es Configuración. En caso de que se lo haya perdido, agregar a la lista de permitidos las extensiones necesarias, tal como se describe en Configuración del servidor flexible de Azure Database for PostgreSQL, antes de iniciar una migración.
Nombre de la migración es el identificador único de cada migración a este destino de servidor flexible. Este campo solo acepta caracteres alfanuméricos y no acepta caracteres especiales excepto el subrayado (_) y el guión (-). El nombre debe comenzar con un carácter alfanumérico. El nombre también debe ser único para un servidor de destino, ya que ninguna migración al mismo destino del Servidor flexible puede tener el mismo nombre.
El valor de Tipo de servidor de origen indica el origen. En este caso, es un servidor único de Azure Database for PostgreSQL
La Opción de migración le permite realizar validaciones antes de desencadenar una migración. Puede elegir cualquiera de las siguientes opciones.
- Validar: comprueba la preparación del servidor y de la base de datos para la migración al destino.
- Migrar: omite las validaciones e inicia la migración.
- Validar y migrar: realiza la validación antes de desencadenar una migración. La migración se desencadena solo si no hay errores de validación.
Siempre es recomendable elegir la opciónValidar o Validar y migrar para realizar validaciones previas a la migración antes de ejecutar la migración.
Modo de migración permite elegir entre una migración en línea y sin conexión, en este caso debe establecerse en Sin conexión.
Seleccione el botón Siguiente: Seleccionar servidor en tiempo de ejecución.
Servidor en tiempo de ejecución
Migration Runtime Server es una característica especializada dentro del servicio de migración en Azure Database for PostgreSQL, diseñada para actuar como servidor intermediario durante la migración. Se trata de una instancia independiente de Azure Database for PostgreSQL: Servidor flexible que no es el servidor de destino, sino que se usa para facilitar la migración de bases de datos desde un entorno de origen al que solo se puede acceder a través de una red privada.
Para obtener más información sobre el servidor en tiempo de ejecución, visite Servidor en tiempo de ejecución.
Seleccione el botón Siguiente: Conectar al origen.
Conectar a origen
La sección Origen le pide que proporcione detalles relacionados con el servidor único que es el origen de las bases de datos.
Después de realizar las selecciones Suscripción y Grupo de recursos, la lista desplegable de nombres de servidor muestra los servidores únicos en ese grupo de recursos entre regiones. Seleccione el origen des de el que quiere migrar las bases de datos. Puede migrar bases de datos de un servidor único a un servidor flexible de destino en la misma región. Las migraciones entre regiones solo están habilitadas para servidores en India, China y Emiratos Árabes Unidos.
Después de elegir el origen de Servidor único, los cuadros de Ubicación y Versión de PostgreSQL se rellenan automáticamente. Asegúrese de proporcionar las credenciales de un rol de administrador, ya que es necesario para que el servicio de migración migre correctamente las bases de datos.
El campo FQDN/IP personalizado es opcional y se puede usar cuando el origen está detrás de un servidor DNS personalizado o tiene espacios de nombres DNS personalizados, lo que hace que solo sea accesible a través de FQDN o direcciones IP específicas. Por ejemplo, esto podría incluir entradas como singleserver.example.com
, 198.1.0.2
, o un FQDN de PostgreSQL como singleserver.postgres.database.azure.com
, si el servidor DNS personalizado contiene la zona DNS postgres.database.azure.com
o reenvía las consultas de esta zona a 168.63.129.16
, donde el FQDN se resuelve en la zona DNS pública o privada de Azure.
Después de rellenar todos los campos, seleccione el vínculo Conectar al origen. Esta acción valida que los detalles del servidor de origen especificados sean correctos y que se pueda acceder al servidor de origen.
Seleccione el botón Siguiente: Seleccionar destino de migración para continuar.
Selección del destino de migración
En la sección Seleccionar destino de migración se muestran los metadatos del destino del Servidor flexible, como Suscripción, Grupo de recursos, Nombre del servidor, Ubicación y Versión de PostgreSQL.
El campo FQDN/IP personalizado es opcional y se puede usar cuando el destino está detrás de un servidor DNS personalizado o tiene espacios de nombres DNS personalizados, lo que hace que solo sea accesible a través de FQDN o direcciones IP específicas. Por ejemplo, esto podría incluir entradas como flexibleserver.example.com
, 198.1.0.2
, o un FQDN de PostgreSQL como flexibleserver.postgres.database.azure.com
, si el servidor DNS personalizado contiene la zona DNS postgres.database.azure.com
o reenvía las consultas de esta zona a 168.63.129.16
, donde el FQDN se resuelve en la zona DNS pública o privada de Azure.
Elija los valores adecuados para Método de autenticación y todos los campos relacionados con la autenticación. Asegúrese de que la identidad proporcionada es la del usuario administrador en el servidor de destino. Después de rellenar toda la información necesaria, seleccione el vínculo Conectar al destino. Esta acción valida que los detalles del servidor de destino especificados sean correctos y que se pueda acceder al servidor de destino.
Seleccione el botón Siguiente: Seleccionar bases de datos para la migración para seleccionar las bases de datos que se van a migrar.
Selección de bases de datos para la migración
En esta pestaña, hay una lista de bases de datos de usuario dentro del servidor único. Puede seleccionar y migrar hasta ocho bases de datos en un único intento de migración. Si hay más de ocho bases de datos de usuario, el proceso de migración se repite entre los servidores de origen y de destino para el siguiente conjunto de bases de datos. Las bases de datos seleccionadas que existen en el servidor de destino con los mismos nombres exactos se sobrescriben.
Seleccione el botón Siguiente: Resumen para revisar los detalles.
Resumen
En la pestaña Resumen se sintetizan todos los detalles para crear la validación o la migración. Revise los detalles y seleccione el botón Iniciar la validación y la migración.
Supervisar el portal de migración
Después de iniciar la migración, aparece una notificación para indicar que la validación o la creación de la migración se han realizado correctamente. Se le redirige automáticamente a la página Migración del servidor flexible. Tiene una nueva entrada para la validación o migración creada recientemente.
La cuadrícula que muestra las migraciones tiene estas columnas: Nombre, Estado, Modo de migración, Tipo de migración, Servidor de origen, Tipo de servidor de origen, Bases de datos, Hora de inicio y Duración. Las entradas se muestran en el orden descendente de la hora de inicio con la entrada más reciente en la parte superior.
Puede usar el botón Actualizar para actualizar el estado de la validación o migración.
También puede seleccionar el nombre de una migración determinada en la cuadrícula para ver los detalles asociados.
Cuando se crea la validación o migración, pasa al estado InProgress y al subestado PerformingPreRequisiteSteps. El flujo de trabajo tarda entre 2 y 3 minutos en configurar la infraestructura de migración y las conexiones de red.
Veamos cómo supervisar las migraciones para cada opción de migración.
Validación
Una vez completado el subestado PerformingPreRequisiteSteps, la validación pasa al subestado Validación en curso, donde se realizan comprobaciones en el servidor de origen y de destino para evaluar la preparación para la migración.
La validación pasa al estado de Correcto si todas las validaciones están en estado Correcto o Advertencia.
La cuadrícula de validación tiene la siguiente información:
- Secciones Detalles de validación para la instancia y Detalles de validación para bases de datos que representan las reglas de validación usadas para comprobar la preparación de la migración.
- Nombre de validación: el nombre de cada regla de validación específica.
- Estado de validación: representa el resultado de cada regla y puede tener cualquiera de los tres valores:
- Correcto: si no se encontraron errores.
- Error: si hay errores de validación.
- Advertencia:: si hay advertencias de validación.
- Duración: tiempo necesario para la operación de validación.
- Hora de inicio (UTC) y Hora de finalización (UTC): hora de inicio y finalización de la operación de validación en UTC.
El estado de validación pasa a Con errores si se ha producido algún problema. Seleccione el Nombre de la validación o la validación Nombre de la base de datos en la que se ha producido el error y un panel de distribución ramificada proporcionará los detalles y la acción correctiva que debe realizar para evitar este error.
Migrate
Una vez completado el subestado PerformingPreRequisiteSteps, la migración pasa al subestado MigratingData, que es cuando se realiza la clonación o la copia de las bases de datos. El tiempo que tarda en completarse la migración depende del tamaño y la forma de las bases de datos que migre. La migración es rápida si los datos se distribuyen principalmente de forma uniforme en todas las tablas. Los tamaños de tablas sesgadas tardan un tiempo relativamente más largo.
Al seleccionar cualquiera de las bases de datos en la migración, aparece un panel de distribución ramificada. Tiene todos los recuentos de tablas (copiados, en cola, copiando y errores) y también el estado de migración de la base de datos.
La migración pasa al estado Correcto cuando el estado MigratingData se completa correctamente. Si hay algún problema en el subestado MigratingData, la migración pasa a un estado Error.
Una vez que la migración pasa al estado Correcto, se completa la migración del esquema y los datos del servidor único al destino del servidor flexible. Puede actualizar la página para comprobar el progreso.
Validar y migrar
En esta opción, las validaciones se realizan primero antes de que se inicie la migración. Una vez completado el subestado PerformingPreRequisiteSteps, el flujo de trabajo pasa al subestado de Validación en curso.
- Si la validación tiene errores, la migración pasa a un estado Error.
- Si la validación se completa sin ningún error, se inicia la migración y el flujo de trabajo pasará al subestado Migración de datos.
Podrá ver los resultados de Validar y migrar una vez completada la operación.
Cancelación de la migración mediante el portal
Puede cancelar las validaciones o migraciones en curso. El flujo de trabajo debe estar en el estado inProgress que se va a cancelar. No se puede cancelar una validación o migración que esté en el estado Correcta o Errónea.
La cancelación de una validación detiene cualquier actividad de validación adicional y la validación pasa al estado de Cancelada.
La cancelación de una migración detiene aún más la actividad de migración en el servidor de destino y se mueve a un estado de Cancelada. La acción cancelar revertirá todos los cambios realizados por el servicio de migración en el servidor de destino.
Comprobación de la migración cuando se complete
Tras una migración correcta, asegúrese de que puede iniciar sesión en su servidor flexible utilizando las mismas credenciales que en el servidor único. Si se producen errores de autenticación en el servidor flexible después de migrar desde un servidor único, puede deberse a que la máquina virtual del nuevo servidor flexible sea compatible con FIPS o a que utilice un algoritmo de cifrado de contraseñas diferente (SCRAM-SHA-256) en comparación con el cifrado MD5 del servidor único. Para solucionar este problema, siga estos pasos:
- Cambie el parámetro de servidor password_encryption en el servidor flexible de SCRAM-SHA-256 a MD5.
- Vuelva a iniciar la migración desde el servidor único al servidor flexible.
- Si los problemas de autenticación persisten, elimine el servidor flexible existente y aprovisione uno nuevo. Repita los pasos 1 y 2 para resolver el error.
Esto debe resolver los errores de autenticación.
Después de la migración, se pueden realizar las siguientes tareas:
Compruebe los datos en el servidor flexible y asegúrese de que es una copia exacta de la instancia de origen.
Después de la comprobación, habilite la opción de alta disponibilidad en el servidor flexible según sea necesario.
Cambie la SKU del servidor flexible para que coincida con las necesidades de la aplicación. Este cambio requiere un reinicio del servidor de bases de datos.
Si ha cambiado los valores predeterminados de los parámetros del servidor en la instancia de origen, copie esos valores de los parámetros del servidor en el servidor flexible.
Copie otras opciones de configuración del servidor, como etiquetas, alertas, reglas de firewall (si procede) de la instancia de origen al servidor flexible.
Realice cambios en la aplicación para que las cadenas de conexión apunten a un servidor flexible.
Supervise atentamente el rendimiento de la base de datos para ver si requiere el ajuste del rendimiento.