Turinys:

2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID: 19 žingsnių
2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID: 19 žingsnių

Video: 2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID: 19 žingsnių

Video: 2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID: 19 žingsnių
Video: Part 1 - Ann Veronica Audiobook by H. G. Wells (Chs 01 -03) 2024, Lapkritis
Anonim
2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID
2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID
2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID
2 „Raspberry Pis“- lengvas ir pigus nuotolinis RAID

Paskirtis

  1. Įvykus incidentui namuose, noriu turėti galimybę atgauti pagrindinius skaitmeninius dokumentus (paveikslėlius, asmens tapatybės dokumentus ir tt) ir pasirinktinai jais pasidalyti.
  2. Noriu pasidalinti šiuo sprendimu su kuo nors kitu (žmogumi, kuriuo pasitikiu, tėvais ar draugu)
  3. Nenoriu priklausyti nuo viešojo debesies (prenumerata, mokesčiai, besikeičiančios GTC ir kt.)

Principas

  1. Sukurkite 2 identiškas saugojimo mašinas, padėkite jas į 2 skirtingas vietas (pavyzdžiui, 2 namus).
  2. Kiekvienai mašinos vietai priskirkite tam skirtą saugojimo vietą.
  3. Reguliariai sinchronizuokite 2 saugojimo vietas.

Prekės

Techninė įranga

Kiekviena mašina turi:

  • 1x „Raspberry Pi 4 B“1 GB
  • 1 dėžutė „Raspberry Pi 4“
  • 1x maitinimo šaltinis USB C 5V 3A
  • 1x SD kortelė Kingston SDC10/16GB
  • 1x NAS HDD 1 „WD Red Mobile“
  • 1x HDD dėžutė BX-2525U3

Programinė įranga „Windows“

  • balenaEtcher
  • Raspbian buster darbalaukis pilnas
  • mobaxterm
  • VNC peržiūros priemonė (neprivaloma)

Paketai Raspbian

  • Rsync
  • samba

1 žingsnis: privalumai ir trūkumai

Pliusai ir minusai
Pliusai ir minusai

Privalumai

  1. Šis sprendimas yra pigus: aš neturiu abonentinių mokesčių, o aparatūra yra prieinama.
  2. Šį „nuotolinį RAID“padaryti yra gana paprasta. Man nereikia papildomų medžiagų ar įrankių.
  3. „Raspberry Pi“gali būti naudojamas papildomoms programoms, tokioms kaip žiniasklaidos centras (kodi,…) arba domotic (jeedom, domoticz,…).
  4. Mano duomenys nepasiekiami viešame debesyje, kuris galėtų būti masinio duomenų piratavimo taikinys.
  5. Naudojant 1To HDD, vidutinis elektros energijos suvartojimas yra toks pat kaip debesies.
  6. Mano maršrutizatoriaus užkarda ir mano ryšio SSH šifravimas užtikrina duomenų mainus.

Trūkumai/patobulinimai

  1. Kažkas kitas turi mano dokumentų kopiją. Mano atveju šis žmogus yra iš mano šeimos, todėl man tai nerūpi.
  2. Aš naudoju numatytąją „pi“paskyrą su specialiu slaptažodžiu abiem įrenginiams. Galėčiau šiek tiek labiau užtikrinti prieigą, naudodamas atskirą konkrečią paskyrą kiekvienoje pusėje, o ne „pi“paskyrą.
  3. Ryšio tarp dviejų namų pasitikiu savo interneto paslaugų teikėju ir SSH šifravimu. Siekiant pagerinti saugumo lygį, galima atlikti tyrimus.
  4. Kol kas sukūriau tik 2 skaidinius viename diske. Mažesnis trečias skaidinys (~ 5Go) gali būti naudingas kitai „Raspbian“veiklai, norint išsaugoti µSD kortelę.

2 veiksmas: paruoškite SD: įkelkite „Raspbian“

Iš kompiuterio (mano atveju „Windows 10“) vadovaukitės oficialiu diegimo vadovu (https://www.raspberrypi.org/downloads/raspbian/), kad įdiegtumėte „Raspbian Buster with desktop“.

Įtraukite tuščią failą pavadinimu „ssh“į „/boot/“diską

Įtraukite failą pavadinimu „wpa_supplicant.conf“į „/boot/“diską

Atidarykite „wpa_supplicant.conf“ir įveskite tekstą:

šalis = JAV

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

Išsaugokite ir uždarykite failą.

3 žingsnis: Paruoškite SD: pritaikykite kortelę

Paruoškite SD: pritaikykite kortelę
Paruoškite SD: pritaikykite kortelę

Įtraukite tuščią failą pavadinimu „ssh“į „/boot/“diską

Įtraukite failą pavadinimu „wpa_supplicant.conf“į „/boot/“diską

Atidarykite „wpa_supplicant.conf“ir įveskite tekstą:

šalis = JAV

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

Išsaugokite ir uždarykite failą.

4 žingsnis: Paruoškite „Raspberry Pi“

Įdėkite SD kortelę į „Pi“

Įjunkite „Raspberry Pi“, pasirinkite būdą atidaryti darbalaukį:

  1. Naudojant hdmi kabelį, ekraną, klaviatūrą ir pelę
  2. Naudojant VNC iš kompiuterio.

Norėdami gauti daugiau informacijos, apsilankykite

5 žingsnis: 1 būdas: prisijunkite prie „Pi“naudodami ekraną, klaviatūrą, pelę

1 būdas: prisijunkite prie „Pi“naudodami ekraną, klaviatūrą, pelę
1 būdas: prisijunkite prie „Pi“naudodami ekraną, klaviatūrą, pelę
1 būdas: prisijunkite prie „Pi“naudodami ekraną, klaviatūrą, pelę
1 būdas: prisijunkite prie „Pi“naudodami ekraną, klaviatūrą, pelę

Prijunkite „Raspberry Pi“prievadą HDMI0 prie ekrano naudodami „micro-hdmi to hdmi“kabelį

Prijunkite USB klaviatūrą ir pelę (arba belaidę mini klaviatūrą, pvz., „Rii Mini i8 Wireless“)

Prijunkite USB C maitinimo šaltinį ir įjunkite „Raspberry Pi“.

Raspbian bus paleistas jūsų ekrane.

Kai pasirodys darbalaukis, atsakykite į konfigūracijos skydelį, kad užbaigtumėte „Pi“konfigūraciją.

6 veiksmas: 2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio

2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio
2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio
2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio
2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio
2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio
2 būdas: prisijunkite prie „Pi“naudodami VNC iš savo kompiuterio

Prijunkite „Raspberry Pi“prie eterneto tinklo („Wi -Fi“arba kabeliu).

Kompiuteryje atidarykite „Mobaxterm“(arba glaistą), užmegzkite naują ssh ryšį (prisijungimas pi, slaptažodis avietė) ir sukonfigūruokite „Pi“:

ssh pi@raspberry_ip

sudo raspi-config

  • sąsajos parinktyje / VNC: nustatykite Taip
  • skiltyje Išplėstinės parinktys / skyra: nustatykite DMT režimą 82 1920x1080 60Hz 16: 9
  • Išplėstinėse parinktyse / GL tvarkyklėje: nustatykite „G1 Legacy Original“ne GL stalinį diską

Išsaugokite ir išeikite iš raspi-config

Perkraukite „Pi“:

sudo perkraukite

Kompiuteryje atidarykite „VNC Viewer“ir prisijunkite prie „Pi“naudodami prisijungimo pi, slaptažodį avietė: turėtų pasirodyti „Pi“darbalaukis.

Atsakykite į konfigūracijos skydelį, kad užbaigtumėte „Pi“konfigūraciją.

Pakeitus „Pi“slaptažodį, VNC ryšys gali būti uždarytas. Iš naujo paleiskite jį naudodami naują slaptažodį.

7 žingsnis: Paruoškite HDD

Paruoškite HDD
Paruoškite HDD
Paruoškite HDD
Paruoškite HDD
  1. Prijunkite HDD prie kompiuterio.
  2. Atidarykite „Windows“skaidinių tvarkytuvę, pasirinkite standųjį diską ir sukurkite 2 NTFS skaidinius (arba 3, jei norite nedidelės laisvos vietos, kad išsaugotumėte µSD kortelę). Pavyzdžiui, aš pavadinau 2 dalis „loic“ir „vincent“
  3. Prijunkite HDD prie „Pi“: „Raspbian“turėtų automatiškai prijungti 2 diskus darbalaukyje. Diskas yra susietas su aplanku/media/pi/loic/ir/media/pi/vincent/

8 veiksmas: sukonfigūruokite „Rsync“: sukurkite sinchronizavimo scenarijų

Konfigūruokite „Rsync“: sukurkite sinchronizavimo scenarijų
Konfigūruokite „Rsync“: sukurkite sinchronizavimo scenarijų

atidarykite raginimą „Pi“darbalaukyje

/Home/pi/sukurkite scenarijų:

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

įveskite tekstą:

#!/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_ " Sinchronizavimas ir kursai: 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: "` 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

echo "---------- 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}

Konfigūruokite 3–7 eilutes:

  • pakeiskite „loic“ir „vincent“savo diskų pavadinimais
  • port_distant: kol kas naudokite 22 kaip nuotolinį prievadą. Paskutiniame etape turėsite jį pakeisti kita pasirinkta verte (pvz., 34567)

išsaugokite failą ir išeikite.

9 veiksmas: sukonfigūruokite „Rsync“: atlikite sinchronizavimą kartą per dieną

Paraginti atidarykite „crontab“:

sudo crontab -u pi -e

failo pabaigoje pridėkite cron:

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

Šioje programoje scenarijus SB_sync bus paleistas kiekvieną dieną 1 val. Pasirinkite norimą valandą, bet pakeiskite ją tarp dviejų mašinų, todėl 2 sinchronizacijos bus atliekamos viena po kitos.

Išsaugokite ir uždarykite failą.

10 žingsnis: Paruoškite „Samba“

„Samba“prijungia „Linux“saugyklą prie „Windows“tinklo.

Atidarykite raginimą ir įdiekite paketus:

sudo apt-get įdiegti samba samba-common-bin -y

Jei norite pasiekti „Samba“, įgalinkite paskyrą „pi“:

sudo smbpasswd -a pi

Išsaugokite numatytąjį „Samba“konfigūracijos failą:

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

Atidarykite failą:

sudo nano /etc/samba/smb.conf

Failo pabaigoje pridėkite šias eilutes, kad sukonfigūruotumėte diską bendrinti:

[DOKUMENTAI LOIC]

komentaras = NAS de loic path =/media/pi/loic valid users = @users force group = vartotojai sukuria kaukę = 0660 katalogo kaukė = 0775 tik skaitoma = ne naršoma = taip viešas = taip

Išsaugokite failą ir išeikite.

11 veiksmas: [neprivaloma] Samba: sukonfigūruokite prieigą prie skaitymo prie tinklo disko „Vincent“

Atidarykite „Samba“konfigūracijos failą:

sudo nano /etc/samba/smb.conf

Failo pabaigoje pridėkite šias eilutes, kad sukonfigūruotumėte kitą diską, kurį norite pasiekti:

[DOKUMENTAI VINCENTAS]

komentaras = atsarginė kopija de vincent path =/media/pi/vincent valid users = @users force group = vartotojai sukuria kaukę = 0660 katalogo kaukė = 0775 tik skaitoma = taip naršoma = taip vieša = taip

Išsaugokite failą ir išeikite.

12 veiksmas: [neprivaloma] Samba: prieiga prie žurnalo

Atidarykite „Samba“konfigūracijos failą:

sudo nano /etc/samba/smb.conf

Failo pabaigoje pridėkite šias eilutes, kad galėtumėte pasiekti sinchronizavimo būseną iš „Windows“:

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

path =/home/pi/SB_sync_logs/valid users = @users force group = vartotojai sukuria kaukę = 0660 katalogo kaukė = 0771 tik skaitoma = taip naršoma = taip viešas = taip

Išsaugokite failą ir išeikite.

13 veiksmas: [neprivaloma] Samba: slėpti nenaudingą aplanką „/home/pi“

Atidarykite „Samba“konfigūracijos failą:

sudo nano /etc/samba/smb.conf

Faile raskite šias eilutes ir pridėkite ";" pradžioje komentuoti:

; [namai]

; komentaras = namų katalogai; naršoma = ne; tik skaityti = taip; sukurti kaukę = 0700; katalogo kaukė = 0700; galiojantys vartotojai = %S

Išsaugokite failą ir išeikite.

14 veiksmas: prieiga prie tinklo disko iš „Windows“

Prieiga prie tinklo disko iš „Windows“
Prieiga prie tinklo disko iš „Windows“

„Windows“kompiuteryje atidarykite naršyklę.

Spustelėkite „Tinklas“ir atnaujinkite langą.

Bus rodomas kompiuteris su „Rapberry Pi“pavadinimu.

Atidarykite jį naudodami „pi“paskyrą ir slaptažodį.

Turėtumėte matyti aplankus, anksčiau pridėtus „Samba“konfigūracijos faile.

15 žingsnis: Paruoškite antrąją mašiną

Jūsų pirmoji mašina yra paruošta.

Pakartokite ankstesnius veiksmus 2 -ajai mašinai, pakeisdami (pavyzdžiui) „loiką“žodžiu „vincent“.

Kai dvi mašinos bus paruoštos, turėsite pakeisti ssh raktą, kad suteiktumėte prieigą tarp jų, žr. Kitą veiksmą.

16 veiksmas: sukurkite SSH tarp vietinio ir nuotolinio kompiuterio

Kad būtų paprasčiau bendrinti SSH raktą, kiekviena „Raspberry Pi“turi būti prijungta prie to paties „Ethernet“tinklo.

Kiekviename „Raspberry Pi“atidarykite raginimą „Pi“darbalaukyje ir įveskite:

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

ssh-copy-id pi@IP_of_other_raspberry

17 veiksmas: išbandykite sinchronizavimą

Išbandykite „Synchro“
Išbandykite „Synchro“
Išbandykite „Synchro“
Išbandykite „Synchro“
Išbandykite „Synchro“
Išbandykite „Synchro“

Jūsų 2 mašinos yra paruoštos.

Sinchronizavimą galite patikrinti „Windows“kompiuteryje:

  1. pridėti failą į vietinio tinklo diską (pvz., / Rpi4-loic / documents loic / test / test.txt),
  2. paleiskite scenarijų vietiniame „Pi“darbalaukyje (vykdykite „SB_sync“/home/pi/scripts)
  3. patikrinkite, ar jūsų failas rodomas atsarginiame tinklo diske (pvz., / Rpi4-vincent / documents loic / test / test.txt).

Turėtumėte mokėti skaityti ir rašyti failus / Rpi4-loic / documents loic / test \, bet skaityti tik failus / Rpi4-vincent / documents loic / test \.

Kitas ir paskutinis žingsnis yra perkelti „nuotolinį“įrenginį į kitos vietos tinklą ir sukonfigūruoti ryšį tarp dviejų maršrutizatorių internetu.

18 veiksmas: sukonfigūruokite interneto maršrutus

Mano atveju, vietinei mašinai namuose, aš užsisakiau prieigą prie interneto, įskaitant maršrutizatorių ir fiksuotą IP.

Nuotolinio kompiuterio interneto paslaugų teikėjas yra tas pats, todėl konfigūracija yra lengvesnė ir man nereikia DNS.

Mano namuose:

  • Savo maršrutizatoriuje sukuriu uosto maršrutą nuo „remote_internet_fixed_IP“prie „port_34567“iki „my_raspberry_IP“prievado „22“
  • Savo aviečių,/home/pi/scripts/SB_sync programoje „port_distant“reikšmę „22“pakeičiu „port_34567“

Atokioje vietoje:

  • Maršrutizatoriuje sukuriu uosto maršrutą nuo „my_internet_fixed_IP“prie „port_34567“iki „my_raspberry_IP“prievado „22“
  • Nuotolinėje avietėje,/home/pi/scripts/SB_sync, „port_distant“reikšmę „22“pakeičiu „port_34567“

Jūsų paraiškai:

  • IP ir port_34567 turite pakeisti savo.
  • Dinaminio interneto IP atveju turite užsisakyti DNS.

Padedant nuotolinio aviečių savininkui, pakartokite ankstesnio veiksmo bandymą.

Baigta!

19 žingsnis: bibliografija

Įdiekite „Raspbian“į µSD kortelę

Suformatavę tinkinkite µSD kortelę (SSH ir „WiFi“)

„Raspberry Pi“naudojimas

„Raspberry Pi Sync“su „rysnc by feralhosting“

Specialus „Rsync“SSH prievadas

Įdiekite ir naudokite „Samba“

Rekomenduojamas: