¿Cansado de mover ficheros de un dispositivo a otro en un Pen Drive? ¿Quieres guardar todos tus ficheros en un mismo sitio y acceder a ellos a través de la red de tu casa? Si tienes un disco externo sin utilizar y una Raspberry Pi con el sistema operativo Raspbian instalado, te mostramos paso a paso la configuración necesaria para centralizar todos tus ficheros en un mismo sitio y poder acceder a ellos incluso cuando te encuentres fuera de casa.
Te proponemos una configuración donde el dispositivo de almacenamiento que quieras utilizar para este fin será formateado en EXT4, un sistema de ficheros nativo para Linux y con un montaje persistente. Esto evitará que el sistema operativo pueda cambiar la ubicación lógica del disco, dejando inoperativos los servicios que montemos sobre él. En este caso, vamos a mostraros cómo instalar y configurar un servidor Samba que nos permitirá acceder a los ficheros de nuestro disco desde prácticamente todos los dispositivos que tengamos independientemente de su sistema operativo.
Dando formato Linux al almacenamiento externo
Para este almacenamiento hemos hablado de «discos externos», pero realmente puedes utilizar cualquier tipo de almacenamiento externo que pueda conectarse a uno de los puertos USB de la Raspberry. Como ya os adelantamos, utilizaremos el formato EXT4 en este disco externo. Si bien cuando este formato se utiliza en sistemas basados en Linux como Raspbian, es una ventaja cuando hablamos de rendimiento, también tiene un inconveniente; el disco duro que formateemos no podrá ser utilizado directamente en ningún ordenador Windows, aunque sí que podrá acceder a él a través de la Raspberry cuando hayas finalizado este tutorial.
Por ahora, los pasos para preparar este dispositivo serían:
- Conectamos el dispositivo de almacenamiento en uno de los puertos USB de la Raspberry y accedemos a ella a través de una sesión SSH.
- Ejecutamos el siguiente comando para listar las unidades de almacenamiento disponibles:
lsblk
- Si no tenemos ningún otro almacenamiento USB conectado, veremos como el sistema operativo ha identificado un dispositivo de 3.8G con el nombre sda, el cual tiene una partición sda1. En este momento, no está montado (No tiene MOUNTPOINT) por lo que podemos proceder a establecer la estructura de particiones del disco como GPT ejecutando el siguiente comando:
sudo parted /dev/sda mklabel gpt
- Una vez establecida la estructura a GPT, crearemos una nueva partición EXT4 en el disco:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
- Ahora que ha finalizado, podemos listar los dispositivos externos para verificar si la partición sda1 se ha creado:
- Inicializamos el sistema de ficheros EXT4 de la partición sda1 y le añadimos la etiqueta DISCO. Esta etiqueta nos será útil mas adelante.
sudo mkfs.ext4 /dev/sda1 -L DISCO
- Comprobamos si todo ha ido correcto hasta ahora con el comando lsblk de nuevo.
- Como resumen, veremos que nuestro «disco» sda tiene una partición sda1 del tipo EXT4 y con la etiqueta DISCO.
sudo lsblk –fs
- En la salida anterior también vemos que nuestro disco todavía no tiene un punto de montaje (Mountpoint). Éste es nuestro próximo objetivo.
Montaje persistente de la unidad de almacenamiento
El disco externo ya tiene el formato más apropiado para Raspbian. Ahora vamos a dejarlo montado y configurado en el sistema operativo para que se encuentre disponible desde el arranque del sistema.
- Creamos la carpeta DISCO en la ruta /mnt donde montaremos el disco externo. Éste será el punto de montaje que utilizaremos más adelante para referenciar a este almacenamiento:
sudo mkdir /mnt/DISCO
- Vamos a «dar de alta» este disco para el sistema, modificando el fichero de configuración fstab, encargado de gestionar los dispositivos de almacenamiento del sistema.
- Ejecutamos el siguiente comando para añadir la entrada que, entre otras cosas, le dice al sistema operativo que el disco con etiqueta DISCO debe ser montado siempre en la carpeta /mnt/DISCO:
sudo su -c «echo ‘LABEL=DISCO /mnt/DISCO ext4 defaults 0 2’ >> /etc/fstab»
- Para comprobar si la línea correspondiente a nuestro disco ha sido añadida, mostramos por pantalla el contenido del fichero fstab y observamos la última línea:
cat /etc/fstab
- Como se ve en la captura anterior, la entrada se ha añadido correctamente. Ahora sólo queda decirle al sistema que recargue toda la configuración fstab y monte todos los dispositivos mediante:
sudo mount -a
- Volviendo con el comando lsblk, veamos si nuestra partición sda1 tiene el punto de montaje que esperamos…
sudo lsblk –fs
- Nuestro disco ya se encuentra disponible en la carpeta /mnt/DISCO. Con el siguiente comando, aparte de otros puntos de montaje del sistema operativo, vemos la capacidad y utilización actual del disco que hemos configurado:
df -h
- Para finalizar, vamos a decirle a Raspbian que ese disco es propiedad del usuario pi para que podamos acceder a él sin problemas y evitar que otro pueda acceder sin permiso:
sudo chown pi:pi /mnt/DISCO/
- Y ahora, como prueba final, reiniciamos la Raspberry para ver si todos los cambios realizados se mantienen.
sudo reboot
Una vez inicie el sistema de nuevo, verifica con sudo lsblk –fs o con df -h que nuestro disco sigue ahí. Si no se ha ido a ninguna parte, podemos seguir con el último paso, instalar y configurar el servidor de ficheros Samba.
Instalar y configurar el servicio de ficheros Samba
Básicamente vamos a realizar la instalación del servicio Samba de nuestra Raspberry en tres pasos, la descarga del software necesario, una configuración básica del servicio que compartirá en red nuestro disco externo y nos permitirá leer de él y escribir en él de una forma remota y la creación del usuario pi en el servidor Samba y su contraseña.
Este usuario pi y la contraseña que establezcamos serán los datos que utilizaremos posteriormente para acceder al almacenamiento desde otro dispositivo de la red. Podremos configurar el servicio a nuestro gusto más adelante, aunque la que te proponemos es suficiente para empezar.
- Actualizaremos el listado de software del sistema operativo por si hubiese cambiado la ubicación de algunos de los paquetes que vamos a necesitar instalar mediante el comando:
sudo apt-get update
- Instalamos los paquetes necesarios para el servicio Samba ejecutando:
sudo apt-get -y install samba samba-common-bin
- Una vez finalizada la instalación, añadiremos nuestro disco duro externo en la configuración Samba para que pueda ser compartido en la red:
sudo su -c «echo ‘[DISCO]
comment = DISCO
path = /mnt/DISCO
browseable = yes
writeable = yes
only guest = no
create mask = 0777
directory mask = 0777
public = no’ >> /etc/samba/smb.conf»
- Vamos a crear el usuario pi para el servicio Samba y a darle una contraseña. Ejecutamos el comando smbpasswd y nos solicitará la nueva contraseña para el usuario dos veces:
sudo smbpasswd -a pi
- Para aplicar los cambios anteriores, reiniciamos el servicio Samba:
sudo /etc/init.d/smbd restart
Estos son todos los pasos necesarios. Ahora vamos a comprobar que todo funciona correctamente.
Si estamos en un dispositivo Windows, abrimos una ventana del explorador de ficheros e introducimos la dirección IP de nuestra Raspberry en la barra de direcciones precedida por dos barras invertidas, por ejemplo:
\\192.168.1.2
Veremos dos carpetas compartidas. La primera, llamada «disco» tal y como configuramos, se trata realmente del dispositivo USB que has enchufado a la Raspberry.
La segunda carpeta compartida se llama pi, y se trata realmente del directorio /home/pi. Tener acceso a esta carpeta nos será útil por ejemplo si queremos instalar OpenVPN en nuestra Raspberry, ya que nos permitirá descargar los ficheros de configuración para los clientes que queramos conectar a ella.
Esperamos que el proceso os haya resultado sencillo, rápido e intuitivo. Como siempre, si detectas algún error o te surge alguna duda acerca del proceso, puedes, como siempre, ponerte en contacto con nosotros y trataremos de echarte un cable 😉
0 comentarios