Jugando con la Raspberry Pi – Conectar un disco USB

Consideraciones previas

Continuando con el artículo Jugando con la Raspberry Pi – Configuración Inicial vamos a seguir configurando nuestro servidor y lo más lógico es que queramos conectar un disco duro externo de gran capacidad para poder almacenar un gran volumen de datos en nuestra RbPi.

Tenemos varias configuraciones hardware posibles. En mi caso uso un disco duro de 1TB en una caja externa USB de 3.5″ autoalimentada ya que lo tenía por casa sin usar ,pero hay muchas opciones. Por ejemplo, un pendrive no supondría problema para la RbPi pues necesita poca alimentación, pero sin embargo un disco de 2,5″ sí necesitaría alimentación externa, un hub autoalimentado o una caja autoalimentada igual que la de los discos de 3,5″, pero no voy a hablar aquí del hardware, sino de la parte del sistema.

Podemos afrontar varias situaciones a la hora de elegir el punto de montaje (carpeta donde vamos a montar el disco) con sus ventajas y desventajas, pero como todo, elegir una u otra es una cuestión de gustos. Podemos bien montar el disco duro como Home, esto tiene la ventaja de que si cambiamos de sistema o de tarjeta SD nuestros archivos de configuración seguirán estando en el disco duro y el nuevo sistema los cogerá sin tener que hacer nada. Es el equivalente a tener un el pc de sobremesa la carpeta / en una partición y el home en otra. Pero a esto le he encontrado una pega, ej: en casa tengo un HDD en una caja externa que se ha roto alguna vez y he tenido que cambiarla ya que la tengo funcionando 24/7, al apagarse el HDD el Home no está accesible, ni la configuración que hay en él, esto puede provoca que el sistema no funcione como se espera.
Podemos también definir el punto de montaje en otra ruta como por ejemplo una carpeta Datos dentro o fuera del Home, en /media por ejemplo, con lo que el Home seguirá estando en la tarjeta SD y podríamos tener distintas tarjetas con distintas configuraciones y poder cambiar una por otra en un momento dado sin mayor problema. Aunque tendría la pega de que si la SD se rompe quedará inaccesible y toda la configuración se perdería.

Otro punto a tener en cuenta es el sistema de archivos del disco. Hay sistemas de archivos que hacen trabajar menos a la RbPi que otros, por ejemplo un disco NTFS requerirá más recursos de la RbPi que uno en ext3 o ext4, por tanto estos dos últimos son preferibles.

La elección es vuestra, yo personalmente he probado varias y por cómo tengo configurado todo y el uso que le doy, prefiero montar el disco externo directamente como Home. Para hacer esto conectamos el disco duro USB en mi caso formateado en ext4 a la RbPi apagada, encendemos primero el disco externo y luego la RbPi.

 

Saber el nombre del disco

Una vez dentro de la RbPi, bien sea por SSH o directamente en la RbPi, para saber el nombre del disco duro aunque casi con total seguridad será sda1 si es el único conectado escribimos:

sudo fdisk -l

 

Veremos algo similar a esto:

Dónde mmcblk0 es la tarjeta SD de 8GB y sda es el disco duro de 1TB. Los nombres en vuestro caso pueden cambiar.

Para montar el disco automáticamente al inicio tenemos que editar el archivo /etc/fstab.

 

Copiar Home

Si tenemos pensado montarlo como Home antes de hacerlo debemos copiar lo que hay actualmente en el home al disco duro, si lo vamos a montar en otro punto de montaje podemos saltar directamente a editar el archivo /etc/fstab.

Montamos el disco en cualquier sitio para hacer la copia, por ejemplo en /mnt:

sudo mount /dev/sda1 /mnt

Una vez montado copiamos la carpeta del usuario que usamos, pi o el que sea si le cambiamos el nombre siguiendo el artículo anterior:

cp /home/pi /mnt/

Una vez que tenemos los datos copiados desmontamos el disco:

sudo umount /mnt

 

Editar /etc/fstab

Antes de editar el fstab veamos que significan las columnas de este archivo:

<file system>   <dir>   <type>   <options>    <dump> <pass>
  • file system: Es el nombre de la partición o dispositivo que se va a montar
  • dir: Es el punto de montaje (carpeta) donde se va a montar
  • type: Es el formato de la partición (NTFS, ext3, ext4, …)
  • options: Son las opciones de montaje (defaults es lo más común)
  • dump: Indica al sistema si es necesario hacer backup de esta partición (0 no hacer copia y 1 hacer copia). Lo más común es 0.
  • pass: Indica al sistema si debe comprobar la integridad de sistema de archivos (0 no comprueba, 1 es la máxima prioridad y 2 menor prioridad). Lo normal es 1 para el sistema (carpeta /) y 2 para el resto.

Para saber más sobre fstab podéis visitar esta web: https://wiki.archlinux.org/index.php/Fstab_(Español)

Nuevamente tenemos varias opciones a la hora de elegir nombre del dispositivo a montar con sus ventajas y desventajas. Vamos a verlas rápidamente:

  • Usando /dev/sda1: Es la opción más sencilla, tiene una desventaja y es que si iniciamos la RbPi con otro disco o pendrive, si el sistema lo toma como sda lo montará como home. Es el método que yo he usado porque nunca pongo otro disco ni pendrive que no sea el que tengo montado y para mi tiene la ventaja que si el disco duro se rompe y lo cambio por otro lo montará como home sin tener que hacer nada.
  • Usando el UUID: Con esto ya si apuntamos a un sistema de archivos determinado. Es decir que sólo la partición con un sistema de archivos que tenga ese ID será montado como home y ningún otro. Tiene la ventaja de que podemos arrancar la RbPi con varios discos conectados que sólo montará el indicado como home y tiene la desventaja que si formateamos la partición hay que cambiarlo por el nuevo UUID.
  • Usando PARTUUID: Esto es similar al anterior pero no está asociado al sistema de archivos sino a la partición en sí. Esto significa que tiene las ventajas del anterior y además nos permite formatear o cambiar el sistema de archivos de la partición sin tener que editar este ID ya que mientras no se destruya la partición este ID no cambia.

Si queremos averiguar el UUID y el PARTUUID de sda1 por ejemplo escribimos:

blkid /dev/sda1

Una vez que hemos decidido la forma en la que vamos a montar el disco editamos el archivo /etc/fstab (recomiendo hacer una copia de seguridad antes de editarlo) añadiendo una de las siguientes lineas cambiando el punto de montaje y el formato:

  • /dev/sda1:
/dev/sda1	/pto_montaje	formato		defaults	0  2
  • UUID:
UUID="el uuid"	/pto_montaje	formato		defaults	0  2
  • PARTUUID:
PARTUUID="el partuuid"	/pto_montaje	formato	  defaults	0  2

Como nota adicional si vais a conectar una memoria flash como un pendrive o disco SSD es recomendable añadir noatime detrás de defaults separados por coma. Esa parte quedaría así en ese caso: defaults,noatime.

Tras guardar y cerrar el archivo fstab podemos ejecutar sudo mount -a para volver a montar todas las particiones o reiniciar la RbPi y el disco duro debería quedar montado.

 

Espero que os haya gustado el artículo de hoy y nos vemos en el próximo.
Saludos Linuxeros 😉

 


Serie Jugando con la Raspberry Pi:

Jugando con la Raspberry Pi – Instalación
Jugando con la Raspberry Pi – Configuración Inicial
Jugando con la Raspberry Pi – Varios sistemas con PINN
Jugando con la Raspberry Pi – Conectar un disco USB

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.