Instalación¶
Nota
Como recordatorio, el cambio a root en las máquinas Debian debe hacerse con el siguiente comando:
1 | |
Las instrucciones proporcionadas en esta página deben seguirse para la instalación de todos los nodos en el clúster PostgreSQL.
Configuración del sistema¶
Conexión con la máquina¶
Cambiar el diseño del teclado¶
Configuración de la red¶
El dispositivo virtual puede no recibir una configuración de red cuando se inicia por las siguientes razones:
- El nombre de la interfaz de red no es
ens192: el aparato está configurado con DHCP para la interfazens192solamente - No hay servidor DHCP disponible
Para comprobar el nombre de la interfaz de red, su estado y las direcciones IP asignadas, ejecute el siguiente comando como root:
1 | |
Example
Después de ejecutar el comando, se muestra la siguiente respuesta:
1 | |
El nombre de la interfaz de red en el ejemplo es ens192, la interfaz está activa y tiene la dirección IP 10.100.0.51/24.
Si el nombre es diferente de ens192 o el comando no devuelve ninguna configuración de red, deberá configurar una configuración de red manualmente utilizando los siguientes comandos:
1 2 | |
Sustituir:
IP_ADDRESSpor la dirección IP de la máquinaSUBNETpor la subredDEV_NAMEnombre de la interfaz de red consultada anteriormenteGATEWAYpor el portal de red
Example
Para configurar el nodo PostgreSQL con la siguiente información:
- Dirección IP:
10.100.0.51 - Subred:
/24o255.255.255.0 - Nombre de la interfaz de red:
eth0 - Puerta de acceso a la red:
10.100.0.254
Los comandos son los siguientes:
1 2 | |
Note
Esta configuración de red es temporal, por lo que cualquier reinicio del servidor restablecerá la configuración manual hecha con el ip address y ip route las órdenes.
La configuración permanente será realizada por la utilidad de configuración de clúster PostgreSQL.
Sin embargo, gracias a esta configuración de red, ahora se puede acceder al nodo PostgreSQL a través de SSH.
Modificación de las zonas horarias¶
Configurando un servidor de tiempo NTP¶
Danger
Se recomienda encarecidamente que configure un servidor de tiempo para mantener el reloj del sistema actualizado: cualquier diferencia de tiempo entre los nodos de PostgreSQL puede causar inestabilidad o incluso hacer que el clúster deje de funcionar.
Los pasos necesarios se describen en el la página de configuración de NTP (la configuración es equivalente a la de cibernéticoLos elementos Cleanroom Mediation Controller servidores).
Creando una PKI para generar certificados de nodo de PostgreSQL¶
Info
Esta sección es opcional si ya tiene un PKI a partir del cual ha podido generar el los certificados indicados en los requisitos previos.
Esta sección presentará los diversos pasos para crear un PKI y los certificados requeridos para el clúster PostgreSQL. Tenga en cuenta que no se indicará cómo renovarlos, ya que la renovación de un certificado implica su recreación.
Warning
El procedimiento descrito ha sido validado en una máquina Debian 12 con el openssl Sin embargo, cualquier máquina con una versión reciente de OpenSSL (la versión validada es 3.0.17En el caso de los sistemas operativos Windows y MacOS, los comandos del sistema deberán adaptarse.
Definición de las variables y personalizaciones¶
Esta sección proporciona varios comandos y archivos de configuración que utilizan variables que pueden modificarse.
La tabla siguiente resume todos los valores y le permite definirlos para que pueda modificarlos directamente en los comandos que se muestran en esta página.
| Valor | Variable | Definición |
|---|---|---|
PSQL_IP |
Dirección IP virtual del clúster de PostgreSQL. | |
PSQL_NAME |
Nombre corto (no el FQDN) asociado con la dirección IP virtual del clúster PostgreSQL. | |
PSQL_1_IP |
Dirección IP del nodo #1 del clúster de PostgreSQL. | |
PSQL_1_NAME |
Nombre corto (no el FQDN) del nodo #1 del clúster PostgreSQL. | |
PSQL_2_IP |
Dirección IP del nodo #2 del clúster de PostgreSQL. | |
PSQL_2_NAME |
Nombre corto (no el FQDN) del nodo #2 del clúster PostgreSQL. | |
PSQL_3_IP |
Dirección IP del nodo #3 del clúster de PostgreSQL. | |
PSQL_3_NAME |
Nombre corto (no el FQDN) del nodo #3 del clúster PostgreSQL. | |
CA_ROOT_NAME |
Nombre asignado a la autoridad de certificación raíz (AC) del PKI. |
Planificación y preparación¶
Las siguientes acciones se realizarán en un nuevo directorio para reunir todos los nuevos archivos en un solo directorio. Se puede utilizar cualquier directorio, pero su acceso debe limitarse tanto como sea posible. * Inicie sesión en el nodo PostgreSQL n°1* como root y ejecute los siguientes comandos:
1 2 3 | |
Creación de la autoridad de certificación raíz¶
Ejecute el siguiente comando para crear una nueva CA raíz. Se le pedirá una contraseña para proteger la CA:
1 | |
Sustituya CA_ROOT_NAME con el nombre de la CA raíz si no lo ha personalizado aquí .
Creación de certificados¶
Los comandos necesarios para generar certificados para los nodos PostgreSQL son los siguientes:
1 2 3 | |
Reemplazar CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP y PSQL_1_NAME si no lo ha hecho Lo he hecho aquí..
1 2 3 | |
Reemplazar CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP y PSQL_2_NAME si no lo ha hecho Lo he hecho aquí..
1 2 3 | |
Reemplazar CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP y PSQL_3_NAME si no lo ha hecho Lo he hecho aquí..
El primer comando crea una nueva clave, el segundo genera un archivo de solicitud de certificado CSR, y el tercero crea el propio certificado.
El certificado aún necesita ser convertido a P12, lo que requerirá que usted establezca una contraseña:
1 | |
1 | |
1 | |
Los archivos necesarios para instalar el clúster PostgreSQL se pueden encontrar aquí (reemplazar las variables CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME y PSQL_3_NAME con los elementos seleccionados anteriormente):
/root/psql-certificates/CA_ROOT_NAME.crt: certificado de la autoridad de certificación raíz/root/psql-certificates/PSQL_1_NAME.p12: certificado para el nodo PostgreSQL n°1/root/psql-certificates/PSQL_2_NAME.p12: certificado para el nodo n°2 de PostgreSQL/root/psql-certificates/PSQL_3_NAME.p12: certificado para el nodo n°3 de PostgreSQL
Instalación de un clúster de PostgreSQL¶
Info
Las siguientes instrucciones deben ejecutarse en los 3 nodos PostgreSQL.
Preparación para la configuración del clúster PostgreSQL¶
Es necesario establecer una conexión SFTP o SCP para enviar al aparato:
- El certificado de la autoridad de certificación que firmó los certificados para los nodos PostgreSQL
- El certificado de nodo PostgreSQL en
P12formato
Tenga en cuenta que la conexión SFTP o SCP no puede ser inicializada con la cuenta root. Además, los archivos pueden simplemente ser dejados en /home/systancia/.
Es necesario mover estos archivos a un nuevo directorio:
1 2 3 | |
Sustituir:
PSQL_?_NAMEpor el nombre del certificado destinado al nodo PostgreSQL que se está instalandoROOT_CA_NAMEpor el nombre del certificado de la autoridad de certificación raíz
1 2 3 | |
Los comandos anteriores deben haber sido personalizados de acuerdo con la configuración de personalización.
1 2 3 | |
Los comandos anteriores deben haber sido personalizados de acuerdo con la configuración de personalización.
1 2 3 | |
Los comandos anteriores deben haber sido personalizados de acuerdo con la configuración de personalización.
Configuración del nodo PostgreSQL¶
Para iniciar la inicialización de la configuración del nodo, se deben ejecutar los siguientes comandos:
1 2 | |
El segundo comando lanzará una utilidad que requerirá la siguiente información:
- Nuevas contraseñas para usuarios locales
rootysystancia - Nombre del nodo PostgreSQL (no el FQDN)
- La dirección IP del nodo PostgreSQL, el nombre de su interfaz de red, la puerta de enlace de red predeterminada para usar, así como los servidores DNS y el sufijo DNS
- La versión de PostgreSQL; se recomienda el uso de la versión
15 - El puerto de acceso al clúster PostgreSQL; se recomienda el uso del puerto
5432 - Paseword para la cuenta PostgreSQL utilizada para la replicación y para
pg_rewind - Nombre y dirección IP de un segundo nodo PostgreSQL
- Nombre y dirección IP del último nodo PostgreSQL
- Dirección IP virtual del clúster de PostgreSQL
- Las direcciones IP (separadas por comas) de los cibernéticoLos elementos Cleanroom Puertas de enlace de borde o cualquier otra máquina que necesite conectarse al grupo.
- Nombre y contraseña de la cuenta de usuario de PostgreSQL
- Las direcciones IP o redes (separadas por comas) autorizadas para conectarse a través de SSH a los nodos PostgreSQL
- Información sobre el certificado para el nodo PostgreSQL (certificado de nodo en formato P12 + certificado de CA raíz)
Después de introducir esta información, se le proporcionará un resumen de todas sus entradas antes de la validación.
Después de validar la información proporcionada, aparecerá un mensaje sobre la aplicación de los cambios en el archivo /etc/ssh/sshd_config. Por favor, responda con la opción predeterminada keep the local version currently installed.
Para aplicar la configuración, se requiere un reinicio:
1 | |
Punta para acelerar la instalación de los nodos PostgreSQL n°2 y n°3
Después de instalar el nodo PostgreSQL n°1, es posible recuperar los parámetros utilizados para configurarlo desde este nodo utilizando el archivo /etc/cleanroom-vault.ini.
Ejemplo del archivo /etc/cleanroom-vault.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Simplemente modifique las líneas resaltadas con los valores del nodo PostgreSQL que se está instalando, basado en el archivo que recuperó del nodo PostgreSQL n°1.
Danger
Si reutiliza el archivo de ejemplo, deberá modificar todos los valores resaltados siguientes según su entorno:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Configuraciones adicionales para patronictl¶
Para poder usar los comandos de administración de clúster de PostgreSQL con patronictl, todavía hay algunos comandos para ejecutar como root en el nodo de PostgreSQL:
1 2 3 4 | |