====== openmediavault ======
Solución NAS (//Network Attached Storage//) basada en Debian Linux.
* [[https://www.openmediavault.org/|Web oficial]]
* [[https://openmediavault.readthedocs.io/en/latest/index.html|Documentación oficial]]
Las notas aquí recogidas están centradas en la versión 7.x
{{ https://www.openmediavault.org/wp-content/uploads/2021/11/omv6_dashboard.png |}}
===== Características =====
* Listo para usar tras la instalación
* Basado en Debian Linux
* Administración web
* Actualizaciones a través del gestor de paquetes Debian.
* Gestión de volúmenes
* Link aggregation
* Wake On Lan
* IPv6 support
* Compartición de archivos
* Extensible a través de plugins
* Gestión de usuarios
* Cuotas
* ACL
* Soporte de múltiples idiomas
* Programación de tareas/trabajos
* Anuncio de servicios mediante DNS-SD
* Soporte de varios sistemas de ficheros (EXT3/EXT4/XFS/JFS/BTRFS/…)
* RAID por software (RAID JBOD/0/1/5/6/…)
* Gestión de recursos compartidos
* Monitorización:
* Syslog
* Watchdog
* S.M.A.R.T.
* SNMP (v1/2c/3) (read-only)
* Notificaciones por e-mail
* Servicios:
* SSH
* FTP
* TFTP
* NFS (v3/v4)
* SMB/CIFS
* RSync
===== Novedades de la versión 7 =====
* Actualización a Debian 12 (//Bookworm//)
* La actualización de paquetes y notificaciones será gestionada por ''[[https://packages.debian.org/bookworm/unattended-upgrades|unattended-upgrades]]''.
* La gestión de RAID por software ahora se hará mediante un plugin aparte (ya no se incluye por defecto en OMV)
* Se añade soporte para dispositivos ethernet para el uso de alias del árbol de dispositivos (por ejemplo, ''endX'')
* Se reemplaza el paquete ''cron-apt'' por ''unattended-upgrades'' y ''apticron''. El primero se asegura de que las actualizaciones de seguridad se instalan automáticamente, y el segundo se encarga de que las notificaciones se envíen tan pronto haya actualizaciones disponibles.
* El paquete ''apt-listchanges'' enviará un e-mail con un resumen de los últimos cambios tras una actualización de paquetes.
* Se añade la funcionalidad de autenticar una llamada RPC utilizando la cabecera ''X-OPENMEDIAVAULT-SESSIONID'' en lugar de una cookie. El identificador de la sesión se devuelve como respuesta del ''Session::login'' RPC.
* Se reduce el tiempo de consulta para determinar la información SMART reduciendo al mínimo los parámetros de la consulta.
* Se añade un //widget// al tablero para mostrar las temperaturas de los discos físicos.
* Se añade soporte para elegir entre RSA y Ed25519 al crear una clave SSH desde la interfaz de usuario.
* Se elimina el soporte de importación de claves SSH DSA.
* Mejora del despliegue del sistema de quota de ficheros.
* Reorganización de la página //Almacenamiento// -> //Carpetas compartidas// -> **ACL**
* Añade un //endpoint// a la interfaz de usuario para activar una descarga vía RPC.
* Los plugins pueden usar ''/download?service=xxx&method=xxx¶ms=xxx'' para iniciar la descarga de lo que esté implementado en el RPC especificado. Aviso: el contenido JSON de los argumentos pueden ser codificados. Revisa la función de JavaScript ''encodeURIComponent'' para más detalles.
* Se reemplaza ''hdparm'' por ''smartctl'' para mejor compatibilidad de hardware.
* Se añade soporte para las claves SSH ''ed25519-sk''.
* [[https://www.openmediavault.org/?p=3663|Publicación original con el lanzamiento de openmediavault 7]]
===== Requisitos =====
Los requisitos mínimos para el uso de openmediavault son:
* CPU: cualquier procesador x86-64 o ARM compatible con Debian
* RAM: 1 GiB
* Almacenamiento: mínimo 4 GiB
===== Instalación =====
El proceso de instalación es casi el mismo que Debian. Cambia la parte del particionado del disco que no deja elegir nada.
Se usará el disco entero como disco de sistema, así que no podrá usarse para almacenar datos de usuario. Esto es porque OMV sigue la buena práctica de separar el sistema operativo de los datos. Esto hace imprescindible tener un segundo disco o SSD para utilizar como almacenamiento.
Si vamos a instalar openmediavault en un dispositivo de memorias flash (SSD, pendrive...), es recomendable utilizar uno que tenga //static wear leveling//, de lo contrario se reducirá drásticamente su vida útil. También se recomienda instalar y activar el plugin **Flash Memory** para reducir las escrituras en disco
Se habilitará el acceso por defecto a través de SSH para el usuario root para situaciones de mantenimiento o acceso en caso de problemas con la instalación.
Grabar la ISO en un pendrive o SD card:
dd if=openmediavault_xxx.iso of=/dev/sdX bs=4096
Donde ''/dev/sdX'' es el dispositivo de almacenamiento destino (tarjeta SD, pendrive...)
===== Administración =====
Tras la instalación, las credenciales por defecto de la interfaz web:
* Usuario: ''admin''
* Contraseña: ''openmediavault''
La contraseña de root es la que se haya establecido durante la instalación.
Para cambiar la contaseña del panel web de administración, iniciamos sesión desde http://ip.de.openmediavault
En la parte superior derecha, pulsamos en la rueda dentada y elegimos **Cambiar contraseña**.
==== Configuración de la red ====
Si queremos hacer algún cambio en la configuración de red, podemos usar la herramienta en línea de comandos:
omv-firstaid
==== Discos ====
Una vez haya detectado los discos (Almacenamiento -> Discos), debemos crear un sistema de ficheros para poder empezar a utilizarlos: Almacenamiento -> Sistemas de Archivos.
Luego podemos establecer un umbral para que nos avise cuando esté ocupado en un % y añadir un comentario.Finalmente podremos montar el disco.
==== Carpetas compartidas ====
Una vez que tenemos un disco formateado para empezar a usarlo, podemos crear carpetas para luego compartirlas.
Almacenamiento -> Carpetas Compartidas:
* Nombre
* Sistema de Archivos
* Directorio
* Permisos
* Comentario
==== Usuarios ====
Por defecto, al crear usuarios no se crea un directorio personal (''/home/usuario'', por ejemplo). Si quisiéramos que los nuevos usuarios tuviesen sus directorios personales en el sistema, Gesión de usuarios -> Configuración y marcamos la opción **Habilitado** en //Directorio Home del usuario//
Gestión de usuarios -> Usuarios
Si queremos que los usuarios puedan acceder por SSH, tendremos que añadirlos al grupo ''ssh''.
==== Notificaciones / Avisos ====
OMV puede configurarse para recibir avisos sobre los siguientes eventos:
* Uso de CPU
* Sistemas de archivo
* Carga media
* Uso de memoria
* Monitorización de procesos
* S.M.A.R.T.
* Update management
Por defecto, solo pueden enviarse los avisos vía e-mail. A continuación pongo un ejemplo de configuración usando la pasarela de Sendgrid:
* Servidor SMTP: ''smtp.sendgrid.net''
* Puerto SMTP: ''587''
* Encriptación usada: Automatic
* E-mail del remitente:
* Se requiere autenticación: Sí
* Nombre de usuario: ''apikey''
* Contraseña:
* Destinatario
* E-mail principal:
* E-mail secundario:
Podríamos usar [[informatica:software:mailrise|Mailrise]] y configurarlo para que nos llegasen los avisos a Telegram, por ejemplo:
* Servidor SMTP: host o dirección IP donde esté instalado mailrise.
* Puerto SMTP: puerto que use Mailrise.
* Encriptación usada: Ninguno
* E-mail del remitente: el que quieras (por ejemplo, ''nas@omv.local'')
* Se requiere autenticación: No
* Destinatario: lo que quieras (pero que coincida con la configuración hecha en Mailrise).
===== Plugins =====
Amplían la funcionalidad básica de OMV. Recomendaciones:
* openmediavault-fail2ban
* openmediavault-flashmemory
* openmediavault-omvextrasorg
* [[https://forum.openmediavault.org/index.php?thread/39815-omv-extras-plugins-porting-progress-to-omv-6-x/&pageNo=1|Estado de los ports de plugins a OMV 6]]
==== OMV extras ====
Para instalarlo desde línea de comandos y como root:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
Gracias e él tendremos disponibles plugins interesantes como:
* openmediavault-fail2ban: evita accesos no autorizados
* openmediavault-flashmemory: evita las continuas escrituras en disco (útil para instalaciones de OMV en SSD o tarjetas SD)
* openmediavault-minidlna
[[https://wiki.omv-extras.org|Wiki de OMV-Extras.org]]
===== Servicios =====
==== SMB/CIFS ====
Compartición Windows y Linux.
Montaje en un cliente Linux, en el fichero ''/etc/fstab'':
//ip.servidor/recurso /media/recurso cifs noauto,user,credentials=/home/tempwin/.cifs-credentials,uid=1000,gid=100,iocharset=utf8 0 0
Donde:
* ''ip.servidor'': dirección IP del servidor samba/cifs.
* ''recurso'': nombre del recurso compartido en el servidor.
* ''/media/recurso'': directorio local en el que se montará el recurso compartido.
* ''noauto'': no monta el recurso al arranque del sistema.
* ''user'': permite el montaje a los usuarios, sin necesidad de permisos especiales.
* ''/home/tempwin/.cifs-credentials'' es un fichero que contiene las credenciales para acceder al recurso compartido en el servidor.
* ''uid'': identificador del usuario en el servidor.
* ''gid'': identificador del grupo al que pertenece el usuario en el servidor.
* ''iocharset'': establece la codificación de caracteres a usar en el recurso compartido. Solo es obligatorio si nos encontramos con problemas de visualización de texto o rutas de ficheros.
Ejemplo de ''.cifs-credentials'':
username=usuarioservidor
password=contraseña
domain=WORKGROUP
Si queremos añadir más opciones para CIFS, podemos hacerlo desde la interfaz web en la sección **Propiedades avanzadas** en el campo **Opciones extra**.
No debemos modificar el fichero ''/etc/samba/smb.conf'' ya que OMV lo sobrescribirá y perderemos los cambios.
==== NFS ====
Compartición Linux
===== Resolución de problemas =====
==== Docker ====
En una actualización de Docker, cree que [[https://es.wikipedia.org/wiki/AppArmor|AppArmor]] está configurado. Una posible solución es desactivar AppArmor en el kernel dentro de las opciones de arranque:
sudo mkdir -p /etc/default/grub.d
echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0"' | sudo tee /etc/default/grub.d/apparmor.cfg
sudo update-grub
sudo reboot
* [[https://forum.openmediavault.org/index.php?thread/46112-docker-not-working-since-omv-upgrade/|docker not working since omv-upgrade]] (foro oficial de openmediavault)
===== Recursos =====
* [[https://forum.openmediavault.org/index.php?thread/21269-solutions-to-common-problems/|Solutions to common problems]]