Hoy migré a un nuevo VPS y pensé en compartir mis experiencias, ya que parece que últimamente bastantes personas se encuentran con el bloqueo del sistema operativo de versión antigua en sus actualizaciones ![]()
Estoy en Digital Ocean, así que creé un nuevo droplet.
VPS antiguo = Ubuntu Server 18.04.6 LTS
Nuevo VPS = Ubuntu Server 23.10
Hice el mantenimiento habitual en el nuevo VPS; edita según tus necesidades:
Apt-get update
Apt-get upgrade
Apt-get install fail2ban
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow http
ufw allow https
ufw enable
Luego creé un nuevo directorio vacío para Discourse:
sudo mkdir -p /var/discourse
Entonces instalé Docker:
wget -qO- https://get.docker.com/ | sh
Luego cambié el TTL de mi DNS de 30 minutos a 10 minutos (el mínimo que permite GoDaddy).
En mi servidor antiguo, descargué una copia local de la copia de seguridad de la base de datos de Discourse de anoche (nunca se tienen suficientes copias de seguridad locales). También descargué una copia de app.yml a mi PC local.
Como sugirieron algunas personas anteriormente, hice un rsync de “root a root”. Usé la dirección IP en lugar del nombre de host, para evitar confusiones de DNS. También, como se sugirió anteriormente, usé los modificadores -avz:
rsync -avz root@old.ip.address.here:/var/discourse /var
Como referencia, mi carpeta de Discourse tiene 25 GB.
Tardó ~25 minutos en sincronizarse con rsync desde el servidor antiguo al nuevo. Esto fue simplemente entre dos droplets de Digital Ocean en la misma región LON1. Tus experiencias pueden variar.
Después de sincronizar con rsync e intentar una reconstrucción, me encontré con el mismo error que @piratdavid encontró sobre postgres database system is shut down.
Así que luego detuve la aplicación en el VPS antiguo:
./launcher stop app
E hice otro rsync, solo para los cambios esta vez:
rsync -avz --delete root@old.ip.address.here:/var/discourse /var
Luego volví a iniciar la aplicación de Discourse antigua y muy rápidamente la puse en Modo de Mantenimiento; esto es para que la gente todavía pueda acceder a ella y vea el mensaje de advertencia de mantenimiento habitual.
Esto también me da tiempo para trabajar en el nuevo VPS ![]()
Actualicé mi archivo HOSTS en mi PC local para poder acceder a Discourse en el nuevo VPS sin advertencias/problemas del navegador.
En el nuevo VPS, ejecuté:
./discourse-setup
Esto fue para que pudiera actualizar la configuración de RAM y CPU en el archivo app.yml automáticamente.
Luego hice una reconstrucción de la aplicación en el nuevo VPS:
./launcher rebuild app
Hice algunas pruebas de humo, todo bien.
DNS actualizado - trabajo hecho.
Gracias por el tema detallado, a todos ![]()