Mezcle una Raspberry Pi y una pizca de discos duros externos baratos y tendrá la receta para un dispositivo de almacenamiento en red de muy bajo consumo y siempre activo. Siga leyendo mientras le mostramos cómo configurar su propio NAS basado en Pi.
¿Por qué quiero hacer esto?
El beneficio de tener un dispositivo de almacenamiento en red siempre activo es que es extremadamente conveniente tener sus datos (o el destino de la copia de seguridad) siempre accesibles para las computadoras tanto dentro como fuera de su red. La desventaja, en la mayoría de los casos, es que está consumiendo una buena cantidad de energía para su comodidad.
Nuestro servidor de oficina, por ejemplo, funciona las 24 horas del día, los 7 días de la semana y consume casi $ 200 de energía al año. Un dispositivo de almacenamiento en red basado en Raspberry Pi, por otro lado, consume aproximadamente $ 5 de energía por año.
Seremos los primeros en concederle que un servidor completo tendrá más espacio de almacenamiento y la capacidad de realizar más trabajo (como transcodificar una colección de videos de varios terabytes en un período de tiempo razonable). Para la mayoría de las personas, sin embargo, el propósito principal de tener una computadora siempre encendida en algún lugar de la casa es servir como servidor de archivos y depósito de respaldo de archivos. Para tales tareas, la Raspberry Pi es lo suficientemente potente y le ahorrará una gran cantidad de cambios en el uso de energía.
¿Qué necesito?
Este tutorial se basa en nuestro tutorial anterior: La guía HTG para comenzar con Raspberry Pi y asumiremos que ya lo ha completado; en otras palabras, ya tiene su Raspberry Pi, la tiene encendida, conectada a un mouse y teclado, y ha instalado Raspbian en ella.
Además del equipo que necesitará del tutorial Introducción a Raspberry Pi, solo tendrá el siguiente hardware:
- Un disco duro externo USB (como mínimo) para realizar copias de seguridad de red sencillas y servir archivos
o
- Dos (como mínimo) discos duros externos USB para redundancia de datos locales
¡Eso es! Si solo desea una unidad simple conectada a la red, solo necesitará una unidad de disco duro. Recomendamos encarecidamente utilizar al menos dos discos duros para permitir la redundancia de datos locales (en la Raspberry Pi). Para los propósitos de este tutorial, usamos un par de Discos duros externos portátiles Seagate Backup Plus 1TB . Son muy pequeñas, no requieren una fuente de alimentación externa y estaban a la venta cuando estábamos comprando piezas.
Puede usar cualquier disco duro externo que tenga a mano, pero es ideal usar unidades pequeñas de bajo consumo si es posible, ya que todo el tema del proyecto es configurar un NAS pequeño y de bajo consumo que pueda apartar y guardar. olvídate.
Antes de continuar, hay un par de elecciones de diseño que tomamos en términos de cómo estamos configurando nuestro Raspberry Pi NAS que usted debe conocer. Si bien la mayoría de los usuarios querrán seguir exactamente como lo hemos hecho, es posible que desee modificar pasos específicos para adaptarse mejor a sus necesidades y cómo usa las computadoras en su red.
Primero, usamos discos duros con formato NTFS. Si el NAS Raspberry Pi falla por alguna razón o queremos copiar información rápidamente a través de una conexión USB 3.0 en lugar de a través de la red, tener discos con formato NTFS hace que sea muy sencillo tomar las unidades USB portátiles que estamos usando en la compilación del NAS y conectarlas directamente a uno de los muchos dispositivos de Windows máquinas que usamos todos los días.
En segundo lugar, estamos usando Samba para nuestros recursos compartidos de red, nuevamente debido a la conveniencia de combinar el Raspberry Pi NAS con nuestra red predominantemente de Windows.
Preparación y montaje de discos duros externos
Una vez que haya reunido el hardware, seguido del tutorial Introducción a Raspberry Pi para ponerse al día (y esté ejecutando Raspian), es hora de comenzar a configurar su Pi como un NAS.
La primera orden del día es conectar los discos duros a la Raspberry Pi (o al concentrador USB adjunto, dependiendo de su configuración y si los discos duros son autoalimentados o alimentados externamente). Una vez que los discos duros están conectados y la Pi está encendida, es hora de empezar a trabajar.
Nota: Estamos usando dos discos duros. Si ha decidido utilizar solo un disco duro, simplemente ignore todos los comandos de esta sección destinados a montar / modificar o interactuar de otro modo con el segundo disco duro.
Haremos todo nuestro trabajo dentro de la terminal. Como tal, puede trabajar directamente en su Raspberry Pi usando LXTerminal en Raspian o puede SSH en su Raspberry Pi usando una herramienta como Putty. De cualquier manera está bien.
Una vez que esté en la línea de comandos, lo primero que debe hacer es agregar compatibilidad con Rasbian para discos formateados con NTFS. Para hacerlo, escriba el siguiente comando:
sudo apt-get install ntfs-3g
Los paquetes tardarán uno o dos minutos en descargarse, descomprimirse e instalarse. Una vez que el paquete NTFS está instalado, es hora de buscar las particiones desmontadas de los discos duros externos adjuntos.
sudo fdisk -l
Como mínimo, debería ver dos discos, si ha agregado un disco secundario para la duplicación de datos (como lo hemos hecho nosotros), debería ver tres así:
El primer disco
/ dev / mmcb1k0
es la tarjeta SD dentro de la Raspberry Pi que alberga nuestra instalación de Raspbian. Vamos a dejar eso completamente solo.
El segundo disco,
/ dev / sda
es nuestro primer disco duro externo de 1TB. El tercer disco,
/ dev / sdb
es nuestro segundo disco duro externo de 1TB. Las particiones reales que nos interesan en estos dos discos son
/ sda1 /
y
/ sdb1 /
, respectivamente. Anote los nombres de los discos duros.
Antes de que podamos montar las unidades, necesitamos crear un directorio para montar las unidades. En aras de la simplicidad, simplemente crearemos un directorio llamado USBHDD1 y USBHDD2 para cada unidad. Primero tenemos que hacer los discos. En la línea de comando, ingrese los siguientes comandos:
sudo mkdir / media / USBHDD1sudo mkdir / media / USBHDD2
Una vez que haya creado los dos directorios, es hora de montar las unidades externas en cada ubicación. Nuevamente en la línea de comando ingrese los siguientes comandos:
sudo mount -t auto / dev / sda1 / media / USBHDD1sudo mount -t auto / dev / sdb1 / media / USBHDD2
En este punto, tenemos los dos discos duros externos montados en los directorios USBHDD1 y USBHDD2, respectivamente. Es hora de agregar un directorio específico a ambas unidades para almacenar nuestras carpetas compartidas (por el bien de mantener las cosas ordenadas y compartimentar nuestro trabajo en las unidades). Ingrese los siguientes comandos:
sudo mkdir / media / USBHDD1 / sharessudo mkdir / media / USBHDD2 / shares
Ahora es el momento de instalar Samba para que podamos acceder al almacenamiento desde cualquier otro lugar de la red. En la línea de comando ingrese:
sudo apt-get install samba samba-common-bin
Cuando se le solicite continuar, escriba Y e ingrese. Siéntese y relájese mientras todo se descomprime e instala. Una vez que el paquete Samba termina de instalarse, es hora de realizar una pequeña configuración. Antes de hacer cualquier otra cosa, hagamos una copia de seguridad del archivo de configuración de Samba en caso de que necesitemos volver a él. En la línea de comando, escriba la siguiente línea de comando:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Esto simplemente crea una copia de seguridad del archivo de configuración con el nombre de archivo smb.conf.old y lo deja en el mismo directorio que el archivo de configuración original.
Una vez que hayamos creado la copia de seguridad, es hora de realizar una edición básica en el archivo de configuración de Samba. Escriba lo siguiente en la línea de comando:
sudo nano /etc/samba/smb.conf
Esto abrirá el editor de texto nano y nos permitirá hacer algunos cambios simples. Si es la primera vez que usa nano, le recomendamos encarecidamente que consulte La guía para principiantes de Nano, el editor de texto de la línea de comandos de Linux . Debería ver algo como lo siguiente en la ventana de su terminal:
Nano está completamente controlado por teclado, use las teclas de flecha para mover el cursor a la ubicación que desea editar. Al hacer clic en los ajustes de configuración, verá algunos que vale la pena tomar nota o cambiar.
El primero es el identificador del grupo de trabajo, por defecto workgroup = WORKGROUP. Si está usando un nombre diferente para su grupo de trabajo en casa, continúe y coloque la flecha para cambiarlo ahora; de lo contrario, déjelo como predeterminado.
Nuestra siguiente parada es activar la autenticación de usuario para nuestro almacenamiento de samba; de lo contrario, cualquier persona con acceso general a nuestra red (como usuarios invitados de Wi-Fi) podrá entrar directamente. Desplácese hacia abajo en el archivo de configuración de Samba hasta llegar al sección que dice:
Elimine el símbolo # de la línea security = user (resaltándolo con el cursor y presionando eliminar) para habilitar la verificación de nombre de usuario / contraseña para los recursos compartidos de Samba.
A continuación, agregaremos una sección completamente nueva al archivo de configuración. Desplácese hasta el final del archivo e ingrese el siguiente texto:
[Backup]
comment = Carpeta de respaldo
ruta = / media / USBHDD1 / shares
usuarios válidos = @users
grupo de fuerza = usuarios
crear máscara = 0660
máscara de directorio = 0771
solo lectura = no
Nota : Lo que ponga entre corchetes en la línea superior será el nombre de la carpeta tal como aparece en el recurso compartido de red. Si desea otro nombre que no sea "Copia de seguridad", ahora es el momento de editarlo.
Presione CTRL + X para salir, presione Y cuando se le pregunte si desea mantener los cambios y sobrescribir el archivo de configuración existente. Cuando vuelva a la línea de comandos, ingrese el siguiente comando para reiniciar los demonios de Samba:
sudo /etc/init.d/samba restart
En este punto, necesitamos agregar un usuario que pueda acceder a los recursos compartidos de samba de Pi. Vamos a crear una cuenta con las copias de seguridad de los nombres de usuario y las copias de seguridad de las contraseñas4ever. Puede hacer que su nombre de usuario y contraseña sea lo que desee. Para hacerlo, escriba los siguientes comandos:
sudo useradd respaldos -m -G usuarioscopias de seguridad de sudo passwd
Se le pedirá que ingrese la contraseña dos veces para confirmar. Después de confirmar la contraseña, es hora de agregar "copias de seguridad" como usuario legítimo de Samba. Ingrese el siguiente comando:
sudo smbpasswd -a copias de seguridad
Ingrese la contraseña para la cuenta de respaldo cuando se le solicite. Una vez que haya creado la cuenta de usuario y la contraseña, no es necesario que reinicie el demonio Samba de nuevo, ya que ya le hemos indicado que esté atento a los usuarios autenticados. Ahora podemos saltar a cualquier máquina compatible con Samba en nuestra red y probar la conectividad al recurso compartido de red.
Desde una máquina de Windows cercana, abrimos el explorador de archivos de Windows, hicimos clic en Red, confirmamos que el nombre de host RASPBERRYPI estaba en el grupo de trabajo WORKGROUPS y hicimos clic en la carpeta compartida Backups:
Cuando se le solicite, ingrese las credenciales que creó en el paso anterior (si está siguiendo línea por línea, el inicio de sesión son copias de seguridad y la contraseña es backups4ever).
Una vez que se acepten sus credenciales, se le tratará en una carpeta vacía, ya que todavía no hay nada en el recurso compartido. Para comprobar que todo funciona correctamente, creemos un archivo simple desde la computadora con la que probamos la conexión (en nuestro caso, el escritorio de Windows 7). Crea un archivo txt así:
Ahora, desde la línea de comandos en la que hemos estado trabajando todo este tiempo, verifiquemos si el archivo que creamos en el escritorio de Windows aparece correctamente dentro del directorio compartido que creamos. En la línea de comando, escriba el siguiente comando:
cd / media / USBHDD1 / sharels
hello-is-it-me-you-are-looking-for.txt está en el directorio; ¡Nuestro sencillo experimento de directorio compartido es un éxito!
Antes de salir de esta sección del tutorial, solo tenemos una cosa más por hacer. Necesitamos configurar nuestro Pi para que cuando se reinicie monte automáticamente los discos duros externos. Para hacerlo, necesitamos iniciar el editor nano y realizar una edición rápida. En la línea de comando, escriba:
sudo nano / etc / fstab
Esto abrirá la tabla de sistemas de archivos en nano para que podamos agregar algunas entradas rápidas. Dentro del editor nano agregue las siguientes líneas:
/ dev / sda1 / media / USBHDD1 auto noatime 0 0/ dev / sda2 / media / USBHDD2 tiempo de inactividad automático 0 0
Presione CTRL + X para salir, presione Y para guardar y sobrescriba el archivo existente.
Si solo está utilizando un único disco duro para compartir en red de forma sencilla sin redundancia, ¡eso es todo! Ya ha terminado con el proceso de configuración y puede comenzar a disfrutar de su NAS de ultra bajo consumo.
Configuración de su Raspberry Pi NAS para una redundancia de datos simple
Hasta ahora, nuestro Raspberry Pi NAS está conectado a la red, la transferencia de archivos funciona, pero falta algo evidente. Ese disco duro secundario está configurado pero completamente inactivo.
En esta sección del tutorial, usaremos dos herramientas de Linux simples pero poderosas, rsync y cron, para configurar nuestro Raspberry Pi NAS para realizar un espejo de datos nocturno desde la carpeta / shares / en la unidad principal hasta el / share / carpeta en la unidad secundaria. Esta no será una duplicación de datos similar a RAID en tiempo real, pero una copia de seguridad de datos diaria (o semidiaria) en la unidad secundaria es una excelente manera de agregar otra capa de seguridad de datos.
Primero, necesitamos agregar rsync a nuestra instalación de Raspbian. Si esta es la primera vez que usa rsync y le gustaría obtener una mejor descripción general del comando, le recomendamos que consulte Cómo utilizar rsync para hacer una copia de seguridad de sus datos en Linux .
En la línea de comando ingrese el siguiente comando:
sudo apt-get install rsync
Una vez que rsync está instalado, es hora de configurar un trabajo cron para automatizar el proceso de copia de archivos desde USBHDD1 a USBHDD2. En la línea de comando ingrese el siguiente comando:
crontab -e
El comando abrirá su tabla de programación cron en el editor de texto nano, que debería resultarle bastante familiar en este punto del tutorial. Continúe y desplácese hacia abajo hasta la parte inferior del documento e ingrese la siguiente línea:
0 5 * * * rsync -av --delete / media / USBHDD1 / shares / media / USBHDD2 / shares /
Este comando especifica que todos los días a las 5:00 a.m. (la parte 0 5), todos los días (* * *, comodines en el año, mes, día), queremos que rsync compare los dos directorios, copiando todo desde HDD1 a HDD2 y eliminando cualquier cosa en el directorio de respaldo que ya no coincida con algo en el directorio principal, es decir Si tenemos un archivo de película en HDD1 que eliminamos, también queremos que ese archivo se elimine de la copia de seguridad en la próxima sincronización.
La parte importante sobre la configuración de este comando es que seleccione una hora que no interfiera con ninguna otra actividad de red en las carpetas compartidas que haya programado. Por ejemplo, si está utilizando su Raspberry Pi NAS como destino de copia de seguridad para algún tipo de software automatizado que copia sus archivos en el NAS a las 5 a.m.todas las mañanas, entonces debe ajustar el tiempo de copia de seguridad en su software de copia de seguridad o necesita para ajustar el tiempo para el trabajo cron en la Pi, pero no puede hacer que la copia de seguridad remota descargue datos en el recurso compartido de red y la Raspberry Pi intente sincronizar esos datos entre unidades locales al mismo tiempo.
Una vez que haya ingresado la entrada crontab, haga clic en CTRL + X para salir y guardar el archivo. Si desea ejecutar el rsync inmediatamente para que los datos se reflejen más rápido y hacer que el trabajo cron inicial sea un poco más liviano en el sistema, continúe e ingrese el mismo comando rsync que puso en el crontab en la línea de comando así:
rsync -av --delete / media / USBHDD1 / shares / media / USBHDD2 / shares /
¡Eso es! Todo lo que necesita hacer en este punto es verificar su Raspberry Pi en el próximo día o dos para asegurarse de que el trabajo programado se esté ejecutando como se esperaba y los datos de
/ USBHDD1 / comparte /
está apareciendo en
/ USBHDD2 / comparte /
.
A partir de ahora, todo lo que ponga en su NAS con Raspberry Pi se reflejará diariamente en ambos discos duros.
Antes de dejar el tema por completo, aquí hay algunos artículos adicionales de How-To Geek que quizás desee consultar para agregar más fuerza a su nuevo NAS con Raspberry Pi:
- Cómo hacer una copia de seguridad de su cuenta de Gmail usando su PC Ubuntu —Aunque las instrucciones son para Ubuntu, puede modificar fácilmente el tema de Raspbian para convertir su Pi NAS en una máquina automática de respaldo de correo electrónico.
- ¿Qué archivos debe respaldar en su PC con Windows? —Si no está seguro de qué archivos debería realizar una copia de seguridad en su NAS, este es un buen lugar para comenzar.
- Cómo hacer una copia de seguridad de sus datos de forma remota y gratuita con CrashPlan — CrashPlan es una aplicación de copia de seguridad gratuita disponible para máquinas con Windows, Mac y Linux que facilita la programación de copias de seguridad periódicas en un NAS.
¿Tiene un proyecto de Raspberry Pi que le encantaría que lo emprendiéramos? Pequeños o grandes, nos encanta jugar con el Pi; exprese sus ideas en los comentarios.