Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Plusy i minusy
- Krok 2: Przygotuj SD: Prześlij Raspbian
- Krok 3: Przygotuj SD: Dostosuj kartę
- Krok 4: Przygotuj Raspberry Pi
- Krok 5: Sposób 1: Połącz się z Pi za pomocą ekranu, klawiatury, myszy
- Krok 6: Sposób 2: Połącz się z Pi za pomocą VNC z komputera
- Krok 7: Przygotuj dysk twardy
- Krok 8: Skonfiguruj Rsync: Utwórz skrypt synchronizacji
- Krok 9: Skonfiguruj Rsync: wykonaj synchronizację raz dziennie
- Krok 10: Przygotuj Sambę
- Krok 11: [Opcjonalnie] Samba: Skonfiguruj dostęp do odczytu dysku sieciowego Vincent
- Krok 12: [Opcjonalnie] Samba: Dostęp do dziennika
- Krok 13: [Opcjonalnie] Samba: Ukryj niepotrzebny folder "/home/pi"
- Krok 14: Dostęp do dysku sieciowego z systemu Windows
- Krok 15: Przygotuj drugą maszynę
- Krok 16: Utwórz SSH między maszyną lokalną i zdalną
- Krok 17: Przetestuj synchronizację
- Krok 18: Skonfiguruj trasy internetowe
- Krok 19: Bibliografia
Wideo: 2 Raspberry Pis do łatwego i taniego zdalnego RAID: 19 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Cel, powód
- W przypadku incydentu w domu chcę mieć możliwość odzyskania moich głównych dokumentów cyfrowych (zdjęć, dokumentów tożsamości itp.) i opcjonalnie ich udostępnienia.
- Chcę podzielić się tym rozwiązaniem z kimś innym (komuś, komu ufam, rodzicom lub znajomym)
- Nie chcę polegać na chmurze publicznej (subskrypcja, opłaty, ewoluujące GTC itp.)
Zasada
- Stwórz 2 identyczne maszyny do przechowywania, umieść je w 2 różnych lokalizacjach (na przykład 2 domy).
- Przypisz dedykowaną przestrzeń do przechowywania do każdej lokalizacji na każdym komputerze.
- Regularnie synchronizuj 2 miejsca do przechowywania.
Kieszonkowe dzieci
Sprzęt komputerowy
Każda maszyna posiada:
- 1x Raspberry Pi 4B 1GB
- 1x pudełko dla Raspberry Pi 4
- 1x zasilacz USB C 5V 3A
- 1x karta SD Kingston SDC10/16 GB
- 1x NAS HDD 1Do WD Red Mobile
- 1x pudełko na dysk twardy BX-2525U3
Oprogramowanie Windows
- balenaEtcher
- Pełny pulpit Raspbian Buster
- mobaxterm
- Przeglądarka VNC (opcjonalnie)
Pakiety Raspbian
- Rsync
- samba
Krok 1: Plusy i minusy
Zalety
- To rozwiązanie jest tanie: nie mam abonamentu, a sprzęt jest przystępny.
- Ten "zdalny RAID" jest dość łatwy do zrobienia. Nie potrzebuję do tego dodatkowego materiału ani narzędzia.
- Raspberry Pi może być używane do dodatkowych aplikacji, takich jak centrum multimedialne (kodi, …) lub domotic (jeedom, domoticz, …).
- Moje dane nie są dostępne w chmurze publicznej, która może być celem masowej piractwa danych.
- Używając HDD o pojemności 1 To, średnie zużycie energii elektrycznej jest takie samo jak w chmurze.
- Firewall mojego routera i szyfrowanie SSH mojego połączenia zabezpieczają wymianę danych.
Wady/ulepszenia
- Ktoś inny ma kopię moich dokumentów. W moim przypadku ta osoba jest z mojej rodziny, więc mnie to nie obchodzi.
- Używam domyślnego konta „pi”, z dedykowanym hasłem dla obu komputerów. Mógłbym nieco lepiej zabezpieczyć dostęp, używając oddzielnego konta po każdej stronie, zamiast konta „pi”.
- Opieram się na moim dostawcy usług internetowych i szyfrowaniu SSH, aby zapewnić bezpieczeństwo połączenia między dwoma domami. Można przeprowadzić badania w celu poprawy poziomu bezpieczeństwa.
- Na razie stworzyłem tylko 2 partycje na dysk. Mniejsza trzecia partycja (~5Go) może być użyteczna dla innej aktywności Raspbian, aby zachować kartę µSD.
Krok 2: Przygotuj SD: Prześlij Raspbian
Z komputera (w moim przypadku z systemem Windows 10) postępuj zgodnie z oficjalnym przewodnikiem instalacji (https://www.raspberrypi.org/downloads/raspbian/), aby zainstalować „Raspbian Buster z pulpitem”.
Dodaj pusty plik o nazwie "ssh" na dysku "/boot/"
Dodaj plik o nazwie "wpa_supplicant.conf" na dysku "/boot/"
Otwórz wpa_supplicant.conf i wpisz tekst:
kraj=USA
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network= { ssid="Moja sieć Wi-Fi" psk="aVeryStrongPassword" key_mgmt=WPA-PSK }
Zapisz i zamknij plik.
Krok 3: Przygotuj SD: Dostosuj kartę
Dodaj pusty plik o nazwie "ssh" na dysku "/boot/"
Dodaj plik o nazwie "wpa_supplicant.conf" na dysku "/boot/"
Otwórz wpa_supplicant.conf i wpisz tekst:
kraj=USA
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network= { ssid="Moja sieć Wi-Fi" psk="aVeryStrongPassword" key_mgmt=WPA-PSK }
Zapisz i zamknij plik.
Krok 4: Przygotuj Raspberry Pi
Włóż kartę SD do Pi
Włącz Raspberry Pi, wybierz sposób na otwarcie pulpitu:
- Korzystanie z kabla HDMI, ekranu, klawiatury i myszy
- Korzystanie z VNC z komputera.
Więcej informacji można znaleźć na stronie
Krok 5: Sposób 1: Połącz się z Pi za pomocą ekranu, klawiatury, myszy
Podłącz port HDMI0 Raspberry Pi do ekranu za pomocą kabla micro-hdmi do hdmi
Podłącz klawiaturę i mysz USB (lub bezprzewodową mini klawiaturę, taką jak „Rii Mini i8 Wireless”)
Podłącz zasilacz USB C i włącz Raspberry Pi.
Na ekranie pojawi się Raspbian.
Gdy pojawi się pulpit, odpowiedz na panel konfiguracyjny, aby zakończyć konfigurację swojego Pi.
Krok 6: Sposób 2: Połącz się z Pi za pomocą VNC z komputera
Podłącz Raspberry Pi do sieci Ethernet (przez Wi-Fi lub za pomocą kabla).
Na komputerze otwórz Mobaxterm (lub putty), uruchom nowe połączenie ssh (login pi, hasło raspberry) i skonfiguruj swoje Pi:
ssh pi@raspberry_ip
sudo raspi-config
- w opcji interfejsu / VNC: ustaw Tak
- w Opcjach zaawansowanych / Rozdzielczość: ustaw Tryb DMT 82 1920x1080 60Hz 16:9
- w opcjach zaawansowanych / sterownik GL: ustaw G1 Legacy Original non-GL desktop drive
Zapisz i wyjdź z raspi-config
Uruchom ponownie Pi:
ponowne uruchomienie sudo
Na komputerze otwórz przeglądarkę VNC i połącz się z Pi, używając loginu pi, hasła raspberry: powinien pojawić się pulpit Pi.
Odpowiedz na panelu konfiguracyjnym, aby zakończyć konfigurację swojego Pi.
Po zmianie hasła Pi połączenie VNC może zostać zamknięte. Uruchom go ponownie, używając nowego hasła.
Krok 7: Przygotuj dysk twardy
- Podłącz dysk twardy do komputera.
- Otwórz menedżera partycji Windows, wybierz dysk twardy i utwórz 2 partycje NTFS (lub 3, jeśli chcesz mieć małą wolną przestrzeń do zachowania karty µSD). Na przykład nazywam 2 części „loic” i „vincent”
- Podłącz dysk twardy do Pi: Raspbian powinien automatycznie zamontować 2 dyski na pulpicie. Dyski są połączone z folderami /media/pi/loic/ i /media/pi/vincent/
Krok 8: Skonfiguruj Rsync: Utwórz skrypt synchronizacji
otwórz monit na pulpicie Pi
W /home/pi/ utwórz skrypt:
mkdir /home/pi/scriptsnano /home/pi/scripts/SB_sync
wpisz tekst:
#!/kosz/sz
######## 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=`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 Synchronizacja w toku: de ${machine_locale} ${media_local}/ vers ${machine_distante} ${media_distant}/ " >> ${log_local}/0.synchro_en_cours_${machine_locale}_vers_${machine_distante} ${machine} 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 "--------- - Debiut: "`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}
Skonfiguruj linie 3 do 7:
- zastąp „loic” i „vincent” nazwą swoich dysków
- port_distant: na razie użyj 22 jako portu zdalnego. W ostatnim kroku będziesz musiał zastąpić ją inną wybraną wartością (na przykład: 34567)
zapisz plik i wyjdź.
Krok 9: Skonfiguruj Rsync: wykonaj synchronizację raz dziennie
W wierszu polecenia otwórz crontab:
sudo crontab -u pi -e
na końcu pliku dodaj crona:
0 1 * * * /usr/bin/flock -xn /tmp/flocktmp.lock -c"/home/pi/scripts/SB_sync"
W tym cronie skrypt SB_sync będzie uruchamiany codziennie o godzinie 1:00. Wybierz żądaną godzinę, ale zmieniaj ją między 2 komputerami, aby 2 synchronizacje były wykonywane jedna po drugiej.
Zapisz i zamknij plik.
Krok 10: Przygotuj Sambę
Samba łączy pamięć linuksową z siecią Windows.
Otwórz monit i zainstaluj pakiety:
sudo apt-get zainstaluj sambę samba-common-bin -y
Autoryzuj konto „pi”, aby uzyskać dostęp do Samby:
sudo smbpasswd -a pi
Zapisz domyślny plik konfiguracyjny Samby:
cp /etc/samba/smb.conf /etc/samba/smb.old
Otwórz plik:
sudo nano /etc/samba/smb.conf
A na końcu pliku dodaj te wiersze, aby skonfigurować dysk do udostępniania:
[LOIC DOKUMENTÓW]
comment = NAS de loic path = /media/pi/loic poprawni użytkownicy = @users force group = użytkownicy tworzą maskę = 0660 maska katalogu = 0775 tylko do odczytu = nie do przeglądania = tak public = tak
Zapisz plik i wyjdź.
Krok 11: [Opcjonalnie] Samba: Skonfiguruj dostęp do odczytu dysku sieciowego Vincent
Otwórz plik konfiguracyjny Samby:
sudo nano /etc/samba/smb.conf
A na końcu pliku dodaj te wiersze, aby skonfigurować drugi dysk, do którego chcesz uzyskać dostęp:
[DOKUMENTY VINCENT]
comment = kopia zapasowa de vincent ścieżka = /media/pi/vincent poprawni użytkownicy = @users force group = użytkownicy tworzą maskę = 0660 maska katalogu = 0775 tylko do odczytu = tak dostępny do przeglądania = tak public = tak
Zapisz plik i wyjdź.
Krok 12: [Opcjonalnie] Samba: Dostęp do dziennika
Otwórz plik konfiguracyjny Samby:
sudo nano /etc/samba/smb.conf
A na końcu pliku dodaj te wiersze, aby uzyskać dostęp z okien do stanu synchronizacji:
[LOG SYNCHRO]comment = "dzienniki synchronizacji wszystkich maszyn"
path = /home/pi/SB_sync_logs/ valid users = @users force group = users create mask = 0660 maska katalogu = 0771 tylko do odczytu = yes browsable = yes public = yes
Zapisz plik i wyjdź.
Krok 13: [Opcjonalnie] Samba: Ukryj niepotrzebny folder "/home/pi"
Otwórz plik konfiguracyjny Samby:
sudo nano /etc/samba/smb.conf
W pliku znajdź następujące wiersze i dodaj ";" na początku skomentuj to:
;[domy]
; comment = Katalogi domowe; do przeglądania = nie; tylko do odczytu = tak; utwórz maskę = 0700; maska katalogu = 0700; poprawni użytkownicy = %S
Zapisz plik i wyjdź.
Krok 14: Dostęp do dysku sieciowego z systemu Windows
Na komputerze z systemem Windows otwórz eksploratora.
Kliknij „Sieć” i odśwież okno.
Pojawi się komputer z nazwą twojego Rapberry Pi.
Otwórz go za pomocą konta „pi” i swojego hasła.
Powinieneś zobaczyć foldery dodane wcześniej w pliku konfiguracyjnym Samby.
Krok 15: Przygotuj drugą maszynę
Twoja pierwsza maszyna jest przygotowana.
Powtórz poprzednie kroki dla drugiej maszyny, zastępując (na przykład) „loic” słowem „vincent”.
Po przygotowaniu 2 maszyn będziesz musiał wymienić klucz ssh, aby autoryzować dostęp między nimi, patrz następny krok.
Krok 16: Utwórz SSH między maszyną lokalną i zdalną
Aby uprościć udostępnianie klucza SSH, każdy Raspberry Pi powinien być podłączony do tej samej sieci Ethernet.
Na każdym Raspberry Pi otwórz monit na pulpicie Pi i wpisz:
ssh-keygen -q -t rsa -b 2048 -N ''
ssh-copy-id pi@IP_innej_maliny
Krok 17: Przetestuj synchronizację
Twoje 2 maszyny są gotowe.
Możesz przetestować synchronizację na swoim komputerze z systemem Windows:
- dodaj plik na lokalnym dysku sieciowym (np. \Rpi4-loic\documents loic\test\test.txt),
- uruchom skrypt na lokalnym pulpicie Pi (wykonaj SB_sync w /home/pi/scripts)
- sprawdź, czy plik znajduje się na dysku sieciowym kopii zapasowej (np. \Rpi4-vincent\documents loic\test\test.txt).
Powinieneś móc czytać i zapisywać pliki w \Rpi4-loic\documents loic\test\, ale tylko czytać pliki w \Rpi4-vincent\documents loic\test\.
Następnym i ostatnim krokiem jest przeniesienie maszyny "zdalnej" do sieci w innym miejscu i skonfigurowanie połączenia między dwoma routerami przez internet.
Krok 18: Skonfiguruj trasy internetowe
W moim przypadku dla lokalnej maszyny w domu wykupuję dostęp do internetu, w tym router i stały adres IP.
W przypadku zdalnej maszyny dostawca usług internetowych jest taki sam, więc konfiguracja jest łatwiejsza i nie potrzebuję DNS.
W moim domu:
- W moim routerze tworzę trasę portu od „remote_internet_fixed_IP” w „port_34567” do „my_raspberry_IP” w porcie „22”
- W mojej malinie, w /home/pi/scripts/SB_sync, zamieniam wartość "port_distant" "22" na "port_34567"
W odległym miejscu:
- W routerze tworzę trasę portu od „my_internet_fixed_IP” w „port_34567” do „my_raspberry_IP” w porcie „22”
- W zdalnym Raspberry w /home/pi/scripts/SB_sync zamieniam wartość "port_distant" "22" na "port_34567"
Do Twojej aplikacji:
- Musisz samodzielnie zamienić adresy IP i port_34567.
- W przypadku dynamicznego adresu IP, musisz subskrybować DNS.
Z pomocą właściciela zdalnej maliny powtórz test z poprzedniego kroku.
Skończone!
Krok 19: Bibliografia
Zainstaluj Raspbian na karcie µSD
Dostosuj kartę µSD po sformatowaniu (SSH i WiFi)
Korzystanie z Raspberry Pi
Raspberry Pi Sync z rysnc od feralhosting
Określony port SSH dla Rsync
Zainstaluj i używaj Samby
Zalecana:
Budowanie łatwego odtwarzacza MP3 Steampunked: 6 kroków (ze zdjęciami)
Budowanie łatwego Steampunkowego odtwarzacza MP3: W grupie Steampunk na FB pojawiło się pytanie, czy trudno jest zbudować „pewny Steampunk, który działa”. I nie tak drogie, ponieważ wiele gadżetów Steampunk wykorzystuje drogie materiały. OK, Lady's i panowie puszczają w tym kor
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 4 kroki
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 如何将通用遥控器套件转换为玩具模型中使用的四通道遥控器。遥控器套件非常便宜。它采用2262和2272芯片和433个模块构建。 ja
Jak łatwo zmodyfikować znak „Light/LED” w celu łatwego programowania Arduino: 7 kroków (ze zdjęciami)
Jak łatwo zmodyfikować znak „Light/LED” w celu łatwego programowania Arduino: W tej instrukcji pokażę, jak każdy może zamienić coś ze światłami w programowalne migające światła arduino lub „ruchome światła”;
Naucz się Perla od łatwego do średniego: 8 kroków
Naucz się Perla łatwego do średniego: Perl to tekstowy język skryptowy, który ma swoje zalety i wady. Ten samouczek zawiera przegląd podstaw i funkcji, z których korzysta większość skrypterów (AKA; programistów). ZACZNIJMY! (tylko dla operatorów okien
Rozszerzony przycisk łatwego słownictwa: 6 kroków
Rozszerzony łatwy przycisk słownika: Łatwy przycisk jest dostępny w firmie Staples za 5 USD i po prostu mówi „to było łatwe”; za każdym razem, gdy go uderzysz. Łatwy przycisk jest dobrze skonstruowany w tej cenie, ale wymaga trochę pracy i części o wartości około 10 USD, aby można go było nagrywać