Añadir un disco duro externo a una Raspberry Pi

Publicado por P. Ruiz en

Raspberry Pi logoUna de las ventajas de la Raspberry Pi es que, a pesar de tener un coste mínimo, podemos dedicarla a un montón de funciones diferentes. Por ejemplo, podríamos implementar un equipo de escritorio con funciones básicas, un servidor de impresión WiFi y AirPrint, un centro multimedia, un sistema de almacenamiento en red (NAS), servidores web o ftp, o incluso un sistema de videovigilancia, por nombrar solo algunos usos.

Para muchos de estos usos, probablemente necesites un disco duro donde guardar información. De forma predeterminada, Raspbian (el sistema operativo predeterminado de Raspberry Pi), reconocerá y montará casi cualquier disco que conectemos al puerto USB. Sin embargo, si quieres dedicarlo a una función concreta, puede que te interese montarlo en una ruta específica, y hacerlo de forma permanente. Eso es lo que vamos a resolver en el artículo de hoy.

El disco duro

Normalmente, para esta tarea usaremos un disco duro externo con conexión USB. Este tipo de discos solemos encontrarlos con sistema de archivos NTFS o, aunque de forma menos frecuente, con un sistema de archivos FAT.

Si se encuentra formateado en FAT (normalmente FAT32), tendremos la ventaja de que es compatible con casi cualquier dispositivo (aunque en nuesgtro caso planteamos dejarlo conectado permanentemente a la Raspberry Pi). Sin embargo, tenderá a fragmentarse con facilidad y no podremos crear archivos con tamaños superiores a 4GiB.

En el caso de NTFS, la situación es mejor, pero no debemos olvidar que se trata de un sistema de archivos ejecutado en modo usuario (o modo no privilegiado) a través de FUSE (Filesystem in Userspace), lo que provoca un menor rendimiento que los sistemas de archivos nativos de GNU/Linux.

En definitiva, la solución ideal es formatearlo con un sistema de archivos propio de GNU/Linux. En nuestro caso, la elección será ext4.

Comprobar la información del disco

Al conectar el disco al puerto USB de la Raspberry Pi, lo primero que notaremos será un nuevo icono en el escritorio, que nos da acceso a su contenido.

Sin embargo, si queremos obtener una mayor información sobre el dispositivo, debemos recurrir a una ventana de terminal…

Hacemos clic sobre el icono de la Terminal en el panel superior del escritorio.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-001

A continuación, ejecutaremos el comando lsblk, que nos aporta información sobre los dispositivos de almacenamiento de bloques disponibles:

lsblk -fm

El argumento f incluye información sobre los sistemas de archivos instalados y el argumento m nos informa de quién es su propietario, su tamaño, etc.

Así comprobamos que, además del almacenamiento principal (sda), disponemos de otro disco, etiquetado como sdb.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-002

Además, observando la salida obtenemos varias conclusiones:

  • Que tiene una sola partición (sdb1).

  • Que su punto de montaje es el predeterminado para dispositivos externos. Es decir, una carpeta con el nombre de la cuenta de usuario dentro de /media (en nuestro caso media/pi).

  • Que está formateado con el sistema de archivos NTFS.

  • Que la cuenta de usuario actual (pi) y su grupo tienen permisos de lectura y escritura sobre el dispositivo y el resto de usuarios no.

Formatear el disco en ext4

Como hemos explicado al principio, si el disco va a permanecer conectado permanentemente a la Raspberry Pi, es interesante que disponga de un sistema de archivos nativo de su sistema operativo. En nuestro caso, hemos optado por usar ext4. No obstante, para llevar a cabo esta tarea, lo primero será desmontar el disco, algo que conseguiremos con la siguiente orden:

sudo umount /dev/sdb1

Escribimos la orden y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-003

Al hacerlo, observaremos que desaparece el icono del escritorio que nos facilitaba el acceso directo al dispositivo.

Ahora si podemos dar formato al disco y, como pretendemos utilizar el sistema de archivos ext4, usaremos el comando mkfs.ext4:

sudo mkfs.ext4 /dev/sdb1

De nuevo, escribimos, o copiamos, el comando y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-004

Esto provocará un aviso que nos informa de que el disco ya tiene un sistema de archivos NTFS, lo que significa que, si seguimos, desaparecerá todo su contenido.

Debajo, nos pregunta si queremos continuar, pero lo hace en inglés. Aquí debes tener cuidado, porque nos pide la respuesta en inglés (y, N), pero si contestamos y, no hace absolutamente nada. El motivo es que tenemos la interfaz traducida a español y, en realidad, está esperando una s (de )

Por lo tanto, para continuar, pulsamos la tecla s.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-005

Poco después, el formateo habrá concluido…

Además, entre la información que ofrece el comando, se encuentra el UUID asignado al volumen.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-006

Establecer un punto de montaje

Para que el disco forme parte, de forma permanente, de la estructura de archivos del sistema operativo, lo primero que necesitaremos será una carpeta vacía en la que se integre todo su sistema de archivos del disco. Así, cuando accedamos a esa carpeta, en realidad estaremos accediendo al contenido del disco.En definitiva, esa carpeta será el punto de montaje.

Por lo tanto, lo primero que haremos será crear la carpeta. Nosotros la llamaremos almacen, pero tú puedes nombrarla como prefieras.

Para crear la carpeta, debemos usar un comando como este:

sudo mkdir /backup

Escribimos la orden y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-007

Lo siguiente será modificar el archivo fstab, que es donde se leen los parámetros de montaje de dispositivos durante el arranque del sistema.

Para modificar el archivo fstab, necesitaremos el valor UUID que se mostró más arriba al formatear el disco. Tendrá un aspecto parecido a este: 5acb11f9-a5e9-49c3-a225-a872fc688f22, aunque en tu equipo será algo distinto.

Si cerraste la terminal y no tomaste nota de su valor, siempre puedes recurrir al comando lsblk, con el formato que vimos más arriba…

Así obtenemos de nuevo el valor UUID.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-008

Podemos editar fstab con cualquier editor de textos. Por ejemplo, usando nano:

sudo nano /etc/fstab

Como antes, escribimos, o copiamos, el comando y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-009

Al momento, tendremos en pantalla el contenido actual del archivo fstab.

Lo siguiente será desplazarnos hasta el final del archivo y añadir una línea con un aspecto parecido a este:

UUID=5acb11f9-a5e9-49c3-a225-a872fc688f22 /almacen ext4 defaults 0 0

Aunque, como es lógico, tú debes utilizar el valor UUID que ofrezca tu sistema.

Además del identificador del dispositivo, la línea contiene los siguientes datos:

  • La ruta donde se montará (como es lógico, también aquí debes incluir la ruta completa de la carpeta que hayas elegido).

  • El sistema de archivos utiliza (ext4).

  • Las opciones de montaje (defaults representa las opciones predeterminadas).

  • El valor 0, para que el programa dump (que se encarga de hacer copias de seguridad) ignore el dispositivo

  • Otro 0 para indicar la prioridad de comprobación del sistema de archivos.

Cuando hayamos terminado, salimos del editor nano pulsando la combinación de teclas Ctrl + X.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-010

Al salir, nano nos pregunta si queremos guardar los cambios. Lógicamente, la respuesta debe ser .

Pulsamos la tecla Y.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-011

Como última precaución, nano nos ofrece la posibilidad de cambiar el nombre del archivo, por si no queremos reescribirlo.

Como preferimos reescribirlo, pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-012

Comprobar que todo funciona

En realidad, con el paso anterior, habremos terminado la tarea. Ya solo nos queda comprobar que funciona como esperamos. Y lo haremos reiniciando el equipo. Algo tan sencillo como recurrir a la siguiente orden:

sudo reboot

De nuevo, escribimos, o copiamos, el comando y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-013

Y cuando termine el proceso de reinicio, volvemos a ejecutar el comando:

lsblk -fm

Salida del comando.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-014

Si todo ha ido bien, a diferencia de la salida que obtuvimos más arriba, ahora el volumen tiene asignado como punto de montaje la carpeta que creamos con ese fin. A partir de ahora, cada vez que accedamos a la carpeta, estaremos accediendo en realidad al disco nuevo.

Un último detalle…

Para terminar nuestra tarea, puede ser interesante modificar los permisos de la carpeta, para hacerla accesible a cualquier cuenta de usuario que podamos necesitar en el futuro. Para lograrlo, bastará con escribir una orden como esta:

sudo chmod 766 /almacen

Con ella, estamos otorgando permisos de lectura y escritura sobre la carpeta, y por lo tanto sobre el disco, a todas las cuentas de usuario que podamos definir en un futuro en nuestra Raspberry Pi.

Como antes, escribimos, o copiamos, el comando y pulsamos la tecla Intro.

Añadir-un-disco-duro-externo-a-una-Raspberry-Pi-015

Y hasta aquí este artículo. Como siempre, espero que te haya resultado útil.