Almacenamiento
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Jellyfin está diseñado para leer medios directamente desde el sistema de archivos. Un dispositivo de almacenamiento en red que utilice Samba o NFS debe montarse directamente en el sistema operativo. La base de datos de Jellyfin también debe almacenarse localmente y no en un dispositivo de almacenamiento en red.
Hay tareas de mantenimiento programadas que eliminan elementos de tu biblioteca si se activan mientras tu almacenamiento de medios no está disponible.
NFS
Si experimentas problemas de rendimiento donde los archivos tardan mucho en comenzar a reproducirse al usar NFSv3, podrías estar enfrentando un problema con el bloqueo de .NET cuando NFSv3 no tiene habilitado el bloqueo.
Para resolver esto, tienes las siguientes opciones:
-
Deshabilitar el bloqueo de .NET usando DOTNET_SYSTEM_IO_DISABLEFILELOCKING (introducido en .NET 6).
-
Desactivar el bloqueo para el punto de montaje usando la opción nolock.
-
Habilitar el servicio de bloqueo.
-
Usar NFSv4 que tiene soporte de bloqueo incorporado.
Docker y máquinas virtuales
Una base de datos para una biblioteca de tamaño moderado puede crecer entre 10 y 100 GB.
La carpeta de transcodificación normalmente requiere aproximadamente el mismo espacio que los medios originales cuando se transcodifica a una tasa de bits equivalente. Por ejemplo, un solo remux Blu-ray de 50 GB podría consumir hasta ~60 GB o tan poco como ~15 GB después de la transcodificación. Si esta carpeta comparte almacenamiento con la base de datos, debes considerar este aspecto para evitar problemas.
Proveedores de almacenamiento en la nube
rclone es una opción popular para integrar almacenamiento en la nube con Jellyfin. Es compatible con la mayoría de sistemas operativos. Para combinar sistemas de archivos locales y en la nube, rclone puede combinarse con programas como mergerfs.
Al usar almacenamiento en la nube, se recomienda desactivar la extracción de imágenes ya que requiere descargar el archivo completo.
MergerFS
MergerFS no está diseñado para todo, consulta aquí para más información.
- Configuración recomendada de rclone config.
Para modificar y examinar tu punto de montaje mergerfs, aquí tienes una guía rápida.
Consideraciones sobre sistemas de archivos
Para ciertos sistemas de archivos, se recomienda encarecidamente aplicar optimizaciones para lograr un rendimiento aceptable.
ZFS
Aunque se está trabajando en más proveedores de bases de datos, la implementación actual de Jellyfin usa SQLite. ZFS utiliza un tamaño de registro predeterminado de 128 K, lo cual es subóptimo para bases de datos SQLite.
Idealmente, debes usar un tamaño de registro de 4 K u 8 K en el conjunto de datos que contiene tu base de datos SQLite de Jellyfin. Esto se configura fácilmente en contenedores Docker, donde puedes modificar puntos de montaje y asignar conjuntos específicos para cada ruta según convenga.
El tamaño de registro para tus conjuntos de datos multimedia no debe usar 4 K u 8 K, de lo contrario experimentarás problemas de rendimiento al escalar la base de datos.
Para conjuntos ZFS con archivos multimedia grandes (no el que contiene la base de datos SQLite), un tamaño de registro de 1 M suele ser óptimo para el rendimiento.
Nota: Cambiar el tamaño de registro en un conjunto ZFS existente no modifica los datos ya almacenados, por lo que el rendimiento solo mejorará para datos nuevos. Se recomienda reescribir los datos en el conjunto para aprovechar el cambio; de lo contrario, la optimización no producirá el efecto esperado.
Como las instantáneas de ZFS pueden consumir mucho almacenamiento sin un plan adecuado de eliminación (destroy), podría tentarte usar discos mecánicos en lugar de SSD. No almacenes datos de Jellyfin (todo excepto archivos multimedia) en discos mecánicos con ZFS, ya que causará bajo rendimiento. Se recomienda encarecidamente usar SSD.