Añadir un disco duro externo a una Raspberry Pi
Una 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…
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.
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
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
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 Sí)
Poco después, el formateo habrá concluido…
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
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…
Podemos editar fstab con cualquier editor de textos. Por ejemplo, usando nano:
sudo nano /etc/fstab
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.
Al salir, nano nos pregunta si queremos guardar los cambios. Lógicamente, la respuesta debe ser Sí.
Como última precaución, nano nos ofrece la posibilidad de cambiar el nombre del archivo, por si no queremos reescribirlo.
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
Y cuando termine el proceso de reinicio, volvemos a ejecutar el comando:
lsblk -fm
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.
Y hasta aquí este artículo. Como siempre, espero que te haya resultado útil.