Montar disco red nas al arranque- Solucionado

Tips y how-tos en Manjaro. Aquí encontrarás estas cosas.

Montar disco red nas al arranque- Solucionado

Notapor tonigl » Jue, 07 Jul 2016, 13:09  •  [Mensaje 1]

Después de varios días peleando con este tema por culpa de mi torpeza, lo he conseguido!
Esto debe ser muy básico, pero lo pongo por si hay alguien con el mismo problema yo.

A)Montar nas desde consola con permisos rw en /mnt/Nas
crear directorio para montaje desde consola:
Código: Seleccionar todo
sudo mkdir /mnt/Nas

montar el nas en esa carpeta
Código: Seleccionar todo
sudo mount -t cifs //ip_nas/dir_a_montar_del_nas /mnt/Nas -o username=usuario_nas, password=pass_del_nas,rw,dir_mode=0777,file_mode=0666


ip_nas =la ip del disco en red 192.168.1.x
dir_a_montar_de_nas =en mi caso es /share
usuario_nas= en mi caso es el usuario con el que puede acceder al nas desde web (root en el nas)
pass_del_nas= la contraseña del usuario de antes(root en el nas)
dir_mode y file_mode establecen permisos para directorios y archivos


B)Para montar Nas al arranque:
Si añado esa linea en fstab dab error porque la red no estaba arrancada
Solución:

1-Crear directorio para montaje desde consola:
Código: Seleccionar todo
sudo mkdir /mnt/Nas

2-Crear fichero "mount_nas.sh" en /usr/bin
Contenido del fichero /usr/bin/mount_nas.sh

Código: Seleccionar todo
#!/bin/bash
#
# /usr/bin/mount_nas.sh
#
#montar disco nas al inicio con un servicio
mount -t cifs //ip_nas/dir_a_montar_del_nas /mnt/Nas -o username=usuario_nas, password=pass_del_nas,rw,dir_mode=0777,file_mode=0666

3-Dar permisos ejecución a mount_nas.sh
Código: Seleccionar todo
sudo chmod +x /usr/bin/mount_nas.sh


4-Crear fichero "mount_nas.service" en /usr/lib/systemd/system/
Contenido del fichero /usr/lib/systemd/system/mount_nas.service

Código: Seleccionar todo
[Unit]
Description=Montar_Nas
Wants=network-online.target local-fs.target
After=network-online.target

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/mount_nas.sh

[Install]
WantedBy=multi-user.target



5-Habilitar servicio
Código: Seleccionar todo
sudo systemctl enable mount_nas.service


6-Reiniciar el equipo

Si hay algo que eliminar o mejorar.....
Un saludo a todos!!
Avatar de Usuario
tonigl

Novato
 
Mensajes: 3
Registrado: Mié, 11 Sep 2013, 20:15

Re: Montar disco red nas al arranque- Solucionado

Notapor allanadja » Jue, 08 Sep 2016, 23:02  •  [Mensaje 2]

Tuve unos problemas con el script en concreto con la forma de ejecutarlo en inicio, systemd se queda bloqueado intentando ejecutar el servicio. Lo he solucionado iniciando el script de otra manera algo más rudimentaria pero me funcionó tanto en Manjaro como en Ubuntu. A continuación trataré de detallar mi solucion por si ha alguien le puede ayudar.
Aqui el script modificado
Código: Seleccionar todo
#!/bin/bash
#
#
# 1 - Comprobación de obtención de IP
# 2 - Montar disco nas al inicio con un servicio
echo "Esperando a obtener ip..."
IpGateway=""
while [ i=0 ]; do
sleep 2
IpGateway=$(route -n|grep UG|tr -s " "|cut -d " " -f2)
if [ $IpGateway != "" ]; then
   clear
   echo "Ip obtenida: " $IpGateway
    break
fi
done

sudo mount -t cifs //???.???.?.?/???? /mnt/???? -o username=******,password=******,rw,dir_mode=0777,file_mode=0666


La primera parte del script crea un bucle hasta obtener una IP y salir del bucle, luego se ejecuta la segunda parte donde se monta el NAS.

Para iniciarlo con el arranque lo añadi a /etc/rc.local
Código: Seleccionar todo
sudo nano /etc/rc.local


Editamos
Código: Seleccionar todo
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh /home/******/.script/mount_nas.sh
exit 0

Siempre ajustandolo a nuestra necesidad.

Por ultimo este paso solo lo realice en Manjaro
Crear el servicio que arranca rc.local
Código: Seleccionar todo
sudo mousepad /etc/systemd/system/rc-local.service

Pegamos
Código: Seleccionar todo
[Unit]
Description=/etc/rc.local compatibility

[Service]
Type=oneshot
ExecStart=/etc/rc.local
# disable timeout logic
TimeoutSec=0
#StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Ejecutamos
Código: Seleccionar todo
sudo systemctl enable rc-local.service

Script original de tonigl
Yo solo lo ajuste a mis necesidades.
Avatar de Usuario
allanadja

Novato
 
Mensajes: 1
Registrado: Jue, 08 Sep 2016, 22:17
Distro actual: Manjaro
Versión: 16.08
Escritorio: XFCE
Rama: stable


  • Temas Parecidos
    Respuestas
    Vistas
    Último mensaje

Volver a Tips y how-tos



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado




StaffBorrar las cookies


^ Ir Arriba