Tu instalación de Docker no está usando un controlador de almacenamiento compatible.

Hola chicos, tengo un problema con una actualización que me muestra el siguiente mensaje:

Si deseas continuar de todos modos usando tu controlador de almacenamiento no compatible existente,
lee el código fuente del lanzador y averigua cómo omitir esta verificación.
root@sendy:/var/docker/discourse# git pull
Ya está actualizado.
root@****:/var/docker/discourse# ./launcher rebuild app
Tu instalación de Docker no está utilizando un controlador de almacenamiento compatible. Si fuéramos t.
overlay2 es el controlador de almacenamiento recomendado, aunque zfs y aufs también pueden funcionar.
Otros controladores de almacenamiento se sabe que son problemáticos.
Puedes indicar qué sistema de archivos estás utilizando ejecutando "docker info" y buscando.

Si deseas continuar de todos modos usando tu controlador de almacenamiento no compatible existente,
lee el código fuente del lanzador y averigua cómo omitir esta verificación.
root@****:/var/docker/discourse# docker info
Contenedores: 5
Imágenes: 74
Controlador de almacenamiento: devicemapper
 Nombre del grupo: docker-8:0-1970634-pool
 Tamaño de bloque del grupo: 65.54 kB
 Archivo de datos: /var/lib/docker/devicemapper/devicemapper/data
 Archivo de metadatos: /var/lib/docker/devicemapper/devicemapper/metadata
 Espacio de datos utilizado: 34.15 GB
 Espacio de datos total: 107.4 GB
 Espacio de metadatos utilizado: 41.37 MB
 Espacio de metadatos total: 2.147 GB
 Versión de la biblioteca: 1.02.82-git (2013-10-04)
Controlador de ejecución: native-0.2
Versión del kernel: 5.6.14-x86_64-linode135
Sistema operativo: Debian GNU/Linux

Hola @pauln

Si tu servidor solo está ejecutando Docker para soportar Discourse y tu kernel de Linux soporta OverlayFS, te recomiendo que reconfigures Docker (con cuidado) para que utilice el controlador de almacenamiento overlay2.

Espero que esto te ayude.

2 Me gusta

¿Podrías decirme cómo hacerlo?

Estoy ejecutando en Linode (Debian 7.5)

¿Podrías decirme cómo reconfigurar Docker?

Según la documentación oficial de Docker:

Para instalar Docker Engine, necesitas la versión de 64 bits de una de estas versiones de Debian o Raspbian:

  • Debian Buster 10 (estable)
  • Debian Stretch 9 / Raspbian Stretch

Recomiendo usar un VPS actualizado.

2 Me gusta

@pauln

Hola, ya estoy encendido y despierto.

¿Qué te gustaría hacer?

¿Quieres pasar a una versión más reciente de Debian o prefieres que verifique primero si puedo hacer que tu versión 7.5 funcione?

Si deseas que intente hacer funcionar tu versión 7.5, necesito saber:

  • ¿Docker está ejecutando algo más?

El problema es que al cambiar el controlador de almacenamiento de Docker en el archivo de configuración de Docker, todos los contenedores existentes dejarán de ser accesibles; por lo tanto, deberemos:

  • Asegurarte de tener una copia de seguridad completa de Discourse (siempre)

  • Apagar Docker.

  • Editar la configuración de Docker para cambiar el controlador de almacenamiento.

  • Reiniciar Docker.

  • Reconstruir Discourse.

Si el kernel de Debian soporta OverlayFS, todo irá sin problemas. Si no, fallará, pero no habrá daño; podremos volver a devicemapper.

Avísame cómo deseas proceder.

Gracias.

1 me gusta

Sí, me gustaría que funcione primero en la versión 7.5. Docker solo está ejecutando Discourse.

Gracias, hagámoslo :slight_smile:

1 me gusta

Vale… eso es lo que pensaba :slight_smile:

En realidad, los pasos están descritos aquí:

Tómate un momento para echar un vistazo y dime si estás de acuerdo con los pasos indicados o si tienes alguna duda.

Gracias.

1 me gusta

De acuerdo, déjame probar estos pasos y te aviso. Ya intenté algo similar y no funcionó. Te mantendré informado.

Si tu kernel de Linux no soporta OverlayFS, fallará.

No te preocupes.

Puedes revertir los cambios :wink:

Si no falla, entonces puedo volver a dormir :slight_smile:

¿Cómo puedo probar si lo admite o no?

Docker no se reiniciará.

En otras palabras, el paso 5 de las instrucciones de Docker (anterior) fallará:

5. Iniciar Docker.

$ sudo systemctl start docker

Esto fallará o tendrá éxito…

(puede que necesites un comando diferente a systemctl, pero el concepto es el mismo)

1 me gusta

Ok, lo estoy intentando. Publicaré una actualización aquí.

Que lo pases bien.

No tomaré un café esperando un milagro y que tu viejo kernel de Linux (por alguna razón extraña) realmente soporte OverlayFS.

Mi rápida “búsqueda” en Google al respecto, para ser honesto, no fue alentadora, pero estoy intentando ser optimista.

:slight_smile:

2 Me gusta

No funcionó. :frowning: ¿Cómo puedo mover mi foro a un nuevo VPS sin perder todos los datos de los usuarios?

Descarga tu archivo app.yml y la copia de seguridad más reciente.

Tu app.yml suele estar en /var/discourse/containers.

Las copias de seguridad se encuentran en /var/discourse/shared/CONTAINERNAME/backups.

Si tu sitio Discourse no es accesible, aún puedes descargarlos mediante SFTP o usando SCP.

Hola @pauln

Lamento escuchar eso. Sospechaba que tu antiguo kernel no admitía OverlayFS, pero nunca viene mal intentarlo y aprender cosas en el proceso.

¿Prefieres quedarte con Debian o probar Ubuntu en tu nueva configuración?

He usado Ubuntu “para siempre” y está oficialmente soportado por Discourse, por lo que esa es mi recomendación, pero por supuesto, la elección es tuya. Debian también es genial :slight_smile:

2 Me gusta

Hola @pauln

Hay un montón de personas que pueden ayudarte a configurar un nuevo VPS, instalar Discourse desde cero y restaurar tu sitio; así que voy a volver a dormir.

Fue un gusto trabajar contigo. Para concluir, aquí está mi recomendación:

  • Configura un nuevo VPS de Linode con Ubuntu, ya que ya eres usuario de Linode (como yo, por cierto).
  • Instala Discourse desde cero (está bien documentado).
  • Restaura Discourse desde tu copia de seguridad (está bien documentado).

Hay muchas personas talentosas que pueden guiarte en este proceso, así que por ahora me despido.

Mis mejores deseos.

3 Me gusta

Buenos días (por mi zona horaria) @pauln

Esta mañana lo verifiqué por ti y, si por cualquier motivo que tengas no deseas cambiar a un nuevo VPS en este momento, puedes probar el mismo método; pero en lugar de overlay2, puedes probar aufs.

Según el script de lanzamiento de Discourse:

  # 2. ¿se está ejecutando un controlador de almacenamiento aprobado?
  if ! $docker_path info 2> /dev/null | egrep -q 'Storage Driver: (aufs|zfs|overlay2)$'; then

Esto significa que, dado que algunas versiones más antiguas de Debian admiten aufs y Discourse parece admitirlo (según lo leído en el launcher), puedes probarlo.

Lo ideal sería actualizar a una nueva distribución de Linux y a un nuevo kernel, ya que Debian 7.5 dejó de tener soporte (EOL) hace más de dos años, y siempre es mejor abandonar el código que ya no recibe soporte cuando sea posible. Sin duda, te recomendaría seguir esa ruta y cambiar al controlador de almacenamiento overlay2 (altamente recomendado). Sin embargo, es tu decisión; si quieres probar aufs por diversión, adelante. Siempre es divertido y gratificante aprender cosas nuevas.

Referencia:

Espero que te sea útil.


Notas del entorno de pruebas:

@pauln

Para ayudarte, acabo de tomar un VPS Ubuntu nuevo de Linode, instalé Docker y cambié el controlador de almacenamiento a aufs:

# docker info | grep aufs
 Storage Driver: aufs
  Root Dir: /var/lib/docker/aufs

Luego seguí las instrucciones estándar de instalación de Docker:

https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

y Discourse se instaló sin problemas sobre Docker con el controlador de almacenamiento aufs.

Así que, si quieres, puedes probar esto en tu VPS con Debian 7.5, por diversión y para aprender.

Por supuesto, lo recomendado (tanto oficialmente como de manera no oficial) es que te mudes a un nuevo VPS con soporte, como se mencionó antes. Por favor, vuelve a publicar y actualízanos sobre tu decisión y tu progreso.

1 me gusta

Acabo de comentar el bloque de código en launcher. ¡A veces hay que vivir al límite :smiling_face_with_sunglasses:!