NAS casero, barato y bajo consumo con un SOC. Banana Pi M1

Rasperry Pi, Cubieboard, Orange Pi, Banana Pi...
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 224
Registrado: 04 Jul 2016, 11:17
Has thanked: 65 times
Been thanked: 57 times
Contactar:

NAS casero: 9. Servidor RSYNC

Mensaje por Naguissa » 27 Abr 2017, 12:26

9. Servidor RSYNC

Vamos a instalar un servidor RSYNC para poder sincronizar carpetas de manera eficiente. Además, lo usaremos luego para hacer copias de seguridad.

Todos los comandos aquí descritos se han de ejecutar como root (puedes usar "sudo su" desde un usuario normal para escalar a root).


Instalación

Instalamos el servidor, aunque ya debería estar instalado pues es un comando estándar:

Código: Seleccionar todo

apt-get install rsync


Configuración


Crearemos una configuración para el servidor rsync:

Código: Seleccionar todo

nano -w /etc/rsyncd.conf
Y escribiremos en ella:

Código: Seleccionar todo

pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
port = 873

[sync_files]
path = /mnt/rsync
comment = RSYNC FILES
read only = false
upload only = false
timeout = 300
auth users = nas
secrets file = /etc/rsyncd.secrets
Deberéis cambiar el 'path' para que se adapte a vuestra configuración. Además, podéis cambiar el valor de la etiqueta (sync_files), el de "comment". He puesto como usuario "nas", al que otorgaré la contraseña "nas", pero no corresponde al usuario del sistema sino a uno propio del rsync; podéis cambiarlo si deseáis.


Crearemos la carpeta donde sincronizar (cambiad el path si lo habéis cambiado en la configuración):

Código: Seleccionar todo

mkdir /mnt/rsync
chmod 777 /mnt/rsync

Luego editaremos los valores por defecto del servicio:

Código: Seleccionar todo

nano -w /etc/default/rsync
Y cambiaremos las siguientes lineas:

Código: Seleccionar todo

RSYNC_ENABLE=true

RSYNC_CONFIG_FILE=/etc/rsyncd.conf

RSYNC_NICE='18'

RSYNC_IONICE='-c3'

Con estas líneas pasamos el archivo de configuración del punto anterior al demonio rsync y lo configuramos como proceso de baja prioridad (tanto de CPU como de I/O) para que no tenga mucho impacto en el funcionamiento del NAS.


Ahora crearemos las credenciales del usuario nas de rsync:

Código: Seleccionar todo

echo nas:nas > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets


Ahora procedemos a activar el servicio:

Código: Seleccionar todo

systemctl restart rsync
systemctl enable rsync
Con ésto ya tenemos el servidor rsync funcionando.

Podemos probarlo con los siguientes comandos que listan la carpeta configurada en el 1er paso. El primero pedirá la contraseña y el segundo no:

Código: Seleccionar todo

rsync -rdt rsync://nas@<IP DEL NAS>/sync_files
RSYNC_PASSWORD="nas" rsync -rdt rsync://nas@<IP DEL NAS>/sync_files
Podéis ejecutarlas tanto desde el propio NAS o desde otro equipo de la red local.


Si deseáis probarlo en una máquina Windows tenéis un port gratuito de rsync hecho con cygwin. Tenéis que tener en cuenta que las rutas se usan con barra normal (/), no invertida(\) y que las unidades son /cygdrive/<LETRA UNIDAD SIN LOS DOS PUNTOS>. También tenéis disponible una GUI, tanto de servidor como de cliente rsync, llamada [url=http://www.aboutmyip.com/AboutMyXApp/De ... pDeltaCopy[/url]


Fuentes:

Tags:

Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 224
Registrado: 04 Jul 2016, 11:17
Has thanked: 65 times
Been thanked: 57 times
Contactar:

NAS casero: 10. Servidor de descargas mldonkey (emule, torrent, etc)

Mensaje por Naguissa » 08 May 2017, 10:43

10. Servidor de descargas mldonkey (eMule, torrent, KAD, DC, directas y otras)

Actualmente existen diversas maneras de descargar contenidos, destacando entre ellas Descargas directas, Torrent y eMule.

Hoy por hoy se suele instalar transmission-daemon para descargar torrents. Es una buena opción, pro para mi gusto queda un poco 'coja', pues se limita a ésta red.

Es por ello que yo prefiero usar un muy viejo conocido mío, el llamado mldonkey.

mlDonkey es un programa similar al daemon de Transmission pero compatible con Torrent, emule, KAD, Direct Connect y Descargas directas.




Instalación

Instalamos el servidor:

Código: Seleccionar todo

apt-get update
apt-get install mldonkey-server
Nos preguntará si deseamos ejecutarlo al arranque. Le diremos que no, debido a que podría ser que los discos, sobretodo los USB o RAID, no estuviesen aún listos.

Acto seguido editamos el archivo /etc/rc.local:

Código: Seleccionar todo

nano -w /etc/rc.local
Y como siempre, antes del "exit 0" final añadimos:

Código: Seleccionar todo

rm /var/lib/mldonkey/*.tmp
/etc/init.d/mldonkey-server restart

Si deseamos instalar una GUI en el servidor podríamos hacerlo ejecutando:

Código: Seleccionar todo

apt-get install mldonkey-gui


Configuración


Primero de todo cambiamos los valores por defeto:

Código: Seleccionar todo

nano -w /etc/default/mldonkey-server
Y cambiamos los valores por:

Código: Seleccionar todo

# MLDonkey configuration file
# This file is loaded by /etc/init.d/mldonkey-server.
# This file is managed using ucf(1).

MLDONKEY_DIR=/var/lib/mldonkey
MLDONKEY_USER=nas
MLDONKEY_GROUP=nas
MLDONKEY_UMASK=0000
LAUNCH_AT_STARTUP=false

Luego editamos:

Código: Seleccionar todo

nano -w /etc/default/mldonkey-server
Y cambiamos los valores por:

Código: Seleccionar todo

# MLDonkey configuration file
# This file is loaded by /etc/init.d/mldonkey-server.
# This file is managed using ucf(1).

MLDONKEY_DIR=/var/lib/mldonkey
MLDONKEY_USER=nas
MLDONKEY_GROUP=nas
MLDONKEY_UMASK=0000
LAUNCH_AT_STARTUP=true


Deberéis cambiar el 'MLDONKEY_DIR' para que se adapte a la configuración que deseéis.

Luego editaremos el archivo downloads.ini:

Código: Seleccionar todo

nano -w /var/lib/mldonkey/downloads.ini
Y pondremos:

Código: Seleccionar todo

run_as_useruid=1000
run_as_user="nas"
client_name="leech box"
El "client_name" podéis configurarlo a vuestro gusto.


Nos aseguramos que los permisos son correctos, forzamos su arranque, paramos el demonio:

Código: Seleccionar todo

chown -R nas:users /var/lib/mldonkey
chown -R nas:users /var/log/mldonkey/
/etc/init.d/mldonkey-server force-start
/etc/init.d/mldonkey-server stop
Permitimos el acceso a la red local editando el archivo downloads.ini:

Código: Seleccionar todo

cd /var/lib/mldonkey/
nano -w nano -w downloads.ini
Buscamos la opción "allowed_ips" y la cambiamos por:

Código: Seleccionar todo

allowed_ips = ["127.0.0.1"; "192.168.1.0/24"]
Ajustando el 192.168.1.0 por los datos de nuestra red local con 0 como ultimo número.


Ahora moveremos las carpetas de descargas y temporales para que coincidan con los discos que deseemos. Ésto dependerá de la configuración de nuestro NAS:

Código: Seleccionar todo

mkdir /media/usb0/mldonkey
mkdir /media/usb0/mldonkey/temp
mkdir /media/usb0/mldonkey/downloads
chown -R nas:users /media/usb0/mldonkey
cd /var/lib/mldonkey/
rm -R temp
rm -R incoming
ln -s /media/usb0/mldonkey/temp ./temp
ln -s /media/usb0/mldonkey/downloads ./incoming
/etc/init.d/mldonkey-server start


Opciones detalladas de cada tipo de descarga

Estas opciones con como cada uno de los servicios de descarga que soporta: torrent, edonkey, kad, DC...

No necesitamos cambiarlas aquí, usaremos una GUI desde otro PC para cambiarlas, como si estuviésemos usando el programa correspondiente en esa máquina.


Interfaces Gráficas de Usuario, GUIs

En la página oficial podéis ver que existen diversas GUIs para mlDonkey.

En mi caso, por lo completa, sencilla y compatible que es siempre he usado sancho.

Al arrancar nos pedirá la configuración inicial. Hemos de poner la IP de nuestro NAS, el usauario y pass "admin" y vacío que vienen por defecto y decirle que guarde la configuración y la ponga por defecto.

Una vez arrancado encontraréis todas las opciones en el menú "Tools" --> "Preferences".

Yo recomiendo desactivar las redes que no uséis, por cargar menos el sistema. Recordad que FileTP es para todo tipo de descargas directas, no la desactivéis si deseáis descargar archivos grandes usando mldonkey (por ejemplo, ISOs de Linux en conexiones limitadas).


mldonkey - sancho - NAS.png
Mldonkey conectado a través de Sancho descargando torrents




Fuentes:

Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 224
Registrado: 04 Jul 2016, 11:17
Has thanked: 65 times
Been thanked: 57 times
Contactar:

NAS casero: 11. Tercer USB en Banan Pi M1 (uso del puerto USB OTG)

Mensaje por Naguissa » 27 May 2017, 12:31

11. Tercer USB en Banan Pi M1 (uso del puerto USB OTG)

Nuestra Banana Pi M1 tiene 3 puertos USB directos, sin hub ni compartir ancho de banda, pero uno de ellos es el puerto microUSB que hace la función de USB-OTG.

Si intentamos usar este puerto con un adaptador microUSB OTG a USB veremos que no pasa nada, que no funciona como debería.

Ésto es así debido a que el puerto viene configurado como OTG y no funciona, al menos no lo hace coo un USB Host estándard.

Para ello, podemos cambiar la configuración de nuestra placa para que lo use como USB Host.



Configuración

Como root, decompilamos el archivo de configuración dtb de nuestro dispositivo y luego lo editamos:

Código: Seleccionar todo

cd /boot/dtb
dtc -I dtb sun7i-a20-bananapi.dtb  -O dts -o sun7i-a20-bananapi.dts
nano -w sun7i-a20-bananapi.dts

Buscamos la configuración del puerto, que está en otg, y la cambiamos a host.

Buscamos el siguiente bloque (podéis pulsar Buscar -Control + W- y buscar "otg" -con las comillas-):

Código: Seleccionar todo

                usb@01c13000 {
                        compatible = "allwinner,sun4i-a10-musb";
                        reg = <0x1c13000 0x400>;
                        clocks = <0x2 0x0>;
                        interrupts = <0x0 0x26 0x4>;
                        interrupt-names = "mc";
                        phys = <0x2f 0x0>;
                        phy-names = "usb";
                        extcon = <0x2f 0x0>;
                        allwinner,sram = <0x30 0x1>;
                        status = "okay";
                        dr_mode = "otg";
                        linux,phandle = <0x6f>;
                        phandle = <0x6f>;
                };

Y ponemos (el cambio está en la línea "dr_mode"):

Código: Seleccionar todo

                usb@01c13000 {
                        compatible = "allwinner,sun4i-a10-musb";
                        reg = <0x1c13000 0x400>;
                        clocks = <0x2 0x0>;
                        interrupts = <0x0 0x26 0x4>;
                        interrupt-names = "mc";
                        phys = <0x2f 0x0>;
                        phy-names = "usb";
                        extcon = <0x2f 0x0>;
                        allwinner,sram = <0x30 0x1>;
                        status = "okay";
                        dr_mode = "host";
                        linux,phandle = <0x6f>;
                        phandle = <0x6f>;
                };


Hacemos una copia de la configuración original, por si acaso, y recompilamos la configuración:

Código: Seleccionar todo

cp sun7i-a20-bananapi.dtb sun7i-a20-bananapi.dtb.old
dtc -I dts sun7i-a20-bananapi.dts -O dtb -o sun7i-a20-bananapi.dtb

Reiniciando el SoC podremos usar el puerto OTG como otro USB mas.



Fuentes:

angek
Mensajes: 1
Registrado: 01 Jun 2017, 23:47
Been thanked: 1 time

Re: NAS casero, barato y bajo consumo con un SOC. Banana Pi M1

Mensaje por angek » 02 Jun 2017, 00:07

Me encanto este proyecto, ya he comprado una banana pi m1+ y espero poder montar mi nas casero, sera mi primera experiencia son ordenadres de una sola placa.. Muchas gracias por subir toda esta info didáctica
He mirado en aliexpres y hay un multiplicador de sata, se podria hacer el raid en sata no? seria mejor que usb... no lo se... solo opino
Saludos

Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 224
Registrado: 04 Jul 2016, 11:17
Has thanked: 65 times
Been thanked: 57 times
Contactar:

Re: NAS casero, barato y bajo consumo con un SOC. Banana Pi M1

Mensaje por Naguissa » 02 Jun 2017, 07:03

Hola,

Gracias por el comentario.


Los multiplicadores SATA, sobretodo los baratos, tienden a calentarse y corromper ambos discos.

Además, de entrada no estaban soportados en las distribuciones de estas placas, aunque creo que ahora mismo ya sí.


Por ello es mucho mas seguro usar un adaptador USB - SATA, compatible con UAS si quieres mayor rendimiento.


Saludos


Fuentes:

Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado