Foro Confederac.io

Actualizaciones de software en red.confederac.io (Mastodon)

Debian 10 viene con Redis 5, o sea que no creo que ese será el problema.

También viene con Postgres 11 (estábamos con 9.6). Lo “divertido” del caso es que para actualizar de una versión a la otra es necesario actualizar la base de datos de Mastodon. Enterarme de cómo se hace eso me ha llevado un rato, pero la migración en si está tardando más. Aún sigue…

Mientras tanto, red.confederac.io está fuera de combate. Yay! :slight_smile:

(Deberían prohibir los procesos informáticos sin barra de progreso, a como mínimo sin algo que se mueva. Ahí está el terminal en silencio, espero que con la migración avanzando y no simplemente con el terminal congelado.)

Bueno, este Mastodon no se levanta aun después de la migración de la base de datos. Demasiado trasteo hoy.

Voy a restaurar el snapshot y mañana será otro día. Vuelta a 3.1.2 y Debian 9.

1 Like

Ayer aprendí mucho. :slight_smile:

Cuando nos pongamos con la actualizacion, creo que la mejor secuencia de pasos será:

  1. Sacar copia de seguridad del servidor entero (siempre la saco, ayer nos salvó).
  2. Actualizar Debian de 9 a 10.
  3. Ver si red.confederac.io funciona o no, si federa o no (creo que no deberia funcionar sin migrar la base de datos)
  4. Pase lo que pase, migrar la base de datos de Mastodon de PostgresQL 9.16 a 11.
  5. Ver si red.confederac.io funciona o no, si federa o no (esta vez sí debería funcionar).
  6. Actualizar Mastodon de 3.1.2 a 3.1.3 y probar que todo funcione.
4 Likes

Hoy a las 20:00 UTC volveremos a intentar la actualización del servidor Mastodon de https://red.confederac.io

Lo malo del caso es que el servidor estará caído un rato, sin toots ni Fediverso.

Lo bueno del caso es que… igual esta vez lo conseguimos y todo. :sweat_smile:

El seguimiento se hará desde aquí mismo.

¿Qué horas son para ti las 20:00 UTC?

2 Likes

Hola,
ja tinc un compte de matrix, gracies a una gent molt maca :slight_smile:
Estaré disponible, per si voleu comentar algo i si us puc ajudar d’alguna altre manera - digueu-me :smiley:
Salut,

1 Like

Buena idea. Acabo de aterrizar en https://riot.im/app/#/room/#confederac.io:matrix.org

Voy a ir actualizando este comentario a medida que avance la cosa.

22:02 Servidor desconectado. Snapshot en marcha. Esto va a llevar un rato. Cuando acabe el snapshot, lo primero va a ser actualizar el sistema operativo de Debian 9 a Debian 10. Sigo esta guía.

22:31 Snapshot finalizado. Servidor arrancando.

22:33 Empeza la actualización del sistema operativo.

22:52 El servidor ya corre en Debian 10. Ahora hay que migrar la base de datos de Mastodon de PosgresQL 9.6 to 11.

23:00

pg_dropcluster --stop 11 main

sudo systemctl stop postgresql

sudo pg_upgradecluster -m upgrade 9.6 main

O sea, eliminar el cluster que PostgresQL trae por defecto, parar PostgresQL y actualizar el clster de 9.6 (la base de datos de Mastodon).

Parece que todo funciona: https://red.confederac.io/

23:10 No, no federa. Esto ya pasó la vez anterior…

23:15 Después de reinicializar el servidor… ahora Mastodon está caído del todo. :slight_smile:
Vamos a utilizar la vieja táctica de la huída hacia adelante. Actualicemos Mastodon, que es a lo que íbamos.

23:16 Aquí seguimos las instrucciones de Mastodon 3.1.3 en https://github.com/tootsuite/mastodon/releases y https://docs.joinmastodon.org/admin/upgrading/

23:24 Actualizando a Ruby 2.6.6

rbenv install 2.6.6
ruby-build: definition not found: 2.6.6

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

  git -C /home/mastodon/.rbenv/plugins/ruby-build pull

(((Ahora sí)))

git -C /home/mastodon/.rbenv/plugins/ruby-build pull

23:33 Ya tenemos Ruby 2.6.6. Ahora toca bundle install.

23:36 yarn install

23:38 Parece que actualiza objetos, pero se queja:

warning Your current version of Yarn is out of date. The latest version is "1.22.4", while you're on "1.12.3".
info To upgrade, run the following command:
$ sudo apt-get update && sudo apt-get install yarn

23:45 Pero…

https://dl.yarnpkg.com/debian stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E
Fetched 1,326 B in 1s (1,672 B/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E
W: Failed to fetch https://dl.yarnpkg.com/debian/dists/stable/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E
W: Some index files failed to download. They have been ignored, or old ones used instead.

Vale. Busco por ahí y encuentro https://github.com/yarnpkg/yarn/issues/4453#issuecomment-581702788

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
OK

Y entonces sí que instala la nueva versión. yarn 1.22.4…

23:48 Resulta que tampoco pasaba nada con la versión vieja. Con 1.22.4 no ha actualizado nada nuevo. En fin.

23:49 RAILS_ENV=production bundle exec rails db:migrate

23:50 RAILS_ENV=production bundle exec rails assets:precompile

00:19 Después de reinicializar Mastodon… v3.1.3 y parece que federa. Phew!

4 Likes

Tras dejar unas horas para comprobar que todo funcionaba bien…

Todo sigue funcionando y el servidor está al 75% de espacio de disco, con unos 12 GB libres. Bien.

4 Likes

Vamos muy, pero que muy por detrás en actualizaciones de Mastodon. De esta semana no pasa pero cuándo exactamente no lo sé. Si el servidor está caído, ojalá será porque estamos actualizando.

2 Likes

Bueno, voy a empezar. O mejor dicho, antes de empezar voy a hacer un poco de limpieza, ver Depurar cuentas inactivas en red.confederac.io - nº 44 por icaria36.

Iré actualizando este mensaje a medida que vaya cumpliendo pasos.

2 Likes

Ahora mismo está funcionando el nodo ¿has actualizado ya?

He ido haciendo limpieza pero distrayéndome con otras cosas entre proceso y proceso. Ahora está a punto… pero mejor empiezo después de la cena. :slight_smile:

A cosa de las 21:00 CET desconecto el servidor para hacer la copia de seguridad y luego la actualización.

Gracias por informarnos a los usuarios.

1 Like

21:05 CET: Servidor desconectado. Empieza la copia de seguridad.

Clica aquí si te interesa ver lo que pasó entre medio.

21:35 Copia de seguridad finalizada. Servidor arrancado y en funcionamiento. Empezamos la actualización.

git fetch --tags
git checkout v3.3.0

Hay que actualizar Ruby a 2.7.2.

git -C /home/mastodon/.rbenv/plugins/ruby-build pull
rbenv install 2.7.2

21:51 bundle install
21:58 yarn install
22:01 Empiezan las instrucciones especiales.

SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate

Dice
StandardError: An error has occurred, all later migrations canceled:

Migration failed because of index corruption, see Database index corruption - Mastodon documentation

A ver…

Qué bien. Dice que primero hay que actualizar a 3.2.2. A ver qué tal va a funcionar esto de tirar marcha atrás. Repetimosssss.

git checkout v3.2.2
bundle install
yarn install
SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate

Con este último comando se vuelve a quejar, pero si entiendo bien las instrucciones, puedo ignorarlo por ahora y seguir con la instalación de 3.2.2.

22:10 RAILS_ENV=production bundle exec rails assets:precompile

Compilation failed:
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Primera vez que veo este error. A ver de qué va…

22:17 Parece que es tan simple como correr este comando:

npx browserslist@latest --update-db

Y repetimos:

RAILS_ENV=production bundle exec rails assets:precompile

22:22

Compilation failed:

Sin mensaje. Qué divertido. Pues nada, la única salida es hacia delante. A ver si cuela.

22:28

RAILS_ENV=production bin/tootctl maintenance fix-duplicates
This task will take a long time to run and is potentially destructive.
Please make sure to stop Mastodon and have a backup.
Continue? Yes

Esto son buenas noticias (de momento) porque ejecutar este comando era la única razón para actualizar a 3.2.2. Si aquí podemos limpiar la base dedatos, entonces igual (igual) la actualización a 3.3.0 se puede hacer sin errores extraños.

A todo esto, casi me olvido de parar Mastodon:

systemctl stop mastodon-sidekiq
systemctl stop mastodon-web

22:55

Deduplicating accounts… for local accounts, you will be asked to chose which account to keep unchanged.

Lleva así desde hace 20 minutos. Supongo que está trabajando.

23:12 Estoy haciendo otras cosas, mirando este proceso de vez en cuando. Sigue ahí, parpadeando.

23:29 El script paró… de una manera extraña. La base de datos sigue dando errores. He vuelto a ejectutar el script fix-duplicates… y al cabo de unos minutos han empezado a aparecer mensajes (donde antes había silencio). El script sigue trabando y ahora ya tiene mejor pinta.

Y bien que he hecho buena limpieza antes de empezar, menos datos que escanear para desduplicar.

23:40
Finished!

Bueeeeno. A ver qué tal ahora lo de la migración de la base de datos.

23:46 El resto de pasos habituales han ido bien. Mastodon 3.2.2 funciona: https://red.confederac.io/. ¿Pero a qué había venido yo aquí? ¡Ah, sí, para actualizar a 3.3.0! Seguimossss.

23:57 (Os ahorro los pasos previos ya repetidos arriba). Ahora el proceso que se quedó clavado ha finalizado con “éxito”:

SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
(...)
Your database collation is susceptible to index corruption.
  (This warning does not indicate that index corruption has occured and can be ignored)
  (To learn more, visit: https://docs.joinmastodon.org/admin/troubleshooting/index-corruption/)

Vale, pero lo miro en otro rato. El caso es que la desduplicación de antes parece haber funcionado. Sigamos.

23:59 RAILS_ENV=production bundle exec rails assets:precompile

00:09 El comando dio error a la primera, pero funcionó a la segunda. Restart & reload Mastodon, y 3.3.0 funciona: https://red.confederac.io

Pero… no se acaba aquí. Por algún motivo esta vez hay que darle otra vuelta a la migración de base de datos:

RAILS_ENV=production bundle exec rails db:migrate

00:13 Y ahora sí, Mastodon 3.3.0. Ale, a disfrutar. :slight_smile:

2 Likes

Moltes gràcies per la feinada

1 Like

Saludos,
Gracias por mantener el servidor!
He observado que hay varios problemas con imágenes de perfil. Por ejemplo, en nibö (@niboe@confederac.io) - Red Confederada
Pareciera que algunas imágenes o CSS se ha perdido.

1 Like

@jorge creo que esto no tiene que ver con la actualización, sino con las depuraciones a saco que hice hace cosa de un año cuando teníamos el servidor al límite y no se me ocurría o no sabía nada mejor (por ejemplo).

@icaria36 Okay. Me imagino que algunas imágenes han desaparecido. He actualizado imágenes de header y de perfil en el usuario mencionado y se ha arreglado lo del header pero las imágenes de perfil siguen mal escaladas.

Gracias por reportar este problema. No lo había visto. No creo que esté relacionado con lo que borré hace un año. He mirado en cuentas nuevas como ésta, y sufren el mismo problema. He abierto un nuevo hilo:

Un mensaje ha sido fusionado con un tema existente: Avatares enormes en red.confederac.io

Creative Commons License