Kazalo:

2 Raspberry Pis za enostaven in poceni oddaljeni RAID: 19 korakov
2 Raspberry Pis za enostaven in poceni oddaljeni RAID: 19 korakov

Video: 2 Raspberry Pis za enostaven in poceni oddaljeni RAID: 19 korakov

Video: 2 Raspberry Pis za enostaven in poceni oddaljeni RAID: 19 korakov
Video: Часть 1 - Аудиокнига Герберта Уэллса «Анна Вероника» (гл. 01–03) 2024, November
Anonim
2 Raspberry Pis za enostaven in poceni oddaljeni RAID
2 Raspberry Pis za enostaven in poceni oddaljeni RAID
2 Raspberry Pis za enostaven in poceni oddaljeni RAID
2 Raspberry Pis za enostaven in poceni oddaljeni RAID

Namen

  1. V primeru incidenta doma želim obnoviti svoje glavne digitalne dokumente (slike, osebne dokumente itd.) In jih po želji dati v skupno rabo.
  2. To rešitev želim deliti z nekom drugim (nekom, ki mu zaupam, staršem ali prijateljem)
  3. Nočem biti odvisen od javnega oblaka (naročnina, pristojbine, razvijajoči se GTC itd.)

Načelo

  1. Ustvarite 2 enaka stroja za shranjevanje, jih postavite na 2 različni lokaciji (na primer 2 hiši).
  2. Vsakemu mestu na vsakem računalniku dodelite namenski prostor za shranjevanje.
  3. Redno sinhronizirajte 2 prostora za shranjevanje.

Zaloge

Strojna oprema

Vsak stroj ima:

  • 1x Raspberry Pi 4 B 1 GB
  • 1x škatla za Raspberry Pi 4
  • 1x napajalnik USB C 5V 3A
  • 1x SD kartica Kingston SDC10/16GB
  • 1x NAS HDD 1To WD Red Mobile
  • 1x škatla za trdi disk BX-2525U3

Programska oprema Windows

  • balenaEtcher
  • Namizje Raspbian buster polno
  • mobaxterm
  • Pregledovalnik VNC (neobvezno)

Paketi Raspbian

  • Rsync
  • samba

Korak: Prednosti in slabosti

Prednosti in slabosti
Prednosti in slabosti

Prednosti

  1. Ta rešitev je poceni: nimam naročnine in strojna oprema je dostopna.
  2. Ta "oddaljeni RAID" je precej enostaven za izvedbo. Za to ne potrebujem dodatnega materiala ali orodja.
  3. Raspberry Pi se lahko uporablja za dodatne aplikacije, kot so medijski center (kodi,…) ali domotic (jeedom, domoticz,…).
  4. Moji podatki niso na voljo v javnem oblaku, ki bi lahko bil tarča množičnega podatkovnega piratstva.
  5. Pri uporabi trdega diska 1To je povprečna poraba električne energije enaka oblaku.
  6. Požarni zid mojega usmerjevalnika in šifriranje SSH moje povezave varujeta izmenjavo podatkov.

Slabosti/izboljšave

  1. Nekdo drug ima kopijo mojih dokumentov. V mojem primeru je ta oseba iz moje družine, zato mi je vseeno.
  2. Uporabljam privzeti račun "pi" z namenskim geslom za oba stroja. Dostop bi si lahko zagotovil nekoliko bolj z uporabo ločenega posebnega računa na vsaki strani in ne računa "pi".
  3. Za varnost povezave med dvema hišama se zanašam na ponudnika internetnih storitev in šifriranje SSH. Za izboljšanje ravni varnosti je mogoče opraviti raziskave.
  4. Zaenkrat sem naredil samo 2 particiji na pogon. Manjša tretja particija (~ 5Go) bi lahko bila koristna za druge dejavnosti Raspbian, da se ohrani kartica µSD.

2. korak: Pripravite SD: naložite Raspbian

V računalniku (v mojem primeru Windows 10) sledite uradnemu namestitvenemu priročniku (https://www.raspberrypi.org/downloads/raspbian/), da namestite "Raspbian Buster z namizjem".

Dodajte prazno datoteko z imenom "ssh" na disk "/boot/"

Dodajte datoteko z imenom "wpa_supplicant.conf" v disk "/boot/"

Odprite wpa_supplicant.conf in vnesite besedilo:

država = ZDA

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

Shranite in zaprite datoteko.

3. korak: Pripravite SD: Prilagodite kartico

Pripravite SD: Prilagodite kartico
Pripravite SD: Prilagodite kartico

Dodajte prazno datoteko z imenom "ssh" na disk "/boot/"

Dodajte datoteko z imenom "wpa_supplicant.conf" v disk "/boot/"

Odprite wpa_supplicant.conf in vnesite besedilo:

država = ZDA

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

Shranite in zaprite datoteko.

4. korak: Pripravite Raspberry Pi

Vstavite kartico SD v Pi

Vklopite Raspberry Pi, izberite način odpiranja namizja:

  1. Uporaba HDMI kabla, zaslona, tipkovnice in miške
  2. Uporaba VNC iz računalnika.

Za dodatne informacije obiščite

5. korak: 1. način: Povežite se z zaslonom Pi, tipkovnico, miško

1. način: Povežite se z zaslonom Pi, tipkovnico, miško
1. način: Povežite se z zaslonom Pi, tipkovnico, miško
1. način: Povežite se s Pi z uporabo zaslona, tipkovnice, miške
1. način: Povežite se s Pi z uporabo zaslona, tipkovnice, miške

Priključite vrata Raspberry Pi HDMI0 na zaslon s kablom micro-hdmi v hdmi

Priključite USB tipkovnico in miško (ali brezžično mini tipkovnico, kot je "Rii Mini i8 Wireless")

Priključite napajalnik USB C in vklopite Raspberry Pi.

Raspbian se bo začel na vašem zaslonu.

Ko se prikaže namizje, odprite konfiguracijsko ploščo, da dokončate konfiguracijo svojega Pi.

Korak 6: 2. način: Povežite se s Pi z uporabo VNC iz računalnika

2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika
2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika
2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika
2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika
2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika
2. način: Povežite se s sistemom Pi z uporabo VNC iz računalnika

Raspberry Pi povežite z ethernetnim omrežjem (prek wifija ali s kablom).

V računalniku odprite Mobaxterm (ali kit), vzpostavite novo povezavo ssh (prijava pi, geslo malina) in konfigurirajte svoj Pi:

ssh pi@raspberry_ip

sudo raspi-config

  • v možnosti Povezovanje / VNC: nastavite Da
  • v naprednih možnostih / ločljivosti: nastavite način DMT 82 1920x1080 60Hz 16: 9
  • v Napredne možnosti / gonilnik GL: nastavite namizni pogon G1 Legacy Original, ki ni GL

Shranite in zapustite raspi-config

Znova zaženite Pi:

sudo ponovni zagon

V računalniku odprite VNC Viewer in se povežite s Pi z uporabo pi -ja za prijavo, gesla malina: prikazati se mora namizje Pi.

Odgovorite na konfiguracijsko ploščo, da dokončate konfiguracijo svojega Pi.

Ko spremenite geslo Pi, se lahko povezava VNC prekine. Znova zaženite z novim geslom.

7. korak: Pripravite trdi disk

Pripravite trdi disk
Pripravite trdi disk
Pripravite trdi disk
Pripravite trdi disk
  1. Priključite trdi disk na računalnik.
  2. Odprite upravitelja particij Windows, izberite trdi disk in ustvarite 2 particiji NTFS (ali 3, če želite, da za shranjevanje kartice µSD ostane malo prostora). Dva dela na primer imenujem "loic" in "vincent"
  3. Priključite trdi disk na Pi: Raspbian mora na namizje samodejno namestiti 2 diska. Pogoni so povezani z mapo/media/pi/loic/in/media/pi/vincent/

8. korak: Konfigurirajte Rsync: Ustvarite sinhronizirani skript

Konfigurirajte Rsync: Ustvarite sinhroni skript
Konfigurirajte Rsync: Ustvarite sinhroni skript

odprite poziv na namizju Pi

V/home/pi/ustvarite skript:

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

vnesite besedilo:

#!/bin/sh

######## 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 = `date+"%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 " Sinhronizacija na dan: 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 echo "--------- -Debut: "` date +"%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

echo "---------- Fin:" `date +"%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}

Konfigurirajte vrstice 3 do 7:

  • "loic" in "vincent" zamenjajte z imenom vašega pogona
  • port_distant: zaenkrat uporabite 22 kot oddaljena vrata. Na zadnjem koraku ga boste morali zamenjati z drugo vrednostjo po vaši izbiri (na primer: 34567)

shranite datoteko in zapustite.

9. korak: Konfigurirajte Rsync: Sinhronizirajte enkrat na dan

V pozivu odprite crontab:

sudo crontab -u pi -e

na koncu datoteke dodajte cron:

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

V tem kronu se bo skript SB_sync zagnal vsak dan ob 1.00. Izberite želeno uro, vendar jo spremenite med dvema strojema, tako da se 2 sinhronizaciji izvajata ena za drugo.

Shranite in zaprite datoteko.

10. korak: Pripravite Sambo

Samba poveže pomnilnik linux z omrežjem Windows.

Odprite poziv in namestite pakete:

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

Pooblastite račun "pi" za dostop do Sambe:

sudo smbpasswd -a pi

Shranite privzeto konfiguracijsko datoteko Samba:

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

Odprite datoteko:

sudo nano /etc/samba/smb.conf

Na koncu datoteke dodajte te vrstice, da svoj pogon konfigurirate za skupno rabo:

[DOCUMENTS LOIC]

komentar = NAS de loic path =/media/pi/loic veljavni uporabniki = @users force group = uporabniki ustvarijo masko = 0660 mask imenika = 0775 samo za branje = ne brskanje = da javno = da

Shranite datoteko in zapustite.

11. korak: [Izbirno] Samba: Konfigurirajte dostop za branje do omrežnega pogona Vincent

Odprite konfiguracijsko datoteko Samba:

sudo nano /etc/samba/smb.conf

Na koncu datoteke dodajte te vrstice, da konfigurirate drug pogon, do katerega želite dostopati:

[DOKUMENTI VINCENT]

komentar = backup de vincent path =/media/pi/vincent veljavni uporabniki = @users force group = uporabniki ustvarijo masko = 0660 mask imenika = 0775 samo za branje = da brskanje = da javno = da

Shranite datoteko in zapustite.

12. korak: [Izbirno] Samba: Dostop do dnevnika

Odprite konfiguracijsko datoteko Samba:

sudo nano /etc/samba/smb.conf

Na koncu datoteke dodajte te vrstice za dostop iz oken do stanja sinhronizacije:

[LOG SYNCHRO] comment = "dnevniki sinhroniziranih strojev"

pot =/home/pi/SB_sync_logs/veljavni uporabniki = @uporabniki sila skupina = uporabniki ustvarijo masko = 0660 imenik masko = 0771 samo za branje = da brskanje = da javno = da

Shranite datoteko in zapustite.

13. korak: [Izbirno] Samba: Skrij neuporabno mapo "/home/pi"

Odprite konfiguracijsko datoteko Samba:

sudo nano /etc/samba/smb.conf

V datoteki poiščite naslednje vrstice in dodajte ";" na začetku komentiraj:

; [domovi]

; komentar = Domači imeniki; brskanje = ne; samo za branje = da; ustvari masko = 0700; imenik maska = 0700; veljavni uporabniki = %S

Shranite datoteko in zapustite.

Korak 14: Dostop do omrežnega pogona iz sistema Windows

Dostop do omrežnega pogona iz sistema Windows
Dostop do omrežnega pogona iz sistema Windows

V računalniku z operacijskim sistemom Windows odprite raziskovalec.

Kliknite »Omrežje« in osvežite okno.

Prikazal se bo računalnik z imenom vašega Rapberry Pi.

Odprite ga z računom "pi" in geslom.

Videti bi morali prej dodane mape v konfiguracijski datoteki Samba.

Korak 15: Pripravite 2. stroj

Vaš prvi stroj je pripravljen.

Ponovite prejšnje korake za 2. stroj in zamenjajte (na primer) "loic" z "vincent".

Ko bosta dva stroja pripravljena, boste morali zamenjati ključ ssh, da pooblastite dostop med njimi, glejte naslednji korak.

Korak: Ustvarite SSH med lokalnim in oddaljenim strojem

Za poenostavitev skupne rabe ključa SSH mora biti vsak Raspberry Pi povezan z istim ethernetnim omrežjem.

Na vsakem Raspberry Pi odprite poziv na namizju Pi in vnesite:

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

ssh-copy-id pi@IP_of_other_raspberry

17. korak: Preizkusite sinhronizacijo

Preizkusite sinhronizacijo
Preizkusite sinhronizacijo
Preizkusite sinhronizacijo
Preizkusite sinhronizacijo
Preizkusite sinhronizacijo
Preizkusite sinhronizacijo

2 stroja sta pripravljena.

Sinhronizacijo lahko preizkusite v računalniku z operacijskim sistemom Windows:

  1. dodajte datoteko v pogon lokalnega omrežja (npr. / Rpi4-loic / documents loic / test / test.txt),
  2. zaženite skript na lokalnem namizju Pi (izvedite SB_sync v/home/pi/scripts)
  3. preverite, ali je vaša datoteka prikazana na rezervnem omrežnem pogonu (tj. / Rpi4-vincent / documents loic / test / test.txt).

Morali bi biti sposobni brati in pisati datoteke v / Rpi4-loic / documents loic / test \, vendar lahko berete samo datoteke v / Rpi4-vincent / documents loic / test \.

Naslednji in zadnji korak je, da premaknete "oddaljeni" stroj v omrežje drugega kraja in konfigurirate povezavo med dvema usmerjevalnikoma prek interneta.

18. korak: Konfigurirajte internetne poti

V mojem primeru se za lokalni stroj doma naročim na dostop do interneta, vključno z usmerjevalnikom in fiksnim IP -jem.

Za oddaljeni stroj je ponudnik internetnih storitev enak, zato je konfiguracija lažja in ne potrebujem DNS.

Pri meni doma:

  • V svojem usmerjevalniku ustvarim pot vrat od "remote_internet_fixed_IP" pri "port_34567" do "my_raspberry_IP" pri vratih "22"
  • V svoji malini v/home/pi/scripts/SB_sync zamenjam "port_distant" vrednost "22" z "port_34567"

Na oddaljenem mestu:

  • V usmerjevalniku ustvarim pot vrat od "my_internet_fixed_IP" pri "port_34567" do "my_raspberry_IP" pri vratih "22"
  • V oddaljeni malini v/home/pi/scripts/SB_sync zamenjam "port_distant" vrednost "22" z "port_34567"

Za vašo prijavo:

  • IP -je in vrata_34567 morate zamenjati sami.
  • V primeru dinamičnega internetnega IP -ja se morate naročiti na DNS.

S pomočjo lastnika oddaljene maline ponovite preskus prejšnjega koraka.

Dokončano!

19. korak: Bibliografija

Namestite Raspbian na µSD kartico

Prilagodite µSD kartico po oblikovanju (SSH in WiFi)

Uporaba vašega Raspberry Pi

Raspberry Pi Sync z rysnc s feralhostingom

Posebna vrata SSH za Rsync

Namestite in uporabite Sambo

Priporočena: