Satura rādītājs:

2 Raspberry Pis vienkāršam un lētam attālinātam RAID: 19 soļi
2 Raspberry Pis vienkāršam un lētam attālinātam RAID: 19 soļi

Video: 2 Raspberry Pis vienkāršam un lētam attālinātam RAID: 19 soļi

Video: 2 Raspberry Pis vienkāršam un lētam attālinātam RAID: 19 soļi
Video: Эта клавиатура — компьютер за 100 долларов!!! - Малиновый Пи 400 2024, Novembris
Anonim
2 Raspberry Pis vienkāršam un lētam attālinātam RAID
2 Raspberry Pis vienkāršam un lētam attālinātam RAID
2 Raspberry Pis vienkāršam un lētam attālinātam RAID
2 Raspberry Pis vienkāršam un lētam attālinātam RAID

Mērķis

  1. Negadījuma gadījumā mājās es vēlos atgūt savus galvenos digitālos dokumentus (attēlus, personas dokumentus utt.) Un pēc izvēles tos kopīgot.
  2. Es vēlos dalīties ar šo risinājumu ar kādu citu (kādu, kuram uzticos, vecākus vai draugu)
  3. Es nevēlos paļauties uz publisku mākoni (abonēšana, maksas, mainīgie GTC utt.)

Princips

  1. Izveidojiet 2 identiskas uzglabāšanas iekārtas, novietojiet tās 2 dažādās vietās (piemēram, 2 mājās).
  2. Piešķiriet īpašu uzglabāšanas vietu katrai mašīnas vietai.
  3. Regulāri sinhronizējiet 2 uzglabāšanas vietas.

Piegādes

Aparatūra

Katrai mašīnai ir:

  • 1x Raspberry Pi 4 B 1GB
  • 1x kastīte Raspberry Pi 4
  • 1x barošanas avots USB C 5V 3A
  • 1x SD karte Kingston SDC10/16GB
  • 1x NAS HDD 1To WD Red Mobile
  • 1x HDD kaste BX-2525U3

Programmatūra Windows

  • balenaEtcher
  • Raspbian buster darbvirsma pilna
  • mobaxterm
  • VNC skatītājs (pēc izvēles)

Paketes Raspbian

  • Rsync
  • samba

1. darbība. Plusi un mīnusi

Plusi un mīnusi
Plusi un mīnusi

Priekšrocības

  1. Šis risinājums ir lēts: man nav abonēšanas maksas, un aparatūra ir pieejama.
  2. Šo "attālo RAID" ir diezgan viegli izdarīt. Lai to izdarītu, man nav nepieciešams papildu materiāls vai rīks.
  3. Raspberry Pi var izmantot papildu lietojumprogrammām, piemēram, multivides centram (kodi,…) vai domotiskam (jeedom, domoticz,…).
  4. Mani dati nav pieejami publiskā mākonī, kas varētu būt masveida datu pirātisma mērķis.
  5. Izmantojot HDT 1To, vidējais elektrības patēriņš ir tāds pats kā mākonim.
  6. Mana maršrutētāja ugunsmūris un savienojuma SSH šifrēšana nodrošina datu apmaiņu.

Trūkumi/uzlabojumi

  1. Kādam citam ir manu dokumentu kopija. Manā gadījumā šī persona ir no manas ģimenes, tāpēc man vienalga.
  2. Es izmantoju noklusējuma "pi" kontu ar īpašu paroli abām mašīnām. Es varētu nodrošināt piekļuvi nedaudz vairāk, izmantojot atsevišķu konkrētu kontu katrā pusē, nevis "pi" kontu.
  3. Savienojuma drošībai starp divām mājām es paļaujos uz savu interneta pakalpojumu sniedzēju un SSH šifrēšanu. Var veikt pētījumus, lai uzlabotu drošības līmeni.
  4. Pagaidām vienā diskā esmu izveidojis tikai 2 nodalījumus. Mazāks 3. nodalījums (~ 5Go) varētu būt noderīgs citām Raspbian darbībām, lai saglabātu µSD karti.

2. darbība: sagatavojiet SD: augšupielādējiet Raspbian

No datora (manā gadījumā Windows 10) izpildiet oficiālo instalēšanas rokasgrāmatu (https://www.raspberrypi.org/downloads/raspbian/), lai instalētu "Raspbian Buster with desktop".

Pievienojiet tukšu failu ar nosaukumu "ssh" mapē "/boot/"

Pievienojiet "/boot/" diskam failu ar nosaukumu "wpa_supplicant.conf"

Atveriet wpa_supplicant.conf un ievadiet tekstu:

valsts = ASV

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

Saglabājiet un aizveriet failu.

3. darbība: sagatavojiet SD: pielāgojiet karti

Sagatavojiet SD: pielāgojiet karti
Sagatavojiet SD: pielāgojiet karti

Pievienojiet tukšu failu ar nosaukumu "ssh" mapē "/boot/"

Pievienojiet "/boot/" diskam failu ar nosaukumu "wpa_supplicant.conf"

Atveriet wpa_supplicant.conf un ievadiet tekstu:

valsts = ASV

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

Saglabājiet un aizveriet failu.

4. solis: sagatavojiet Raspberry Pi

Ievietojiet SD karti Pi

Ieslēdziet Raspberry Pi, izvēlieties veidu, kā atvērt darbvirsmu:

  1. Izmantojot hdmi kabeli, ekrānu, tastatūru un peli
  2. Izmantojot VNC no datora.

Lai iegūtu papildinformāciju, apmeklējiet vietni

5. solis: 1. veids: izveidojiet savienojumu ar Pi, izmantojot ekrānu, tastatūru, peli

1. veids: izveidojiet savienojumu ar Pi, izmantojot ekrānu, tastatūru, peli
1. veids: izveidojiet savienojumu ar Pi, izmantojot ekrānu, tastatūru, peli
1. veids: izveidojiet savienojumu ar Pi, izmantojot ekrānu, tastatūru, peli
1. veids: izveidojiet savienojumu ar Pi, izmantojot ekrānu, tastatūru, peli

Savienojiet Raspberry Pi portu HDMI0 ar ekrānu, izmantojot mikro-hdmi-hdmi kabeli

Pievienojiet USB tastatūru un peli (vai bezvadu mini tastatūru, piemēram, "Rii Mini i8 Wireless")

Pievienojiet USB C barošanas avotu un ieslēdziet Raspberry Pi.

Raspbian sāksies jūsu ekrānā.

Kad parādās darbvirsma, atbildiet uz konfigurācijas paneli, lai pabeigtu Pi konfigurāciju.

6. darbība: 2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC

2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC
2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC
2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC
2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC
2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC
2. veids: izveidojiet savienojumu ar Pi, izmantojot datora VNC

Pievienojiet Raspberry Pi savam Ethernet tīklam (izmantojot wifi vai ar kabeli).

Datorā atveriet Mobaxterm (vai tepe), izveidojiet jaunu ssh savienojumu (pieteikšanās pi, parole aveņu) un konfigurējiet savu Pi:

ssh pi@aveņu_ip

sudo raspi-config

  • saskarnes opcijā / VNC: iestatiet Jā
  • sadaļā Papildu iespējas / Izšķirtspēja: iestatiet DMT režīmu 82 1920x1080 60Hz 16: 9
  • sadaļā Papildu opcijas / GL draiveris: iestatiet G1 Legacy Original, kas nav GL darbvirsmas disks

Saglabājiet un izejiet no raspi-config

Pārstartējiet Pi:

sudo atsāknēšana

Datorā atveriet VNC Viewer un izveidojiet savienojumu ar Pi, izmantojot pieteikšanās pi, paroli aveņu: vajadzētu parādīties Pi darbvirsmai.

Lai pabeigtu Pi konfigurēšanu, atbildiet uz konfigurācijas paneli.

Kad esat nomainījis Pi paroli, VNC savienojums var tikt slēgts. Restartējiet to, izmantojot jauno paroli.

7. darbība: sagatavojiet cieto disku

Sagatavojiet HDD
Sagatavojiet HDD
Sagatavojiet HDD
Sagatavojiet HDD
  1. Pievienojiet cieto disku datoram.
  2. Atveriet Windows nodalījumu pārvaldnieku, atlasiet savu cieto disku un izveidojiet 2 NTFS nodalījumus (vai 3, ja vēlaties nelielu brīvu vietu, lai saglabātu µSD karti). Piemēram, es nosaucu 2 daļas "loic" un "vincent"
  3. Pievienojiet cieto disku Pi: Raspbian automātiski jāuzstāda 2 diski uz darbvirsmas. Diski ir saistīti ar mapi/media/pi/loic/un/media/pi/vincent/

8. darbība: konfigurējiet Rsync: izveidojiet sinhronizācijas skriptu

Rsync konfigurēšana: izveidojiet sinhronizācijas skriptu
Rsync konfigurēšana: izveidojiet sinhronizācijas skriptu

atveriet uzvedni Pi darbvirsmā

Vietnē/home/pi/izveidojiet skriptu:

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

ievadiet tekstu:

#!/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 = `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_ " Sinhronizācija un kursi: 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:" "datums +"%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}

Konfigurējiet 3. līdz 7. rindu:

  • aizstājiet vārdus "loic" un "vincent" ar diska nosaukumu
  • port_distant: pagaidām izmantojiet 22 kā attālo portu. Pēdējā solī jums tas būs jāaizstāj ar citu jūsu izvēlētu vērtību (piemēram: 34567)

saglabājiet failu un izejiet.

9. darbība. Rsync konfigurēšana: veiciet sinhronizāciju reizi dienā

Uzvednē atveriet crontab:

sudo crontab -u pi -e

faila beigās pievienojiet cron:

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

Šajā kronā skripts SB_sync tiks palaists katru dienu pulksten 1:00. Izvēlieties vēlamo stundu, bet mainiet to starp 2 iekārtām, tāpēc 2 sinhronizācijas tiks izpildītas viena pēc otras.

Saglabājiet un aizveriet failu.

10. solis: sagatavojiet Samba

Samba savieno Linux krātuvi ar Windows tīklu.

Atveriet uzvedni un instalējiet paketes:

sudo apt-get instalēt samba samba-common-bin -y

Lai piekļūtu Samba, autorizējiet kontu “pi”:

sudo smbpasswd -a pi

Saglabājiet noklusējuma Samba konfigurācijas failu:

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

Atveriet failu:

sudo nano /etc/samba/smb.conf

Un faila beigās pievienojiet šīs rindas, lai konfigurētu diska kopīgošanu:

[DOKUMENTU LOIC]

komentārs = NAS de loic path =/media/pi/loic valid users = @users force group = lietotāji izveido masku = 0660 direktorija maska = 0775 tikai lasāms = nē pārlūkojams = jā public = jā

Saglabājiet failu un izejiet.

11. darbība: [Neobligāti] Samba: konfigurējiet lasīšanas piekļuvi tīkla diskam Vincentam

Atveriet Samba konfigurācijas failu:

sudo nano /etc/samba/smb.conf

Un faila beigās pievienojiet šīs rindas, lai konfigurētu otru disku, kuram vēlaties piekļūt:

[VINCENT DOKUMENTI]

comment = backup de vincent path =/media/pi/vincent valid users = @users force group = lietotāji izveido masku = 0660 direktorija maska = 0775 tikai lasāms = jā pārlūkojams = jā publisks = jā

Saglabājiet failu un izejiet.

12. darbība: [Neobligāti] Samba: piekļuve žurnālam

Atveriet Samba konfigurācijas failu:

sudo nano /etc/samba/smb.conf

Un faila beigās pievienojiet šīs rindiņas, lai piekļūtu sinhronizācijas statusam no logiem:

[LOG SYNCHRO] comment = "logs de synchro entre machines"

path =/home/pi/SB_sync_logs/valid users = @users force group = lietotāji izveido masku = 0660 direktorija maska = tikai 0771 tikai lasāms = jā pārlūkojams = jā publisks = jā

Saglabājiet failu un izejiet.

13. darbība: [pēc izvēles] Samba: paslēpt bezjēdzīgu mapi "/home/pi"

Atveriet Samba konfigurācijas failu:

sudo nano /etc/samba/smb.conf

Failā atrodiet šādas rindas un pievienojiet ";" sākumā to komentēt:

; [mājas]

; komentārs = Mājas direktoriji; pārlūkojams = nē; tikai lasāms = jā; izveidot masku = 0700; direktorija maska = 0700; derīgi lietotāji = %S

Saglabājiet failu un izejiet.

14. darbība. Piekļuve tīkla diskam no Windows

Piekļuve tīkla diskam no Windows
Piekļuve tīkla diskam no Windows

No Windows datora atveriet pārlūku.

Noklikšķiniet uz "Tīkls" un atsvaidziniet logu.

Parādīsies dators ar jūsu Rapberry Pi nosaukumu.

Atveriet to, izmantojot kontu "pi" un savu paroli.

Jums vajadzētu redzēt iepriekš Samba konfigurācijas failā pievienotās mapes.

15. solis: Sagatavojiet otro mašīnu

Jūsu pirmā mašīna ir sagatavota.

Atkārtojiet iepriekšējās darbības 2. mašīnai, aizstājot (piemēram) "loic" ar "vincent".

Kad 2 mašīnas būs sagatavotas, jums būs jāmaina ssh atslēga, lai atļautu piekļuvi starp tām, skatiet nākamo darbību.

16. darbība: izveidojiet SSH starp lokālo un attālo mašīnu

Lai vienkāršotu SSH atslēgas koplietošanu, katrs Raspberry Pi ir savienots ar to pašu Ethernet tīklu.

Katrā Raspberry Pi atveriet uzvedni Pi darbvirsmā un ievadiet:

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

ssh-copy-id pi@IP_of_other_raspberry

17. darbība: pārbaudiet sinhronizāciju

Pārbaudiet sinhronizāciju
Pārbaudiet sinhronizāciju
Pārbaudiet sinhronizāciju
Pārbaudiet sinhronizāciju
Pārbaudiet sinhronizāciju
Pārbaudiet sinhronizāciju

Jūsu 2 mašīnas ir gatavas.

Sinhronizāciju varat pārbaudīt savā Windows datorā:

  1. pievienojiet failu vietējā tīkla diskā (piemēram, / Rpi4-loic / documents loic / test / test.txt),
  2. palaidiet skriptu vietējā Pi darbvirsmā (izpildiet SB_sync mapē/home/pi/scripts)
  3. pārbaudiet, vai jūsu fails parādās rezerves tīkla diskā (piemēram, / Rpi4-vincent / documents loic / test / test.txt).

Jums vajadzētu būt iespējai lasīt un rakstīt failus mapē / Rpi4-loic / documents loic / test \, bet lasīt tikai failus / Rpi4-vincent / documents loic / test \.

Nākamais un pēdējais solis ir pārvietot "attālo" iekārtu citas vietas tīklā un konfigurēt savienojumu starp diviem maršrutētājiem, izmantojot internetu.

18. darbība: konfigurējiet interneta maršrutus

Manā gadījumā vietējai mašīnai mājās es abonēju piekļuvi internetam, ieskaitot maršrutētāju un fiksētu IP.

Attālajai mašīnai interneta pakalpojumu sniedzējs ir vienāds, tāpēc konfigurācija ir vieglāka, un man nav nepieciešams DNS.

Manā mājā:

  • Savā maršrutētājā es izveidoju ostas maršrutu no "remote_internet_fixed_IP" vietnē "port_34567" līdz "my_raspberry_IP" portā "22"
  • Savā avenē, mapē/home/pi/scripts/SB_sync, es aizstāju vērtību "port_distant" "22" ar "port_34567"

Attālā vietā:

  • Maršrutētājā es izveidoju ostas maršrutu no "my_internet_fixed_IP" pie "port_34567" līdz "my_raspberry_IP" portā "22"
  • Attālajā avenē,/home/pi/scripts/SB_sync, es aizstāju vērtību "port_distant" "22" ar "port_34567"

Jūsu pieteikumam:

  • IP un ports_34567 ir jāaizstāj ar savu.
  • Dinamiska interneta IP gadījumā jums jāabonē DNS.

Ar tālvadības aveņu īpašnieka palīdzību atkārtojiet iepriekšējā soļa pārbaudi.

Pabeigts!

19. darbība. Bibliogrāfija

Instalējiet Raspbian µSD kartē

Pielāgojiet µSD karti pēc formatēšanas (SSH un WiFi)

Izmantojot savu Raspberry Pi

Raspberry Pi Sync ar rysnc, izmantojot feralhosting

Īpašs SSH ports Rsync

Instalējiet un izmantojiet Samba

Ieteicams: