Cómo convertir una Raspberry Pi en un dispositivo de almacenamiento de red de bajo consumo
Mezcle una Raspberry Pi y un puñado de discos duros externos baratos y tendrá la receta de un dispositivo de almacenamiento de red ultra-bajo y siempre encendido. Sigue leyendo mientras te mostramos cómo configurar tu propio NAS basado en Pi.
¿Por qué quiero hacer esto??
La ventaja de tener un dispositivo de almacenamiento de red siempre encendido es que es extremadamente conveniente tener sus datos (o destino de respaldo) siempre accesibles a las computadoras tanto dentro como fuera de su red. El inconveniente, en la mayoría de los casos, es que está consumiendo una cantidad considerable 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 en energía por año. Un dispositivo de almacenamiento en red basado en Raspberry Pi, por otro lado, consume alrededor de $ 5 en energía por año.
Seremos los primeros en garantizarle que un servidor completo tendrá más espacio de almacenamiento y la capacidad de hacer más trabajo (como la transcodificación de una colección de videos de varios terabytes en un lapso de tiempo razonable). Sin embargo, para la mayoría de las personas, el propósito principal de tener una computadora siempre encendida en algún lugar de la casa es servir como servidor de archivos y repositorio de respaldo. Para tales tareas, la Raspberry Pi es lo suficientemente poderosa y le ahorrará una gran cantidad de cambio en el uso del poder..
Qué necesito?
Este tutorial se basa en nuestro tutorial anterior: la Guía HTG para comenzar a utilizar Raspberry Pi y supondremos que ya lo ha completado; en otras palabras, ya tiene su Raspberry Pi, la tiene encendida, conectada a un mouse y teclado , y has instalado Raspbian en él.
Además del equipo que necesitará del tutorial de Introducción a Raspberry Pi, solo tendrá el siguiente hardware:
- Un disco duro externo USB (como mínimo) para copias de seguridad de red simples y servicio de archivos
o
- Dos discos duros externos USB (como mínimo) para redundancia de datos locales
¡Eso es! Si solo desea una unidad conectada a la red simple, solo necesitará una unidad de disco duro. Recomendamos encarecidamente utilizar al menos dos unidades de disco duro para permitir la redundancia de datos locales (en la Raspberry Pi). Para los fines de este tutorial, estamos utilizando un par de discos duros externos portátiles Seagate Backup Plus 1TB. Son muy pequeños, no requieren una fuente de alimentación externa y estaban a la venta cuando compramos piezas.
Puede usar cualquier unidad de disco duro externa que tenga a mano, si es posible, es ideal utilizar unidades pequeñas de bajo consumo, ya que todo el tema del proyecto es configurar un NAS pequeño y de bajo consumo que puede apartar del camino y olvidarse de.
Antes de continuar, hay un par de opciones de diseño que hemos tomado en términos de cómo estamos configurando nuestro Raspberry Pi NAS que 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 que se ajusten mejor a sus necesidades y cómo utiliza las computadoras en su red..
Primero, estamos usando discos duros con formato NTFS. Si la Raspberry Pi NAS falla por alguna razón o queremos copiar rápidamente la información 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 NAS y conectarlas directamente a uno de los muchos Windows máquinas que utilizamos todos los días.
En segundo lugar, estamos utilizando Samba para nuestros recursos compartidos de red, de nuevo debido a la conveniencia de unir el Raspberry Pi NAS con nuestra red predominantemente de Windows.
Preparación y montaje de los discos duros externos
Una vez que haya reunido el hardware, seguido del tutorial Introducción a Raspberry Pi para ponerse al día (y ejecutar Raspian), es hora de comenzar a configurar su Pi como NAS.
La primera tarea es conectar los discos duros a la Raspberry Pi (o al concentrador USB adjunto, dependiendo de su configuración y de si los discos duros son autoalimentados o externos). Una vez que se conectan los discos duros y se enciende el Pi, es hora de empezar a trabajar.
Nota: Estamos utilizando 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 de lo contrario interactuar con el segundo disco duro..
Vamos a hacer todo nuestro trabajo dentro de la terminal. Como tal, puedes trabajar directamente en tu Raspberry Pi usando LXTerminal en Raspian o puedes SSH en tu 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 soporte para Rasbian para discos con formato NTFS. Para ello escribe el siguiente comando:
sudo apt-get install ntfs-3g
Los paquetes se descargarán, desempaquetarán e instalarán en un minuto o dos. Una vez que el paquete NTFS está instalado, es hora de buscar las particiones desmontadas de los discos duros externos conectados.
sudo fdisk -l
Como mínimo, debería ver dos discos, si ha agregado en un disco secundario para la creación de reflejo de datos (como lo hemos hecho), debería ver tres como:
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 vamos a hacer un directorio llamado USBHDD1 y USBHDD2 para cada unidad. Primero tenemos que hacer las unidades. En la línea de comandos ingrese los siguientes comandos:
sudo mkdir / media / USBHDD1
sudo 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 comandos ingrese los siguientes comandos:
sudo mount -t auto / dev / sda1 / media / USBHDD1
sudo 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 mantener 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 / acciones
sudo mkdir / media / USBHDD2 / acciones
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-common-bin
Cuando se le solicite continuar, escriba Y y escriba. Siéntese y relájese mientras todo se desempaqueta e instala. Una vez que el paquete Samba termina de instalarse, es hora de hacer una pequeña configuración. Antes de hacer algo más, 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 que consulte la Guía para principiantes de Nano, el editor de texto de línea de comandos de Linux. Debería ver algo como lo siguiente en la ventana de su terminal:
Nano está completamente controlado por el teclado, use las teclas de flecha para mover el cursor a la ubicación que desea editar. A medida que hace clic en los ajustes de configuración, verá algunas cosas que vale la pena tomar nota o cambiar.
El primero es el identificador de grupo de trabajo, por defecto, grupo de trabajo = WORKGROUP. Si está usando un nombre diferente para su grupo de trabajo en el hogar, continúe y haga una 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 los usuarios de Wi-Fi invitados) podrá entrar directamente. Desplácese hacia abajo en el archivo de configuración de Samba hasta que llegue al sección que lee:
Elimine el símbolo # de la línea de seguridad = usuario (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:
[Apoyo]
comment = Carpeta de respaldo
ruta = / media / USBHDD1 / acciones
usuarios válidos = @users
grupo de fuerza = usuarios
crear máscara = 0660
Máscara de directorio = 0771
solo lectura = no
Nota: Cualquier cosa 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, debemos agregar un usuario que pueda acceder a los recursos compartidos de samba de los Pi's. Vamos a hacer una cuenta con las copias de seguridad del nombre de usuario y la contraseña backups4ever. Puedes hacer tu nombre de usuario y contraseña como desees. Para ello escribe los siguientes comandos:
sudo useradd copias de seguridad -m -G usuarios
sudo passwd backups
Se le pedirá que escriba 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 de 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 daemon de Samba nuevamente, ya que 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 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 Copias de seguridad:
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 enviará una carpeta vacía, ya que todavía no hay nada en el recurso compartido. Para verificar 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 / acciones
ls
hello-is-it-me-you-are-looking-for.txt está en el directorio; Nuestro sencillo experimento de directorio compartido es un éxito.!
Antes de dejar esta sección del tutorial, solo tenemos una cosa más que 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 hacer una edición rápida. En el tipo de línea de comando:
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 auto noatime 0 0
Presione CTRL + X para salir, presione Y para guardar y sobrescribir el archivo existente.
Si solo está utilizando un solo disco duro para compartir la red de manera simple y sin redundancia, ¡eso es todo! Ya ha terminado con el proceso de configuración y puede comenzar a disfrutar de su NAS de potencia ultra baja..
Configurando su Raspberry Pi NAS para una simple redundancia de datos
Hasta ahora, nuestro Raspberry Pi NAS está conectado a la red, la transferencia de archivos funciona, pero falta una cosa evidente. Ese disco duro secundario está configurado pero totalmente inactivo..
En esta sección del tutorial usaremos dos herramientas de Linux simples pero potentes, 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 la / share / carpeta en la unidad secundaria. Esto no va a ser una duplicación de datos tipo RAID en tiempo real, pero una copia de seguridad de datos diaria (o semi-diaria) 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 Rasbian. Si es la primera vez que usa rsync y desea obtener una mejor visión general del comando, le recomendamos que consulte Cómo usar 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 se instala rsync, es hora de configurar un trabajo cron para automatizar el proceso de copia de archivos desde el 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 nano texto, que debería ser bastante familiar para usted 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 AM (la parte 0 5), todos los días (* * *, comodines en el año, mes, puntos del día), queremos que rsync compare los dos directorios, copiando todo desde HDD1 a HDD2 y borrando cualquier cosa en el directorio de respaldo que ya no coincida con algo en el directorio primario, 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 la red en las carpetas compartidas que haya programado. Por ejemplo, si está utilizando su Raspberry Pi NAS como destino de respaldo para algún tipo de software automatizado que copia sus archivos al NAS a las 5AM cada mañana, entonces debe ajustar el tiempo de respaldo en su software de respaldo o necesita para ajustar el tiempo para el trabajo cron en el Pi, pero no puede tener tanto la copia de seguridad remota que descarga los datos en el recurso compartido de red como la Raspberry Pi que intenta sincronizar esos datos entre las unidades locales al mismo tiempo.
Una vez que haya ingresado la entrada de crontab, haga clic en CTRL + X para salir y guardar el archivo. Si desea ejecutar 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, siga adelante e ingrese el mismo comando rsync que colocó en el crontab en la línea de comandos, así:
rsync -av --delete / media / USBHDD1 / shares / media / USBHDD2 / shares /
¡Eso es! Todo lo que necesita hacer en este momento es registrarse en su Raspberry Pi en uno o dos días para asegurarse de que el trabajo programado se está ejecutando como se esperaba y que los datos de / USBHDD1 / acciones /
está apareciendo en / USBHDD2 / acciones /
.
De aquí en adelante, todo lo que coloque en su NAS impulsado por 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 tal vez desee consultar para agregar más energía a su nuevo NAS con Raspberry Pi:
- Cómo hacer una copia de seguridad de su cuenta de Gmail usando su PC de Ubuntu: aunque las instrucciones son para Ubuntu, puede modificarlas fácilmente para que Rasbian convierta su Pi NAS en una máquina automática de respaldo de correo electrónico.
- ¿Qué archivos debe hacer una copia de seguridad en su PC con Windows? Si no está seguro de qué archivos debe hacer 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 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.
¿Tienes un proyecto de Raspberry Pi que te gustaría que emprendiéramos? Grande o pequeño, nos encanta jugar con el sonido Pi apagado en los comentarios con tus ideas.