Taula de continguts:

2 Raspberry Pis per a un RAID remot fàcil i econòmic: 19 passos
2 Raspberry Pis per a un RAID remot fàcil i econòmic: 19 passos

Vídeo: 2 Raspberry Pis per a un RAID remot fàcil i econòmic: 19 passos

Vídeo: 2 Raspberry Pis per a un RAID remot fàcil i econòmic: 19 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Desembre
Anonim
2 Raspberry Pis per RAID remot fàcil i econòmic
2 Raspberry Pis per RAID remot fàcil i econòmic
2 Raspberry Pis per RAID remot fàcil i econòmic
2 Raspberry Pis per RAID remot fàcil i econòmic

Propòsit

  1. En cas d’incident a casa, vull poder recuperar els meus documents digitals principals (imatges, documents d’identitat, etc.) i compartir-los opcionalment.
  2. Vull compartir aquesta solució amb algú altre (algú de confiança, pares o amics)
  3. No vull dependre d'un núvol públic (subscripció, tarifes, GTC en evolució, etc.)

Principi

  1. Creeu 2 màquines d'emmagatzematge idèntiques i poseu-les en 2 ubicacions diferents (per exemple, 2 cases).
  2. Assigneu un espai d'emmagatzematge dedicat a cada ubicació de cada equip.
  3. Sincronitzeu regularment els 2 espais d'emmagatzematge.

Subministraments

Maquinari

Cada màquina té:

  • 1x Raspberry Pi 4 B 1 GB
  • 1 caixa per a Raspberry Pi 4
  • 1x font d'alimentació USB C 5V 3A
  • 1x targeta SD Kingston SDC10 / 16GB
  • 1x NAS HDD 1To WD Red Mobile
  • 1 x caixa de disc dur BX-2525U3

Programari Windows

  • balenaEtcher
  • L'escriptori Raspbian Buster està ple
  • mobaxterm
  • Visor VNC (opcional)

Paquets Raspbian

  • Rsync
  • samba

Pas 1: Pro i contres

Pro i contres
Pro i contres

Avantatges

  1. Aquesta solució és barata: no tinc cap quota de subscripció i el maquinari és assequible.
  2. Aquest "RAID remot" és bastant fàcil de fer. No necessito material ni eina addicional per fer-ho.
  3. El Raspberry Pi es pot utilitzar per a aplicacions addicionals com a media center (kodi, …) o domotic (jeedom, domoticz, …).
  4. Les meves dades no estan disponibles en un núvol públic que podria ser un objectiu de pirateria massiva de dades.
  5. Amb un disc dur de 1To, el consum elèctric mitjà és el mateix que un núvol.
  6. El tallafoc del meu enrutador i el xifratge SSH de la meva connexió protegeixen els intercanvis de dades.

Inconvenients / millores

  1. Algú més té una còpia dels meus documents. En el meu cas, aquesta persona és de la meva família, per tant, no m’importa.
  2. Utilitzo el compte predeterminat "pi", amb una contrasenya dedicada per a les dues màquines. Podria assegurar l'accés una mica més mitjançant un compte específic separat a cada costat en lloc del compte "pi".
  3. Confio en el meu proveïdor de serveis d’Internet i el xifratge SSH per a la seguretat de la connexió entre les dues cases. Es pot investigar per millorar el nivell de seguretat.
  4. De moment, només he fet 2 particions per unitat. Una tercera partició més petita (~ 5Go) podria ser útil per a altres activitats de Raspbian, per preservar la targeta µSD.

Pas 2: prepareu SD: pengeu Raspbian

Des d’un ordinador (Windows 10 en el meu cas), seguiu la guia oficial d’instal·lació (https://www.raspberrypi.org/downloads/raspbian/) per instal·lar "Raspbian Buster with desktop".

Afegiu un fitxer buit anomenat "ssh" al disc "/ boot /"

Afegiu un fitxer anomenat "wpa_supplicant.conf" al disc "/ boot /"

Obriu wpa_supplicant.conf i introduïu el text:

país = EUA

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

Deseu i tanqueu el fitxer.

Pas 3: Prepareu SD: personalitzeu la targeta

Prepareu SD: personalitzeu la targeta
Prepareu SD: personalitzeu la targeta

Afegiu un fitxer buit anomenat "ssh" al disc "/ boot /"

Afegiu un fitxer anomenat "wpa_supplicant.conf" al disc "/ boot /"

Obriu wpa_supplicant.conf i introduïu el text:

país = EUA

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

Deseu i tanqueu el fitxer.

Pas 4: prepareu el Raspberry Pi

Introduïu la targeta SD al Pi

Enceneu el Raspberry Pi i trieu una manera d'obrir un escriptori:

  1. Utilitzant cable HDMI, pantalla, teclat i ratolí
  2. Utilitzant VNC des del vostre ordinador.

Per obtenir més informació, visiteu

Pas 5: manera 1: connecteu-vos al Pi mitjançant la pantalla, el teclat i el ratolí

Manera 1: connecteu-vos al Pi mitjançant la pantalla, el teclat i el ratolí
Manera 1: connecteu-vos al Pi mitjançant la pantalla, el teclat i el ratolí
Manera 1: connecteu-vos al Pi mitjançant la pantalla, el teclat i el ratolí
Manera 1: connecteu-vos al Pi mitjançant la pantalla, el teclat i el ratolí

Connecteu el port Raspberry Pi HDMI0 a una pantalla amb un cable micro-hdmi a hdmi

Connecteu un teclat i un ratolí USB (o un mini teclat sense fils com un "Rii Mini i8 Wireless")

Connecteu la font d'alimentació USB C i enceneu el Raspberry Pi.

Raspbian començarà a la vostra pantalla.

Un cop aparegui l'escriptori, responeu al tauler de configuració per acabar la configuració del vostre Pi.

Pas 6: manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador

Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador
Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador
Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador
Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador
Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador
Manera 2: connecteu-vos al Pi mitjançant VNC des del vostre ordinador

Connecteu el Raspberry Pi a la vostra xarxa ethernet (per wifi o amb un cable).

Des de l’ordinador, obriu Mobaxterm (o massilla), inicieu una nova connexió ssh (pi d’inici de sessió, contrasenya raspberry) i configureu el vostre Pi:

ssh pi @ raspberry_ip

sudo raspi-config

  • a l'opció Interfacing / VNC: defineix Sí
  • a Opcions avançades / Resolució: configureu el mode DMT 82 1920x1080 60Hz 16: 9
  • a Opcions avançades / controlador GL: configureu la unitat d'escriptori original no GL de G1 Legacy

Deseu i sortiu de raspi-config

Reinicieu el Pi:

sudo reiniciar

Des de l’ordinador, obriu el VNC Viewer i connecteu-vos al Pi mitjançant l’usuari pi, contrasenya raspberry: hauria d’aparèixer l’escriptori Pi.

Respon al tauler de configuració per acabar la configuració del teu Pi.

Un cop hàgiu canviat la contrasenya Pi, la connexió VNC es podria tancar. Reinicieu-lo amb la vostra nova contrasenya.

Pas 7: prepareu el disc dur

Prepareu el disc dur
Prepareu el disc dur
Prepareu el disc dur
Prepareu el disc dur
  1. Connecteu el disc dur al vostre ordinador.
  2. Obriu el gestor de particions del Windows, seleccioneu el vostre disc dur i creeu 2 particions NTFS (o 3, si voleu un petit espai lliure per conservar la targeta µSD). Per exemple, anomeno les dues parts "loic" i "vincent"
  3. Connecteu el disc dur al Pi: Raspbian hauria de muntar automàticament 2 discs a l’escriptori. Les unitats estan enllaçades a la carpeta / media / pi / loic / i / media / pi / vincent /

Pas 8: Configureu Rsync: creeu un script de sincronització

Configureu Rsync: creeu un script de sincronització
Configureu Rsync: creeu un script de sincronització

obriu una sol·licitud a l'escriptori Pi

A / home / pi /, creeu un script:

mkdir / home / pi / scriptsnano / home / pi / scripts / SB_sync

introduïu el text:

#! / bin / sh

######## A CONFIGURER ########### ip_distante = "192.168.0.19" port_distant = "xxxxx" media_local = "/ media / pi / loic" media_distant = "pi @ $ { ip_distante}: / media / pi / loic "machine_locale =" RPi4_loic "machine_distante =" RPi4_vincent "################################ ## log_local = "/ home / pi / SB_sync_logs" log_distant = "pi @ $ {ip_distante}: / home / pi / SB_sync_logs" currentDate = `data +"% Y-% m-% d% T "` mkdir -p / home / pi / SB_sync_logs #synchro de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / echo $ currentDate> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo Sincronització en curs: de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / ">> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} $ {machine_distante} $ { media_distant} / ">> $ {log_distant} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo" Compte `whoami`"> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}. log eco "--------- -Début: "` data + "% Y-% m-% d% T" `" ---------- ">> $ {log_local} / 1. $ {Machine_locale} _vers _ $ {machine_distante}.log / usr / bin / rsync -avhPS --chmod = a + rwx --delete -e "ssh -p $ {port_distant}" $ {media_local} / $ {media_distant} / 2> & 1 >> $ {log_local} /1.${machine_locale}_vers_${machine_distante}.log

eco "---------- Fin:" `data +"% Y-% m-% d% T "` "----------" >> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}.log

rm $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}

Configureu les línies 3 a 7:

  • substituïu "loic" i "vincent" pel nom de les vostres unitats
  • port_distant: per ara, utilitzeu 22 com a port remot. En l'últim pas, l'haureu de substituir per un altre valor que trieu (com a exemple: 34567)

desa el fitxer i surt.

Pas 9: Configureu Rsync: realitzeu un sincronisme un cop al dia

A la sol·licitud, obriu el crontab:

sudo crontab -u pi -e

al final del fitxer, afegiu un cron:

0 1 * * * / usr / bin / flock -xn /tmp/flocktmp.lock -c "/ home / pi / scripts / SB_sync"

En aquest cron, el script SB_sync s'iniciarà cada dia a la 1:00 AM. Trieu l'hora que vulgueu, però canvieu-la entre les dues màquines, de manera que es realitzaran les dues sincronitzacions una darrere l'altra.

Deseu i tanqueu el fitxer.

Pas 10: prepareu Samba

Samba connecta un emmagatzematge Linux a la xarxa de Windows.

Obriu una sol·licitud i instal·leu els paquets:

sudo apt-get install samba samba-common-bin -y

Autoritzeu el compte "pi" per accedir a Samba:

sudo smbpasswd -a pi

Deseu el fitxer de configuració predeterminat de Samba:

cp /etc/samba/smb.conf /etc/samba/smb.old

Obriu el fitxer:

sudo nano /etc/samba/smb.conf

I al final del fitxer, afegiu aquestes línies per configurar la vostra unitat per compartir-la:

[DOCUMENTS LOIC]

comentari = NAS de loic path = / media / pi / loic usuaris vàlids = @users force group = usuaris crea màscara = 0660 directori màscara = 0775 només lectura = no navegable = sí públic = sí

Deseu el fitxer i sortiu.

Pas 11: Samba [opcional]: configureu l'accés de lectura a la unitat de xarxa Vincent

Obriu el fitxer de configuració de Samba:

sudo nano /etc/samba/smb.conf

I al final del fitxer, afegiu aquestes línies per configurar l’altra unitat a la qual vulgueu accedir:

[DOCUMENTS VINCENT]

comentari = backup de vincent path = / media / pi / vincent usuaris vàlids = @users force group = usuaris crea màscara = 0660 directori màscara = 0775 només lectura = sí navegable = sí públic = sí

Deseu el fitxer i sortiu.

Pas 12: Samba [opcional]: accés al registre

Obriu el fitxer de configuració de Samba:

sudo nano /etc/samba/smb.conf

I al final del fitxer, afegiu aquestes línies per accedir des de Windows a l’estat de sincronització:

[LOG SYNCHRO] comment = "registres de sincronització entre màquines"

path = / home / pi / SB_sync_logs / valid users = @users force group = usuaris crea màscara = 0660 directori màscara = 0771 només lectura = sí navegable = sí públic = sí

Deseu el fitxer i sortiu.

Pas 13: Samba [opcional]: amaga la carpeta inútil "/ home / pi"

Obriu el fitxer de configuració de Samba:

sudo nano /etc/samba/smb.conf

Al fitxer, cerqueu les línies següents i afegiu ";" al principi per comentar-ho:

; [llars]

; comentari = Directoris d'inici; navegable = no; només de lectura = sí; crear màscara = 0700; màscara de directori = 0700; usuaris vàlids =% S

Deseu el fitxer i sortiu.

Pas 14: Accés a la unitat de xarxa des de Windows

Accés a la unitat de xarxa des de Windows
Accés a la unitat de xarxa des de Windows

Des de l’ordinador Windows, obriu un explorador.

Feu clic a "Xarxa" i actualitzeu la finestra.

Apareixerà un ordinador amb el nom del vostre Rapberry Pi.

Obriu-lo mitjançant el compte "pi" i la vostra contrasenya.

Hauríeu de veure les carpetes afegides anteriorment al fitxer de configuració de Samba.

Pas 15: prepareu la segona màquina

La vostra primera màquina està preparada.

Repetiu els passos anteriors per a la segona màquina, substituint (per exemple) "loic" per "vincent".

Un cop preparades les dues màquines, haureu d'intercanviar la clau ssh per autoritzar l'accés entre elles, consulteu el pas següent.

Pas 16: Creeu SSH entre màquina local i remota

Per simplificar l’intercanvi de la clau SSH, cada Raspberry Pi s’haurà de connectar a la mateixa xarxa ethernet.

A cada Raspberry Pi, obriu una sol·licitud a l'escriptori Pi i introduïu:

ssh-keygen -q -t rsa -b 2048 -N"

ssh-copy-id pi @ IP_of_other_raspberry

Pas 17: proveu el sincronisme

Proveu el sincronisme
Proveu el sincronisme
Proveu el sincronisme
Proveu el sincronisme
Proveu el sincronisme
Proveu el sincronisme

Les vostres 2 màquines estan a punt.

Podeu provar el sincronisme a l'ordinador Windows:

  1. afegiu un fitxer a la vostra unitat de xarxa local (és a dir, / Rpi4-loic / documents loic / test / test.txt),
  2. executeu l'script a l'escriptori local Pi (executeu SB_sync a / home / pi / scripts)
  3. comproveu que el fitxer aparegui a la unitat de xarxa de còpia de seguretat (és a dir, / Rpi4-vincent / documents loic / test / test.txt).

Hauríeu de poder llegir i escriure fitxers a / Rpi4-loic / documents loic / test \, però només llegir fitxers a / Rpi4-vincent / documents loic / test \.

El següent i darrer pas és moure la màquina "remota" dins d'una xarxa d'un altre lloc i configurar una connexió entre els dos encaminadors a través d'Internet.

Pas 18: configureu les rutes d'Internet

En el meu cas, per a la màquina local de casa, em subscric a un accés a Internet que inclou un enrutador i una IP fixa.

Per a la màquina remota, el proveïdor de serveis d'Internet és el mateix, de manera que la configuració és més fàcil i no necessito DNS.

A casa meva:

  • Al meu enrutador, creo la ruta d'un port des de "remote_internet_fixed_IP" a "port_34567" fins a "my_raspberry_IP" al port "22"
  • Al meu raspberry, a / home / pi / scripts / SB_sync, substitueixo el valor "port_distant" "22" per "port_34567"

Al lloc remot:

  • Al router, creo la ruta d'un port des de "my_internet_fixed_IP" a "port_34567" fins a "my_raspberry_IP" al port "22"
  • Al raspberry remot, a / home / pi / scripts / SB_sync, substitueixo el valor "port_distant" "22" per "port_34567"

Per a la vostra sol·licitud:

  • Heu de substituir les vostres adreces IP i port_34567.
  • En cas d’IP dinàmic d’Internet, us heu de subscriure a un DNS.

Amb l'ajuda del propietari del gerd remot, repetiu la prova del pas anterior.

Acabat!

Pas 19: Bibliografia

Instal·leu Raspbian a la targeta µSD

Personalitzeu la targeta µSD després de la formació (SSH i WiFi)

Utilitzant el vostre Raspberry Pi

Raspberry Pi Sync amb rysnc per feralhosting

Port SSH específic per a Rsync

Instal·leu i utilitzeu Samba

Recomanat: