Intenté poner en marcha discourse dentro de lxd en un servidor ubuntu en una raspberry pi 4 con un ssd usb, y simplemente se colgaba y daba error durante las reconstrucciones. El cuelgue era peor/más temprano usando un pool de almacenamiento de loopback btrfs y más tarde usando un pool de almacenamiento de loopback zfs. La memoria era constante alrededor de 1 GB con picos de 3 GB. Los cuelgues hacían que ssh/top respondieran, pero toda la actividad de uso caía a niveles insignificantes, lo que indicaba que se había rendido.
Hoy en día la documentación de lxd solo recomienda establecer security.nesting al valor de cadena true para habilitar el uso de docker, que es lo que hice. Sin embargo, la documentación de lxd también tiene una página para la configuración de producción con unos 20 ajustes que necesitan ser cambiados, los cuales no he probado.
Al final, renuncié a mi intento de lxd para discourse y simplemente ejecuté discourse a través de docker en la misma máquina.
Detalles de mis esfuerzos aquí:
Curiosamente, la guía de lxd docker a continuación recomienda btrfs a pesar de que la documentación de lxd lo desaconseja, y no parece usar una partición para ello (sin embargo, establecen algunos ajustes adicionales, instalan otros paquetes en lugar de docker.io, y adjuntan el volumen btrfs solo a docker), así que me pregunto por qué tuve tantos problemas:
@vmsman, ¿puedes compartir más detalles sobre tu configuración de lxd, como perfiles, pools de almacenamiento y cualquier ajuste del sistema que necesitara cambios, ya que parece que has tenido la configuración más exitosa hasta ahora?:
Para lxd, algunas cosas que me pregunto:
- si las particiones para los pools de almacenamiento en lugar de los archivos de loopback resolverían los problemas de rendimiento lo suficiente como para que desaparezcan los problemas de cuelgue.
- si usar microcloud o un clúster de lxd ayudaría, o usar ceph como pool de almacenamiento.
En general, a pesar de no haber conseguido que discourse funcionara en lxd, estoy muy impresionado con lxd y su facilidad de uso. Anteriormente pasé meses luchando con hashicorp, ya que hashicorp solo parece interesado en casos de uso empresariales. Mientras que lxd simplemente funciona y la gente parece lo suficientemente solidaria como para permitir que los equipos pequeños y los desarrolladores independientes progresen.