IMG_0546

Añadir disco de forma permanente : preparando un NAS o servidor casero 2

Ya expliqué esto de una forma simple pero que tiene el fallo de que no es la más correcta. El principal problema es que tengamos discos que se llamen igual, o que solo con cambiarlo de puerto USB esa forma no sirve.

Después de explicar cómo formatear el disco duro o la memoria. Vamos ahora a hacer que todo quede preparado para que se conecte de forma automática al encender la Raspberry con el disco conectado, o poder conectarlo y desconectarlo con un comando muy simple en caso de tenerla ya encendida.

NAS Casero lista completa

  1. Formatear disco en ext4 : preparando un NAS o servidor casero 1
  2. Añadir disco de forma permanente : preparando un NAS o servidor casero
    2
  3. Instalar SAMBA : preparando un NAS o servidor casero 3
  4. Optimizar SAMBA : preparando un NAS o servidor casero y 4
  5. NAS casero avanzado disco RAID en Raspberry Pi

Con el disco duro o memoria USB conectada tecleamos en una Terminal local o remota los siguientes comandos:

sudo blkid

disco10

Apuntamos letra por letra lo que aparece tras UUID, por largo que sea, TODO. Ahora creamos una carpeta nueva que será en la que “montemos” ese disco duro para que se pueda ver desde el explorador de archivos o desde otros programas. En mi caso he elegido crearla en la carpeta “media” que es la recomendada para esto y con el mismo nombre que la etiqueta que le puse al formatearlo “16GB”. Y luego, le damos permisos para que todo el mundo pueda escribir, esto es más o menos inseguro pero nos facilitará las cosas.

sudo mkdir /media/16GB
sudo chmod 777 /media/16GB

disco11

Ahora vamos a hacer una cosa más, que es poner un “acceso directo” estilo Linux para que desde la carpeta del usuario estándar “pi” podamos acceder más rápido a nuestro disco

ln -s /media/16GB/ /home/pi/16GB

disco12

Ahora con el código que copiamos al principio o viéndolo de nuevo, vamos a editar el fichero de la configuración de discos de la Raspberry Pi

Cthulhu Warning Sign OJO QUE PODEMOS LIARLA, VAMOS A HACER COPIA DE SEGURIDAD E IR CON CUIDADO

sudo cp /etc/fstab fstab.old

comprobamos que se ha copiado con ls y seguimos

sudo nano -w /etc/fstab

disco13

Ahora se nos abre una aplicación que se llama “nano” y que es un editor muy básico pero más o menos sencillo de manejar. Con los cursores, las teclas de las flechas, nos movemos hasta el final para añadir una línea

disco14

La nueva línea debe quedar como en la imagen y dependerá del código “UUID” que tenga vuestro disco o memoria USB y la carpeta que creamos antes “/media/16GB”

UUID=lo-que-sea-que-os-salio-antes /media/16GB ext4 defaults 0 0

disco15

Una vez lo hemos cambiado, hay que guardar los cambios y salir. Los comandos serían:

  • Para Guardar el archivo con los cambios
    pulsar la tecla Ctrl y al mismo tiempo la letra o
  • Para salir del editor nano
    pulsar la tecla Ctrl y al mismo tiempo la letra x Nos preguntará si queremos salvar los cambios y le decimos que escribiendo una S y dándole a Enter / Return / Intro

disco16

Una vez fuera del editor “nano” comprobamos como están los discos duros, memorias y particiones de la tarjeta SD de la Raspberry Pi con el comando df = disk free = disco libre o disponible

disco17

Reiniciamos con sudo reboot

disco18

Después de reiniciar comprobamos de nuevo con df y vemos que ya está disponible

disco19

Ahora para desconectarlo o conectarlo cuando esté es ese puerto sda el comando será sudo umount /dev/sda y sudo mount /dev/sda

disco20

  • YEROPAA

    En la parte que dices de crear la carpeta media:
    sudo mkdir /media/16GB

    Y en la que indicas que hay que darle permisos:

    sudo chmod 777 /media/16GB

    Deberias indicar que tenemos que hacer lo mismo con la carpeta temporal para el transmission. (siguiente tutorial).

    Me he vuelto loco porque no tenia permisos de escritura y no iniciaban los torrents.

    Un saludo

  • Pingback: Instalar y configurar un descargador de torrents | Raspberry para torpes()

  • Pingback: Rasperry Pi y disco duro USB cómo forzar la alimentación | Raspberry para torpes()

  • alex metola

    Muchas gracias por los tutoriales, son buenisimos :)

    • Sinceramente, me alegro un montón de que os sirvan. Sólo con esto me alegras el día.

      • alex metola

        Los he seguido todos y están muy chulos, una pregunta no consigo que se monte el DD automáticamente , lo puedo montar sin problemas con sudo mount /dev/sda pero no consigo hacerlo automáticamente, puedo ver el problema o que puede ser? Muchas gracias por todo manuti.

  • Hugo

    Hola!
    Estoy teniendo un problema con tamaño del disco. Resulta que conecto un pendrive de 16 gb formateado en ext4 y hago los pasos de este post para que lo monte correctamente. Añado lo del fstab y se monta al iniciar pero cuando lo abro con windows me pone un tamaño erroneo (que creo que casualmente es el de la sd)

    A ver si alguien me puede echar un cable, muchas gracias!

    • Si lo formateas en “ext4” no se puede ver ni usar desde Windows, es un formato exclusivo e GNU/Linux.

  • israfg

    Buenas, estoy intentando hacer esto pero con OSMC, la cosa que lo hago todo bien, pero cuando copio la linea uuid en mi archivo fstab, cuando inicio la raspberry me sale el mensaje siguiente:

    A start job is running for dev-disk-by…

    Ahi se queda un minuto y medio hasta que da error y no puedo hacer nada…

    Perdona mi torpeza pero es que de linux estoy pegao, sólo sé seguir los tutoriales y se ve que este no va del todo bien con el sistema que le tengo puesto a la rasp.

    Te copio también el contenido de mi fstab para que veas si es que algo he escrito mal, ya que no coincide del todo con el que pones en el tuto:

    /dev/mmcblk0p1 /boot vfat defaults,noatime 0 0

    /dev/mmcblk0p2 / ext4 defaults,noatime 0 0

    UUID=4b83bd24-555f-466f-acfb-2a7c88e31220 /media/16GB ext4 defaults 0 0

    La última es la linea que añado, que hago mal?

    Lo he intentando varias veces volviedno a meter el SO en la sd y nada, siempre me sale el dichoso error…

    Gracias de antemano y un saludo.

    • En principio no sé lo que pasa. El contenido de fstab creo que está bien. Para probar, quita la línea o ponle delante #. Arranca OSMC y cuando esté todo listo conecta el disco y confirma que se ve su contenido. Si eso funciona, creo que puede deberse a que tu disco es lento en arrancar y trata de montarlo OSMC antes de que esté listo. Mira esto que publiqué a ver si es eso: https://raspberryparatorpes.net/hardware/raspberry-pi-y-discos-duros-lentos/ Un saludo

      • israfg

        Otra cosa que no comenté que me di cuenta después es que, el disco parece que no llega a formatearlo del todo la rasp, segui el otro tuto donde dice como hacerlo. Llegó a esta conclusión porque, al conectarlo al pc, me aparece como conectado, pero no puedo acceder a su contenido y dentro del administrador de discos de windows me sale un icono sobre el hdd de dirección prohibida como el de tráfico, y pone algo de iniciar disco o algo así. Intentaré con alguna aplicación bajo windows para formatearlo a ver, puede ser por esto el error? La cosa es que recuerdo de haberlo conectado a la rasp sin tocar el fstab y si podía acceder a él…

        Saludos y gracias.

        • Vamos por partes.
          Si sigues esta guía, el disco no volverá a ser reconocido por Windows ni OSX, solo GNU/Linux.
          Esta guía estaba pensada para montar un servidor de ficheros (un NAS) y que fuese lo más óptimo posible, por eso se elegía ese formato a pesar de que se perdía la compatibilidad.
          Esta guía no está pensada para usarla con OSMC (aunque debería valer ya que es una versión de GNU/Linux muy especial, pero Linux al fin y al cabo) que no necesita hacer nada especial para reconocer los discos.
          Prueba a formatear el disco completamente desde Windows y puede que te esté dando problemas por este otro tema: https://raspberryparatorpes.net/proyectos/rasperry-pi-y-disco-duro-usb-como-forzar-la-alimentacion/

          • israfg

            Si, eso lo tengo claro, que windows no lo reconoce, pero tengo el ext2 volume manager instalado, que lo uso para acceder al hdd cuando lo conecto al pc, por eso me lié un poco y pensé que windows me iba a dar algo de info en el admin. de discos.

            Pero bueno, lo que he hecho ha sido empezar de cero, he formatedo el hdd en windows en ntfs y ahora he seguido el tuto tuyo de formatear en ext4 en raspberry, cuando le indico el comando:

            sudo mkfs.ext4 /dev/sda -L 500GB

            Me da este error:

            /dev/sda is apparently in use by the system; will not make a filesystem here!

            Y el disco no tiene nada, además lo conecté luego de encender la raspberry, sólo formateado como te he dicho.

            A ver si esta vez lo consigo…

          • Vale, no contaba con que tuvieras esa opción para leer discos ‘ext’ desde Windows
            ¿Desde OSMC lo estás haciendo? porque lo mismo es que lo monta antes de que lo formatees y por eso no te deja. Prueba antes de formatear a hacer:

            sudo umount -a

          • israfg

            Gracias, me a puesto no se que de target is busy varias veces y luego le he dado a formatear y parece que esta vez si lo ha hecho…

            Proceed anyway? (y,n) y

            Creating filesystem with 122096645 4k blocks and 30531584 inodes

            Filesystem UUID: bc7e2ef9-81c5-4643-adff-58be6d3831b0

            Superblock backups stored on blocks:

            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,

            102400000

            Allocating group tables: done

            Writing inode tables: done

            Creating journal (32768 blocks): done

            Writing superblocks and filesystem accounting information: done

            Este es el resultado, vamos que parece que está correcto, sigo con el tuto.

            Mil gracias y saludos.

          • OK, te dejo que tengo curro.

          • israfg

            Bueno, pues luego de editar otra vez el fstab, que me queda tal que así:

            /dev/mmcblk0p1 /boot vfat defaults,noatime 0 0

            /dev/mmcblk0p2 / ext4 defaults,noatime 0 0

            UUID=bc7e2ef9-81c5-4643-adff-58be6d3831b0 /media/500GB ext4 defaults 0 0

            Y hacer lo que comentas de añadirle rootdelay=5 al final de la línea del cmdline.txt me vuelve a salir lo de start job is runing… durante un 1 minuto y 30 segundos para acabar poniendo, todo esto en la pantalla de la tv: timed out waiting for device dev-disk… y ya no puedo acceder por putty, que hago mal??

            Todo esto lo hago porque cada vez que reinicio la pi no me detecta el hdd, tengo que andar desconectando y conectando. Es sólo cuando reinicio, si apago y enciendo si lo detecta…

            Mil gracias por tu tiempo, un saludo.

          • Prueba a instalar ‘usbmount’

            sudo apt-get install usbmount

            A ver si así va mejor la cosa, incluso si no va bien añade también ‘autofs’
            sudo apt-get install autofs

            Más no sé.

          • israfg

            Pues nada, vuelvo a instalar el SO en la sd y vuelve a salirme lo mismo en la tv. Ahora, dentro de la linea de comandos que queda en la tele, he puesto df, y no hay ni rastro del hdd, vamos como sino se iniciara, cuando la luz está encendida de éste. Puede ser que el disco está estropeado? que error más raro no?

            Lo gracioso es que si lo desenchufo en este momento, lo vuelvo a conectar y tecleo df si aparece ahora… vamos que no arranca cuando reinicio, porqué??

            Gracias y saludos.

          • Se parece más a los problemas de falta de potencia en la alimentación eléctrica. Mira el post sobre forzar la alimentación que publiqué. Y prueba a cambiar la fuente o usar un Hub USB con su propia alimentación.

          • israfg

            Si, lo de modificar creo que lo probé. Y si, tengo un hub de la marca trust de amazon que recomienda casi todo el mundo, con una fuente de 2A, tengo el hdd conectado al hub, además de una capturadora de tv para el ambilight. no sé, pruebo a poner lo de la alimentación y conecto el hdd a un puerto de la rasp? Eso creo que lo intenté, luego de meterle las lineas que comentas en el post ese sobre forzar la alimentación, y nada, creo que no llegaba a funcionar el hdd, estaba todo el rato intentado arrancar sin exito…

          • Ni idea, es muy raro. Puede estar roto el HDD. Prueba a hacer esto con un pendrive cualquiera para descartar problemas de la Raspberry. Y más no se me ocurre. Los pasos están bien, porque yo tengo muy mala memoria y cada vez que trasteo recurro a mí mismo para configurar las cosas. ^__^

          • israfg

            ok, es verdad, no había pensado lo del pendrive. Lo haré y te diré que tal.

            Por cierto, cuando me sale la ventana de comandos en la tv, tengo un mando con teclado pero que no tiene el botón control, ya que cuando edito el fstab y da error no hay manera de modificarlo, tengo que volver a instalar el SO al completo. Hay alguna forma de poder modificar el fstab desde ahí? es que he pensao en un teclado de pc, pero no es usb la conexión… y por putty no conecta, no hay manera de hacer algo desde la ventana de comandos que me sale en la tv con el mando teclado que tengo??

            Saludos y muchas gracias por tu tiempo.

          • Pues si tienes Linux puedes conectar la SD y editar el fstab antes de ponerla en la Raspberry.

          • israfg

            Pues creeme que antes lo intenté, pero no me daba la opción el ext manager de montar la partición de linux.

            De todos modos sigo probando y sino me paso por aquí.

            Pues nada, no te molesto más, enhorabuena por tu blog, muchas gracias por la ayuda y por toda la info que tienes aquí.

            Un saludo.

  • Sheu_ron

    A la hora de editar el fstab para automontar el HDD, hay tutoriales como el tuyo que usan la UUID, mientras que otros utilizan /dev/sda1.
    Como novato, sospecho que al usar la UUID en lugar de /dev/sda1 obligas a la Raspberry a montar un HDD concreto (debe ser algún código tipo MD5), evitando que, si hay dos o más hdd pinchados, la Raspberry pueda hacerse un lio sobre cual es el SDA1 y cual es el SD2, SDA3,… ¿es cierto?

    • Correcto, el UUID es único y da igual si hay más discos semejantes y además permite conectarlo en el puerto USB que te de la gana, mientras que de la otra forma puede dar problemas si los cambias o tienes discos iguales o con el mismo nombre de unidad.

      • Sheu_ron

        Hay que reconocer que la gente de Linux tuvieron buena idea con el UUID.

  • Sergio

    He seguido todos los pasos, pero cuando pongo df al final, en vez de salirme el nombre que tendría que salir, me sale el usb como media/usb0. ¿Que puedo estar haciendo mal?

    • ¿Tienes instalado `automount` o `autofs`?

      • Sergio

        No tengo ni idea. Utilizo una imagen prediseñada, que ha hecho el usuario de un foro, que contiene un mediacenter y que es bastante completa. Es el mediacenter de aikon. Y es ahi donde tengo funcionando transmission, no en raspbian limpio.

        • No la conocía. Soy bastante autónomo en temas Raspberry-Pi. Pues debe tener eso incluido ya que es el nombre por defecto que da el sistema al montar de forma automática las unidades. Aún así, creo que siguiendo la guía y reiniciando con el disco conectado debe montarlo donde tú hayas configurado y no donde el sistema operativo quiera.

          • Sergio

            Pues no se, yo juraría que seguí los pasos correctamente. Lo volveré a intentar a ver si esta vez funciona y me detecta el usb como si fuera ese directorio.

            Otra cosa que te quería preguntar, es como hago para que me descargue directamente ahí. Porque he configurado el fichero .json para que los archivos temporales y los finales se descarguen en esa carpeta, pero no me los descarga ahí. Después vi, que en el interfaz web de transmission hay una opcion para cambiar el directorio, pero no se si es cuando desconecto o que, se vuelve a desconfigurar y aparece otra vez la ruta /root/downloads

          • Es muy importante parar Transmission para hacer los cambios en el json ya que si no, no se graban y cuando reinicias se pierden.

  • Sergio

    Estoy mirando que puede pasar y ahora tengo, un directorio que se llama /media/64GB que es donde me descarga transmission, pero que está dentro de la tarjeta microsd y otro directorio /media/usb0, que es el que se corresponde con el pendrive.

  • sergio

    Has probado a instalar un disco duro de bastante tamaño? He puesto uno de dos teras y la raspberry no consigue arrancar del todo. Alguna solución?

    • Más o menos, aunque no de ese tamaño. Hice dos artículos sobre este posibles problemas :
      Forzar la alimentación https://raspberryparatorpes.net/proyectos/rasperry-pi-y-disco-duro-usb-como-forzar-la-alimentacion/
      Discos duros lentos https://raspberryparatorpes.net/hardware/raspberry-pi-y-discos-duros-lentos/
      Espero que te sirvan.

      • Sergio

        He seguido los dos pasos que me indicas, pero me sigue dando el mismo problema

        • Pues no sé que más puede ser, el tamaño en teras no es un problema para la Raspberry ya que con el formato de disco que comento de tipo ext4 permite ese tamaño y mucho más. Y luego con esos dos trucos se resuelven la mayoría de los otros casos que me he encontrado. Así que ya solo creo que pueda ser un problema de cables, de la alimentación de la Raspberry o de la alimentación del disco duro.

          • Sergio

            Acabo de conectar el disco duro en el pc con linux y creo que el problema es del disco duro. Algo ha pasado desde que intente añadirlo de forma permanente a la raspberry.

            En el pc me sale esto

          • Sergio

            Me autocontesto. Lo he solucionado con el comando en linux

            del pc

            fsck /dev/sdb1

            Me ha ido preguntando si reparaba distintas cosas, y le he dado a “s” (si) todo el rato.

            Ahora ya me lo vuelve a detectar.

            Manuti, quería preguntarte otra cosa, la imagen que yo uso es un mediacenter prediseñado que me automonta los discos y pendrives. En mi caso, descargo por transmission a un pendrive que lo tengo instalado de forma permanente siguiendo tu tutorial, y cuando se me llena, paso los archivos al disco duro, ya que no quiero tenerlo siempre encendido.

            ¿Hay alguna ventaja por tener el disco duro instalado de manera permanente con su propio directorio, y no el que le asigna la raspberry?

          • Hoy en día creo que no, pero cuando empezó esto de la Raspberry el sistema Raspbian era menos sofisticado y los discos los montaba como /media/usb , /media/usb1 … y dependiendo de cual se activara antes al encender pues se montaba con un nombre u otro, de ahí la ventaja de montarlo de forma permanente en una ubicación elegida por nosotros.