Sadržaj:

2 Malina Pis za lak i jeftin daljinski RAID: 19 koraka
2 Malina Pis za lak i jeftin daljinski RAID: 19 koraka

Video: 2 Malina Pis za lak i jeftin daljinski RAID: 19 koraka

Video: 2 Malina Pis za lak i jeftin daljinski RAID: 19 koraka
Video: Часть 1 - Аудиокнига Герберта Уэллса «Анна Вероника» (гл. 01–03) 2024, Srpanj
Anonim
2 Malina Pis za lak i jeftin daljinski RAID
2 Malina Pis za lak i jeftin daljinski RAID
2 Malina Pis za lak i jeftin daljinski RAID
2 Malina Pis za lak i jeftin daljinski RAID

Svrha

  1. U slučaju incidenta kod kuće, želim moći oporaviti svoje glavne digitalne dokumente (slike, identifikacijske dokumente itd.) I po želji ih podijeliti.
  2. Želim podijeliti ovo rješenje s nekim drugim (nekim kome vjerujem, roditeljima ili prijatelju)
  3. Ne želim ovisiti o javnom oblaku (pretplata, naknade, razvijajući se GTC itd.)

Načelo

  1. Napravite 2 identična stroja za skladištenje, postavite ih na 2 različita mjesta (na primjer, 2 kuće).
  2. Dodijelite namjenski prostor za pohranu svakom mjestu na svakom stroju.
  3. Redovito sinkronizirajte 2 prostora za pohranu.

Pribor

Hardver

Svaki stroj ima:

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

Softver Windows

  • balenaEtcher
  • Raspbian buster radna površina puna
  • mobaxterm
  • VNC preglednik (izborno)

Paketi Raspbian

  • Rsync
  • samba

Korak 1: Za i protiv

Za i protiv
Za i protiv

Prednosti

  1. Ovo rješenje je jeftino: nemam pretplate, a hardver je dostupan.
  2. Ovaj "udaljeni RAID" prilično je jednostavan za napraviti. Ne trebam dodatni materijal ili alat za to.
  3. Raspberry Pi se može koristiti za dodatne aplikacije poput medijskog centra (kodi, …) ili domotic (jeedom, domoticz, …).
  4. Moji podaci nisu dostupni na javnom oblaku koji bi mogao biti meta masovnog piratstva podataka.
  5. Koristeći HDD od 1To, prosječna potrošnja električne energije jednaka je oblaku.
  6. Vatrozid mog usmjerivača i SSH šifriranje moje veze osiguravaju razmjenu podataka.

Nedostaci/poboljšanja

  1. Netko drugi ima kopiju mojih dokumenata. U mom slučaju, ova osoba je iz moje obitelji pa me nije briga.
  2. Koristim zadani "pi" račun, s namjenskom lozinkom za oba stroja. Mogao bih osigurati pristup malo više korištenjem zasebnog posebnog računa sa svake strane, a ne "pi" računa.
  3. Za sigurnost veze između dvije kuće oslanjam se na svog davatelja internetskih usluga i SSH šifriranje. Može se provesti istraživanje radi poboljšanja razine sigurnosti.
  4. Za sada sam napravio samo 2 particije po pogonu. Manja 3. particija (~ 5Go) mogla bi biti korisna za druge Raspbian aktivnosti, za očuvanje µSD kartice.

Korak 2: Pripremite SD: Prenesite Raspbian

S računala (u mom slučaju Windows 10) slijedite službeni vodič za instalaciju (https://www.raspberrypi.org/downloads/raspbian/) da biste instalirali "Raspbian Buster s radnom površinom".

Dodajte praznu datoteku pod nazivom "ssh" na disk "/boot/"

Dodajte datoteku pod nazivom "wpa_supplicant.conf" u "/boot/" disk

Otvorite wpa_supplicant.conf i unesite tekst:

zemlja = SAD

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

Spremite i zatvorite datoteku.

Korak 3: Pripremite SD: Prilagodite karticu

Pripremite SD: Prilagodite karticu
Pripremite SD: Prilagodite karticu

Dodajte praznu datoteku pod nazivom "ssh" na disk "/boot/"

Dodajte datoteku pod nazivom "wpa_supplicant.conf" u "/boot/" disk

Otvorite wpa_supplicant.conf i unesite tekst:

zemlja = SAD

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

Spremite i zatvorite datoteku.

Korak 4: Pripremite Raspberry Pi

Umetnite SD karticu u Pi

Uključite Raspberry Pi, odaberite način otvaranja radne površine:

  1. Korištenje hdmi kabela, zaslona, tipkovnice i miša
  2. Korištenje VNC -a s vašeg računala.

Za dodatne informacije posjetite

Korak 5: Način 1: Povežite se s Pi pomoću zaslona, tipkovnice, miša

Način 1: Povežite se s Pi pomoću zaslona, tipkovnice, miša
Način 1: Povežite se s Pi pomoću zaslona, tipkovnice, miša
Način 1: Povežite se s Pi pomoću zaslona, tipkovnice, miša
Način 1: Povežite se s Pi pomoću zaslona, tipkovnice, miša

Spojite Raspberry Pi priključak HDMI0 na zaslon pomoću kabela micro-hdmi na hdmi

Priključite USB tipkovnicu i miša (ili bežičnu mini tipkovnicu poput "Rii Mini i8 Wireless")

Priključite USB C napajanje i uključite Raspberry Pi.

Raspbian će početi na vašem zaslonu.

Kad se pojavi radna površina, otvorite konfiguracijsku ploču da biste dovršili konfiguraciju svog Pi -a.

Korak 6: Način 2: Povežite se na Pi pomoću VNC -a sa svog računala

2. način: Povežite se na Pi pomoću VNC -a sa svog računala
2. način: Povežite se na Pi pomoću VNC -a sa svog računala
2. način: Povežite se na Pi pomoću VNC -a sa svog računala
2. način: Povežite se na Pi pomoću VNC -a sa svog računala
2. način: Povežite se na Pi pomoću VNC -a sa svog računala
2. način: Povežite se na Pi pomoću VNC -a sa svog računala

Spojite Raspberry Pi na svoju ethernet mrežu (putem WiFi -a ili kabelom).

Sa svog računala otvorite Mobaxterm (ili kit), pokrenite novu ssh vezu (prijava pi, lozinka malina) i konfigurirajte svoj Pi:

ssh pi@raspberry_ip

sudo raspi-config

  • u Opciji sučelja / VNC: postavite Da
  • u Naprednim opcijama / Rezolucija: postavite DMT način rada 82 1920x1080 60Hz 16: 9
  • u Naprednim opcijama / GL upravljački program: postavite G1 naslijeđeni originalni desktop pogon koji nije GL

Spremite i izađite iz raspi-config

Ponovo pokrenite Pi:

sudo ponovno podizanje sustava

Na računalu otvorite VNC Viewer i povežite se s Pi -om pomoću pi -e za prijavu, maline za lozinku: trebala bi se pojaviti Pi radna površina.

Odgovorite na konfiguracijsku ploču da biste dovršili konfiguraciju svog Pi.

Nakon što promijenite Pi lozinku, VNC veza bi se mogla prekinuti. Ponovo ga pokrenite koristeći novu lozinku.

Korak 7: Pripremite HDD

Pripremite HDD
Pripremite HDD
Pripremite HDD
Pripremite HDD
  1. Spojite HDD na računalo.
  2. Otvorite Windows upravitelj particija, odaberite svoj tvrdi disk i stvorite 2 NTFS particije (ili 3, ako želite malo slobodnog prostora za očuvanje µSD kartice). Na primjer, dva dijela nazivam "loic" i "vincent"
  3. Spojite HDD na Pi: Raspbian bi trebao automatski montirati 2 diska na radnu površinu. Pogoni su povezani s mapom/media/pi/loic/i/media/pi/vincent/

Korak 8: Konfigurirajte Rsync: Izradite sinkronizacijsku skriptu

Konfigurirajte Rsync: Izradite sinkronizacijsku skriptu
Konfigurirajte Rsync: Izradite sinkronizacijsku skriptu

otvorite upit na Pi radnoj površini

U/home/pi/, stvorite skriptu:

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

unesite tekst:

#!/bin/sh

######### KONFIGURATOR ########### 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 " Sinkronizacija en cours: 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 retke 3 do 7:

  • zamijenite "loic" i "vincent" imenom vašeg pogona
  • port_distant: za sada koristite 22 kao udaljeni port. U posljednjem koraku morat ćete ga zamijeniti drugom vrijednošću po vašem izboru (na primjer: 34567)

spremite datoteku i izađite.

Korak 9: Konfigurirajte Rsync: Izvedite sinkronizaciju jednom dnevno

U promptu otvorite crontab:

sudo crontab -u pi -e

na kraju datoteke dodajte cron:

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

U ovom se cron -u skripta SB_sync pokreće svaki dan u 1:00. Odaberite željeni sat, ali ga promijenite između 2 stroja, tako da će se 2 sinkronizacije izvoditi jedna za drugom.

Spremite i zatvorite datoteku.

Korak 10: Pripremite Sambu

Samba povezuje Linux skladište s Windows mrežom.

Otvorite upit i instalirajte pakete:

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

Ovlastite račun "pi" za pristup Sambi:

sudo smbpasswd -a pi

Spremite zadanu konfiguracijsku datoteku Sambe:

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

Otvorite datoteku:

sudo nano /etc/samba/smb.conf

I na kraju datoteke dodajte ove retke da biste konfigurirali pogon za dijeljenje:

[DOCUMENTS LOIC]

comment = NAS de loic path =/media/pi/loic valid users = @users force group = users create mask = 0660 mask directory = 0775 samo za čitanje = no browseable = yes public = yes

Spremite datoteku i izađite.

11. korak: [Izborno] Samba: Konfigurirajte pristup za čitanje mrežnom pogonu Vincent

Otvorite konfiguracijsku datoteku Samba:

sudo nano /etc/samba/smb.conf

I na kraju datoteke dodajte ove retke da biste konfigurirali drugi pogon kojem želite pristupiti:

[DOKUMENTI VINCENT]

komentar = backup de vincent path =/media/pi/vincent valjani korisnici = @users force group = korisnici kreiraju masku = 0660 mask direktorija = 0775 samo za čitanje = da pregledano = da javno = da

Spremite datoteku i izađite.

Korak 12: [Izborno] Samba: Pristup zapisniku

Otvorite konfiguracijsku datoteku Samba:

sudo nano /etc/samba/smb.conf

I na kraju datoteke dodajte ove retke za pristup iz prozora u sinkronizirani status:

[LOG SYNCHRO] comment = "zapisnici o sinkroniziranim strojevima"

path =/home/pi/SB_sync_logs/valid users = @users force group = users create mask = 0660 mask directory = 0771 samo za čitanje = yes browseable = yes public = yes

Spremite datoteku i izađite.

Korak 13: [Izborno] Samba: Sakrij beskorisnu mapu "/home/pi"

Otvorite konfiguracijsku datoteku Samba:

sudo nano /etc/samba/smb.conf

U datoteci pronađite sljedeće retke i dodajte ";" na početku komentirati:

; [domovi]

; komentar = Kućni direktoriji; pregledno = ne; samo za čitanje = da; kreiraj masku = 0700; maska imenika = 0700; valjani korisnici = %S

Spremite datoteku i izađite.

Korak 14: Pristup mrežnom pogonu iz sustava Windows

Pristup mrežnom pogonu iz sustava Windows
Pristup mrežnom pogonu iz sustava Windows

Na Windows računalu otvorite istraživač.

Kliknite na "Mreža" i osvježite prozor.

Pojavit će se računalo s imenom vašeg Rapberry Pi.

Otvorite ga pomoću računa "pi" i svoje lozinke.

Trebali biste vidjeti prethodno dodane mape u konfiguracijskoj datoteci Samba.

Korak 15: Pripremite 2. stroj

Vaš prvi stroj je pripremljen.

Ponovite prethodne korake za drugi stroj, zamjenjujući (na primjer) "loic" s "vincent".

Nakon što se pripreme 2 stroja, morat ćete zamijeniti ssh ključ za autorizaciju pristupa među njima, pogledajte sljedeći korak.

Korak 16: Izradite SSH između lokalnog i udaljenog stroja

Radi pojednostavljenja dijeljenja SSH ključa, svaki Raspberry Pi bit će spojen na istu Ethernet mrežu.

Na svakom Raspberry Pi otvorite upit na Pi radnoj površini i unesite:

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

ssh-copy-id pi@IP_drugi_raspberry

Korak 17: Testirajte sinkronizaciju

Testirajte sinkronizaciju
Testirajte sinkronizaciju
Testirajte sinkronizaciju
Testirajte sinkronizaciju
Testirajte sinkronizaciju
Testirajte sinkronizaciju

Vaša 2 stroja su spremna.

Možete sinkronizirati sinkronizaciju na svom Windows računalu:

  1. dodajte datoteku na svoj lokalni mrežni pogon (tj. / Rpi4-loic / documents loic / test / test.txt),
  2. pokrenite skriptu na lokalnoj Pi radnoj površini (izvedite SB_sync u/home/pi/scripts)
  3. provjerite prikazuje li se vaša datoteka na sigurnosnom pogonu mrežnog pogona (tj. / Rpi4-vincent / documents loic / test / test.txt).

Trebali biste moći čitati i pisati datoteke u / Rpi4-loic / documents loic / test \, ali čitati samo datoteke u / Rpi4-vincent / documents loic / test \.

Sljedeći i posljednji korak je premještanje "udaljenog" stroja unutar mreže drugog mjesta i konfiguriranje veze između dva usmjerivača putem interneta.

Korak 18: Konfigurirajte internetske rute

U mom slučaju, za lokalni stroj kod kuće, pretplaćujem se na pristup internetu uključujući usmjerivač i fiksni IP.

Za udaljeni stroj davatelj internetskih usluga je isti pa je konfiguracija lakša i ne treba mi DNS.

U mom domu:

  • U svom usmjerivaču kreiram rutu porta od "remote_internet_fixed_IP" na "port_34567" do "my_raspberry_IP" na portu "22"
  • U svom malinu u/home/pi/scripts/SB_sync zamjenjujem vrijednost "port_distant" "22" sa "port_34567"

Na udaljenom mjestu:

  • U usmjerivaču kreiram rutu porta od "my_internet_fixed_IP" na "port_34567" do "my_raspberry_IP" na portu "22"
  • U udaljenom malinu u/home/pi/scripts/SB_sync zamjenjujem vrijednost "port_distant" 22 "sa" port_34567"

Za vašu prijavu:

  • Morate sami zamijeniti IP -ove i port_34567.
  • U slučaju dinamičkog internetskog IP -a, morate se pretplatiti na DNS.

Uz pomoć vlasnika udaljene maline, ponovite test prethodnog koraka.

Završeno!

Korak 19: Bibliografija

Instalirajte Raspbian na µSD karticu

Prilagodite µSD karticu nakon formatiranja (SSH i WiFi)

Korištenje vašeg Raspberry Pi

Raspberry Pi Sync sa rysnc feralhostingom

Određeni SSH port za Rsync

Instalirajte i koristite Sambu

Preporučeni: