3 puntos por GN⁺ 2023-10-10 | 2 comentarios | Compartir por WhatsApp
  • En la búsqueda de un servidor doméstico de bajo consumo y sin ruido, Zimaboard encajó bien con los requisitos como una pequeña computadora de placa única con un puerto PCI Express expuesto, 2 puertos SATA y refrigeración pasiva
  • La Zimaboard 832 comprada trae 8 GB de RAM, 32 GB de eMMC y un CPU Intel Celeron N3450 de cuatro núcleos; costó 200 dólares, y el envío a Estonia costó 18 dólares y tardó 10 días
  • Los 32 GB de eMMC fueron suficientes para el sistema operativo, y al conectar 2 SSD SATA Samsung 870 QVO de 4 TB, el rendimiento total de lectura simultánea fue de 900~950 MB/s, cerca del límite de SATA III
  • El consumo fue de 2.5 W en reposo, 9.0 W con estrés de CPU, unos 8~9 W en uso normal con 2 SSD y alrededor de 14 W con CPU y SSD a carga máxima; incluso con refrigeración pasiva, el CPU se mantuvo en torno a 72 °C
  • En la actualización del 20 de agosto de 2024, volvió a una ASRock Deskmini X300 por ejecutar más de 20 contenedores Docker y cargas pesadas, pero sigue siendo una buena opción para requisitos de servidor doméstico medios o bajos

Requisitos del servidor doméstico y elección de Zimaboard

  • El objetivo no era un homelab de alto rendimiento, sino un servidor doméstico pequeño con buen equilibrio entre rendimiento, eficiencia y ruido
    • Consumo típico de 2~15 W
    • 8 GB de RAM o más
    • Rendimiento suficiente para ejecutar principalmente cargas de trabajo en contenedores
    • 2 ranuras SATA o NVMe SSD y la opción de una tercera unidad para el sistema operativo
    • Refrigeración pasiva completamente silenciosa
    • Tamaño reducido
    • Ethernet gigabit o superior
  • Más que clústeres, Threadripper, 10GbE o muchos discos, era más importante una configuración silenciosa y de bajo consumo para la operación diaria
  • Zimaboard es una computadora de placa única pequeña y relativamente económica, y su configuración de puertos incluye un puerto PCI Express expuesto

Modelo comprado y configuración básica

  • El modelo elegido fue la Zimaboard 832, con 8 GB de RAM, 32 GB de almacenamiento eMMC y un CPU Intel Celeron N3450 de cuatro núcleos
    • El CPU es de 2016, así que no es moderno ni de alto rendimiento, pero resultó suficiente para las tareas de servidor doméstico necesarias
    • El modelo 832 costaba 200 dólares; había configuraciones más baratas, pero se eligió el modelo de 8 GB por el margen de memoria
  • A diferencia de Raspberry Pi, Zimaboard viene con gabinete y sistema de refrigeración ya instalados
    • El disipador era práctico y también se veía bien; incluso bajo cargas muy altas, la temperatura del CPU rondó los 72 °C
    • Al ser refrigeración pasiva, no hace ruido, y el gabinete también reduce la preocupación por rayones en el escritorio o cortocircuitos
  • No se ve un botón de encendido, pero con la configuración predeterminada se enciende apenas se conecta el adaptador de corriente, lo que encaja bien con el uso como servidor doméstico
  • En la caja venían stickers, 1 cable SATA de datos+energía y un adaptador de corriente con enchufes EU, US y UK
  • El envío hasta Estonia tardó 10 días y costó 18 dólares

Configuración de almacenamiento y rendimiento SATA

  • La eMMC interna de 32 GB fue suficiente para instalar el sistema operativo
    • La velocidad de lectura alcanzó un techo de unos 175 MB/s
    • La velocidad de escritura normal observada fue de unos 50~100 MB/s
    • En /dev/disk/by-id/ se identificaba como mmc-BJTD4R_0xc7d04e40, y según búsquedas en línea parecía ser un chip Samsung
  • Para aprovechar los 2 puertos SATA de la placa, se compró adicionalmente un cable SATA en Y por 4 dólares y se trasladaron 2 SSD SATA Samsung 870 QVO de 4 TB que ya tenía
  • La página de venta del cable en Y dice que con la energía de la placa también se pueden alimentar 2 HDD de 3.5 pulgadas, pero se consideró que podría quedar cerca del límite del adaptador de 12 V/3 A
  • Cerca del conector de energía SATA hay un LED blanco de actividad de unidades, que permite ver si el servidor está trabajando
  • Al leer simultáneamente desde los 2 SSD, el rendimiento total fue de 900~950 MB/s, cerca del límite de velocidad de SATA III

Montaje de unidades e impresión 3D

  • Zimaboard no tiene una forma nativa de montar 2 unidades SATA de manera predeterminada
  • El fabricante vende un soporte metálico, pero no parecía integrarse muy bien con la placa
  • En su lugar se usó un diseño de impresión 3D para alojar 2 unidades de 2.5 pulgadas
    • El diseño también admite unidades de 15 mm de grosor
    • La impresión se hizo con la impresora Voron v2 Afterburner de k-space y el resultado fue bastante bueno
  • Los orificios de montaje del SSD fueron un poco complicados por las tolerancias de impresión, y en la primera instalación se olvidó colocar la capa intermedia de plástico entre el PCB y la cubierta inferior original, pero fuera de eso la instalación fue sencilla
  • Después del montaje, la temperatura de los SSD no superó los 64 °C, un nivel que no representaba problema para esos SSD
  • No se probaron HDD giratorios en el mismo entorno, pero se espera que los HDD de 2.5 pulgadas no generen mucho calor desde el inicio

Consumo de energía y consumo total del equipo

  • El elemento más satisfactorio de esta configuración fue el bajo consumo de energía
  • Los valores medidos con un medidor de energía sencillo fueron los siguientes
    • En reposo: 2.5 W
    • Sin unidades, prueba de estrés de CPU stress -c 4: 9.0 W
    • 1 SSD Samsung 870 QVO de 4 TB conectado, prueba de estrés de CPU: 13.2 W
    • 2 SSD conectados, entorno de uso normal con uso de CPU de alrededor de 10~40%: unos 8~9 W
    • 2 SSD conectados, SSD y CPU a carga máxima: unos 14 W
  • Sumando Zimaboard, el módem/router del ISP, un router/AP Wi-Fi TP-Link y un UPS CyberPower, el consumo máximo fue de alrededor de 34 W
  • La medición no es científicamente rigurosa, pero fue suficiente como referencia para estimar el rango de consumo al operar una configuración similar

Rendimiento real y aceleración por hardware en Jellyfin

  • Como servidor doméstico anterior se usaba una configuración basada en ASRock Deskmini X300 o una ThinkPad T430, y normalmente el uso de CPU solía mantenerse en 10% o menos
  • El uso típico de memoria de todos los servicios y contenedores cabía dentro de 2 GB, y al considerar también la comparación de rendimiento de CPU, se concluyó que Zimaboard podía encargarse de las tareas de servidor doméstico
  • Zimaboard no es un equipo potente, pero si se usan principalmente cargas de trabajo en contenedores y la transcodificación de medios puede acelerarse con Intel QuickSync, era suficiente
  • Al usar Linux y Jellyfin, se verifican los códecs compatibles con vainfo y se habilitan en la configuración de Jellyfin la decodificación por hardware y la codificación por hardware para esos códecs
  • Con intel_gpu_top se confirmó que el trabajo se descargaba a la GPU, y la aceleración por hardware de Jellyfin funcionó bien
  • Los requisitos relacionados pueden consultarse en la documentación de aceleración por hardware de Jellyfin

Puntos a tener en cuenta y partes aún no probadas

  • Zimaboard viene con CasaOS, un sistema operativo basado en Linux, pero no se usó porque la infraestructura existente estaba documentada y configurada con Ansible
  • No se probaron Windows 10 ni Windows 11
  • Durante las pruebas hubo casos en los que los puertos USB 3 se comportaron de forma algo extraña
    • Una memoria USB de Fedora Server no arrancó correctamente en uno de los puertos USB
    • También hubo hiccups intermitentes durante pruebas con almacenamiento USB externo
    • No fue un problema decisivo porque en el uso normal no se dependía demasiado de los puertos USB
  • El puerto PCI Express aún no se probó porque no hizo falta, pero sigue siendo un buen añadido que amplía las posibilidades de modificación a futuro

Cambio a Fedora Server y btrfs RAID1

  • Al reconfigurar el servidor doméstico aprovechando Zimaboard, se abandonó ZFS y se pasó a Fedora Server + btrfs RAID1
  • El almacenamiento se configuró con btrfs RAID1, y los snapshots y backups se manejan con btrbk
  • ZFS es excelente, pero por problemas de licencia no está incluido en el kernel de Linux, así que en el ecosistema Linux se sentía como un invitado no deseado
    • Los desarrolladores del kernel no se preocupan demasiado por mantener compatibilidad con ZFS
    • Ubuntu es una de las pocas distribuciones que ofrece un kernel con ZFS incluido
    • No quería seguir atado a Ubuntu, y en particular tampoco quería su insistencia con snap
    • Las compilaciones DKMS de ZFS en distribuciones como Debian suelen estar bien, pero en otras distribuciones puede ocurrir que, tras una actualización del kernel y un reinicio, no se pueda acceder a los datos
  • btrfs tuvo problemas en el pasado con RAID5/6, pero en configuraciones de un solo disco y de 2 discos se usó de forma estable durante años
  • Antes de decidirse por btrfs, se creó un RAID1 con 2 memorias USB y se hicieron pruebas de corrupción intencional
    • Se escribieron archivos y se calculó el hash con md5sum
    • Se borró por completo una de las unidades USB con dd
    • Se volvió a calcular md5sum y coincidió cada vez
    • Se corrigieron errores del sistema de archivos con btrfs scrub
    • Se repitieron variaciones del escenario
  • En configuraciones redundantes multidisco como btrfs RAID1 o RAID10, hay que incluir la opción de montaje degraded en /etc/fstab para poder montar el sistema de archivos aunque falle una o más unidades
  • Un ejemplo de configuración es el siguiente
LABEL=turbo /turbo      btrfs subvol=turbo,compress-force=zstd:1,ssd,degraded,nofail            0 0
  • Durante la migración se mantuvieron las rutas y cada dataset de ZFS se recreó como subvolume de btrfs

Alternativas y motivos de la elección

  • Entre los candidatos para el siguiente servidor doméstico estaban Zimaboard, Asustor Flashstor 6, Flashstor 12 y equipos estilo TinyMiniMicro con 2 o más ranuras NVMe SSD
  • Zimaboard y Flashstor encajaban bien con los requisitos de servidor doméstico
  • La razón principal para elegir Zimaboard fue que era mucho más barata y, como ya se usaban 2 SSD SATA para el almacenamiento del servidor doméstico, era fácil migrar sin comprar unidades nuevas
  • Si los SSD SATA de gran capacidad se vuelven menos comunes y los SSD NVMe se abaratan más, podría ser necesario evaluar equipos como Flashstor

Conclusión y actualización de 2024

  • En la conclusión inicial, Zimaboard ejecutaba los servicios con una velocidad razonable, consumía poca energía, era silenciosa y se veía bien incluso colgada en la pared
  • Al ser una configuración flexible, se consideró que si hacían falta más recursos se podían agregar más Zimaboard y asignarles propósitos distintos
  • En la actualización del 20 de agosto de 2024, tras operar Zimaboard durante más de medio año, se volvió a una ASRock Deskmini X300
  • El consumo de energía y la capacidad de expansión seguían gustando, pero la carga de CPU creció más de lo previsto
    • Se ejecutaban más de 20 contenedores Docker, y algunos de ellos eran pesados
  • Se considera que la situación podría haber sido bastante distinta si hubiera tenido una APU AMD Ryzen integrada
  • Zimaboard sigue siendo el equipo que más se acerca al servidor doméstico soñado, pero esa última pequeña falta de rendimiento se volvió un obstáculo
  • Si los requisitos son medios o bajos, sigue siendo una excelente opción cuando el precio encaja
  • Después de eso, el interés se desplazó hacia Asustor Flashstor Gen 2, con hasta 12 SSD NVMe y AMD Ryzen de 4 núcleos

2 comentarios

 
wedding 2023-10-11

Quería tener una mini PC con un diseño tan bonito, así que creo que debería considerar comprarla.

 
GN⁺ 2023-10-10
Opiniones de Hacker News
  • Zima hace relativamente bien el branding y el aspecto exterior, pero eso es prácticamente todo. El hardware en realidad se parece más a una placa ODM cualquiera basada en un diseño de bajo consumo viejo, de alrededor de 2016.
    Puede que una empresa de Hong Kong esté liquidando inventario viejo, o puede haber otra razón, como Intel SIPP, pero es difícil recomendarlo a menos que la electricidad te salga gratis y quieras reducir aunque sea un poco los residuos electrónicos.
    Por el mismo precio o menos, puedes comprar productos de una generación más reciente, con funciones similares o mejores y mayor rendimiento. Incluso los diseños Qotom de 5 W de la misma época podrían ser una mejor opción.
    Por ejemplo, el X30G-N5100 de algún ODM es un producto de 4 núcleos y 4 hilos basado en un SoC Intel de 2021, con soporte para (LP)DDR4, boost de 2,8 GHz y TDP de 6 W. Como normalmente no lo vas a tener corriendo a plena potencia todo el tiempo, en la práctica probablemente esté más cerca de 3–4 W. También tiene funciones modernas, seguridad moderna y soporte mainstream. Si eso es demasiado nuevo, puedes comprar cajas de la serie J4xxx o N4xxx por la mitad del precio de una Zima y obtener el doble de rendimiento.

    • El punto de venta de esta placa no es la CPU, sino la E/S: tiene 2 SATA, ePCIe y 2 NIC. Puedes correr TrueNAS en RAID1 sobre Proxmox, y pfSense/OPNsense como máquinas virtuales.
    • Sí tiene una ranura PCIe, algo raro en productos competidores. Fuera de eso, especialmente en el caso de Zimaboard, parece más un tema de marketing; la nueva Zimablade es mucho más interesante. Sigue siendo tecnología vieja y lenta, pero mantuvo la ranura PCIe y bajó el precio hasta 65 dólares.
    • Me pregunto si los ODM tienen incentivos para empaquetar algo que está cerca de ser residuo electrónico y lanzarlo al mercado con un nombre nuevo como ZimaBoard. ¿Es común esta práctica?
    • ¿Alguien podría explicar qué es un ODM para quienes no lo sabemos? Lo busqué y no quedó muy claro; por lo que veo, parece ser un término muy amplio para fabricantes de placas controladoras industriales o “Box PC” embebidas, no una familia de productos específica.
      Lo más parecido a este producto sería una “Box PC”, pero esos productos normalmente no se venden directamente a consumidores y, aunque encuentres dónde comprarlos, suelen tener mucho margen B2B encima. Tal vez se estén refiriendo a otra cosa.
  • Con un precio de “esta variante de la placa cuesta 200 dólares”, no suena como una buena compra comparado con microservidores usados o PCs de factor de forma pequeño en eBay.
    Por ejemplo, cosas como estas:
    https://www.ebay.com/itm/175917817224 ⇦ 2 ranuras NVMe
    https://www.ebay.com/itm/204477355543 ⇦ 4 bahías para discos de 3,5 pulgadas, posible memoria ECC
    Para que conste, no conozco a esos vendedores.

    • No todo el mundo vive en un país donde la electricidad es casi gratis.
      En el Reino Unido, dejar encendidos esos equipos de eBay durante solo un año podría costar más en electricidad que una Zimaboard de 200 dólares.
      Por ejemplo, 90 W encendidos 24 horas al día durante todo el año son unas £212, alrededor de $258; incluso 60 W son unas £142, alrededor de $173.
      En este rango de precios, el consumo de energía es un factor de decisión muy importante.
    • Soy el autor. Si no te importa el ruido, puedes encontrar mejores ofertas. Pero valoro más que sea silencioso que el rendimiento por dólar.
    • Al comparar precios de servidores, suele ser útil sumar 3–4 años de electricidad para equipos que estarán encendidos 24/7 la mayor parte del tiempo en reposo. En Europa, las placas SoC nuevas de bajo consumo muchas veces ganan esa comparación frente a sistemas usados con CPU en socket.
    • Tanto estos equipos como la ZimaBoard usan NICs de gama muy baja, y en equipos de red esa es precisamente la parte que más problemas causa.
      Por mi experiencia usando cosas así, si quieres redes estables, es mejor usar una distribución de Linux que incluya el tratamiento especial necesario para hardware NIC de consumo, como VyOS, o usar una NIC para plataformas OCP como la i350, es decir, una NIC genérica de hyperscaler.
    • Tengo el Gen8 microserver del segundo enlace y, aunque las 4 bahías están muy bien, lo mejor de todo es ILO. Cuando hay problemas de arranque o hace falta reinstalar, no tienes que abrir el rack, llevarlo al escritorio y conectar monitor y teclado para tocar BIOS o GRUB.
      Puedes hacerlo todo desde la interfaz web, y la terminal HTML5 también funciona bien. La mayor desventaja es que consume bastante energía incluso en reposo.
      No encontré nada relacionado en la documentación de Zimaboard, pero si hace falta recuperación ante desastres del sistema operativo, parece que tendrás que conseguir un monitor compatible con mini DisplayPort. Es un problema aún mayor porque la eMMC no se puede sacar y reemplazar tan fácilmente como la SD de una Raspberry Pi.
  • No tengo nada en contra de Zimaboard en sí, pero la parte que más me gustó del artículo fue la organización de cables de la conclusión. Se ve realmente hermosa.

    • También había un artículo anterior del mismo autor en HN: https://ounapuu.ee/posts/2023/09/07/ikea-powered-homelab/
      Es sobre una configuración de pared.
    • El autor usa una configuración con IKEA Skadis, que es bastante popular en la comunidad de impresión 3D. Hay muchos modelos imprimibles disponibles, así que si necesitas ordenar una pared, lo recomiendo mucho.
    • También hay un subreddit para cosas como esta: https://reddit.com/r/cableporn
  • De hecho tengo una, y le instalé Ubuntu y Ansible-Nas. Según la salida de lsblk, debería haber 32 GB de espacio MMC, pero solo aparecen 14 GB.
    Les mandé un correo, me pidieron confirmación del pedido y después de eso no volvieron a responder.
    mmcblk0 ... 14.7G
    Además, SSH funciona y desde local puedo acceder con w3m a servicios alojados en Docker, como Heimdall, pero desde la LAN no puedo acceder a los servicios de Docker. ¿Alguien sabe qué habría que arreglar?

  • Estas placas pequeñas son productos geniales, pero en comparación con una computadora común usada, en general parecen quedar en desventaja.
    Si quieres un sistema Zimaboard con 8 GB de RAM necesitas 200 dólares, y para obtener 4 núcleos tienes que comprar la gama media.
    Compré una Mac mini quad-core de 2012 usada por más o menos la mitad de ese precio, y también tiene 2 ranuras SATA; según Apple, su consumo en reposo es de 13 W. El vendedor ya le había subido la RAM a 16 GB.
    Esta es una máquina con el llamado “Apple tax”, es decir, con un precio de segunda mano más alto que una PC.
    Si buscas “HP EliteDesk” en eBay, puedes encontrar opciones bastante interesantes.
    Aun así, hay que reconocer que un sistema tan pequeño tenga una ranura PCIe.

    • Como compromiso entre un thin client preensamblado y una SBC, terminé armando mi propia PC Mini ITX. El factor de forma de 17 x 17 cm ofrece suficiente conectividad para su tamaño y también tiene PCIe.
      La configuración de 2018 costó unos 250 dólares: Asrock J4105-ITX [1] + gabinete mini ITX (con fuente pico incluida) + 2 módulos DDR4 de 4 GB + SSD de 128 GB. Corre ClearLinux y, cinco años después, sigue funcionando perfecto.
      Para una configuración Mini ITX de 2024 probablemente usaría Intel N100, y placas como la Asus Prime N100I-D D4-CSM [2] cuestan unos 120 dólares, aunque todavía estoy viendo opciones.
      [1] https://www.asrock.com/mb/Intel/J4105-ITX/
      [2] https://www.asus.com/motherboards-components/motherboards/cs...
  • También está el Zima Blade, que saldrá pronto. También es muy pequeño, mucho más barato, y tiene ranura SO-DIMM, un único puerto Ethernet y alimentación por USB-C.

    • En realidad, el Zima Blade no tiene alimentación USB-C. Simplemente manda 12 V de voltaje bruto por un puerto USB-C y no soporta negociación PD.
      Fuente: https://www.youtube.com/watch?v=I1bbD1kw334
      Sinceramente, en un producto así eso es motivo suficiente para descartar la compra. No solo no va a funcionar con nada que no sea el adaptador de corriente original, sino que además, si enchufas ese adaptador a otro dispositivo, es muy probable que lo quemes.
  • Lo que no termino de entender de Zimaboard es por qué viene con un gabinete tan bonito. Si vas a conectar algo a los puertos PCIe/SATA, de todos modos vas a necesitar otro gabinete o carcasa para que quede ordenado. Entonces, ¿no sería mejor vender solo la placa, como la Raspberry Pi?
    Se dice que btrfs tuvo problemas en el pasado, especialmente en configuraciones RAID5/6, pero tengo entendido que btrfs todavía tiene problemas serios con RAID 5 y 6 y no se recomienda para uso real.

    • Porque el gabinete es el disipador de calor. Funcionalmente, en general tiene que tener una forma así, y ya que están, hacerlo bonito casi no agrega costo.
    • Creo que pesaron más los gustos y preferencias del equipo que razones comerciales.
      La nueva zimablade también tiene un diseño bastante agresivo, aunque en realidad una estructura abierta sería mejor para la refrigeración.
    • Es un mini homelab independiente y fácil de usar para gente interesada en tener un servidor en casa, pero que no tiene el tiempo o las habilidades para configurarlo por su cuenta.
  • Si la interfaz SATA3 es importante, también vale la pena mirar la Odroid HC4, que tiene dos soportes verticales para discos: https://wiki.odroid.com/odroid-hc4/odroid-hc4
    La que uso como servidor casero tiene un SSD Samsung 850 de 1 TB y actualmente consume 3.48 W.

    • También quisiera sumar aquí la Odroid H3. La uso con un SSD WD Black NVMe M.2 y en reposo consume entre 3 y 4 W. Es una instalación estándar de servidor Debian x86, usa 16 GB de RAM SO-DIMM y soporta hasta 64 GB. Tiene dos puertos Ethernet 2.5GbE, refrigeración pasiva y ventilador opcional. También venden un gabinete donde caben dos discos. El precio es de 129 dólares, sin envío.
      Va bien para correr compartidos Samba y varios contenedores.
      https://www.hardkernel.com/shop/odroid-h3/
    • ¿Qué velocidad obtienes por SSH en esa placa? El mayor problema al usar una Raspberry Pi 4 como servidor de bajo consumo fue que, al enviar backups por SSH, la transferencia de red se quedaba limitada a unos 20 MB/s. Eso era midiendo la velocidad de transferencia cruda hacia /dev/null; en placas x86 comunes llegaba a unos 100 MB/s.
    • Muy buena, pero este tipo de SBC ARM me gusta más para montarlas en la pared cerca del router. Este producto no parece encajar con ese uso.
      El gabinete Argon One para Raspberry Pi 4 es muy bueno para montaje en pared, pero no me gusta que conecte la unidad M.2 por USB 3.
    • Me gustan las especificaciones de la HC4, pero ese factor de forma parece perfecto para que alguien que pase por ahí saque los discos.
  • Si configuras NixOS para usar solo kernels compatibles con ZFS, ZFS vuelve a sentirse como si fuera parte del kernel. Llevo unos dos años usando esa configuración.
    He dejado inutilizadas o perdido demasiadas configuraciones de discos BTRFS como para volver a confiar en él. Si tuviera que irme por otra cosa, probablemente elegiría bcachefs.

  • Si te interesa una red más rápida, puedes mirar alguna variante de R86s: https://www.servethehome.com/the-gowin-r86s-revolution-low-p...
    La NIC de 10 Gb en realidad es de la serie Mellanox CX3 con conector OCP, así que en teoría podría reemplazarse por una tarjeta más interesante, como una CX5/6 o una Solarflare.