Obsah:
- Zásoby
- Krok 1: Pro & Cons
- Krok 2: Příprava SD: Nahrajte Raspbian
- Krok 3: Příprava SD: Přizpůsobte kartu
- Krok 4: Připravte si Raspberry Pi
- Krok 5: Způsob 1: Připojte se k obrazovce Pi pomocí obrazovky, klávesnice, myši
- Krok 6: Způsob 2: Připojte se k Pi pomocí VNC z počítače
- Krok 7: Připravte si pevný disk
- Krok 8: Konfigurace Rsync: Vytvořte synchronizační skript
- Krok 9: Konfigurace Rsync: Proveďte synchronizaci jednou denně
- Krok 10: Připravte si Sambu
- Krok 11: [Volitelné] Samba: Konfigurujte přístup pro čtení na síťový disk Vincent
- Krok 12: [Volitelné] Samba: Přístup k protokolu
- Krok 13: [Volitelné] Samba: Skrýt zbytečnou složku "/home/pi"
- Krok 14: Přístup k síťovému disku z Windows
- Krok 15: Připravte 2. stroj
- Krok 16: Vytvořte SSH mezi místním a vzdáleným počítačem
- Krok 17: Otestujte Synchro
- Krok 18: Konfigurace internetových tras
- Krok 19: Bibliografie
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Účel
- V případě incidentu doma chci mít možnost obnovit své hlavní digitální dokumenty (obrázky, doklady totožnosti atd.) A případně je sdílet.
- Chci toto řešení sdílet s někým jiným (s někým, komu důvěřuji, s rodiči nebo přítelem)
- Nechci být závislý na veřejném cloudu (předplatné, poplatky, vyvíjející se VOP atd.)
Zásada
- Vytvořte 2 identické úložné stroje, umístěte je na 2 různá místa (například 2 domy).
- Každému umístění na každém počítači přiřaďte vyhrazený úložný prostor.
- Pravidelně synchronizujte 2 úložné prostory.
Zásoby
Hardware
Každý stroj má:
- 1x Raspberry Pi 4 B 1GB
- 1x box pro Raspberry Pi 4
- 1x napájecí zdroj USB C 5V 3A
- 1x SD karta Kingston SDC10/16GB
- 1x NAS HDD 1To WD Red Mobile
- 1x HDD box BX-2525U3
Software Windows
- balenaEtcher
- Plocha Raspbian buster plná
- mobaxterm
- Prohlížeč VNC (volitelně)
Balíčky Raspbian
- Rsync
- samba
Krok 1: Pro & Cons
Výhody
- Toto řešení je levné: nemám žádné předplatné a hardware je dostupný.
- Tento „vzdálený RAID“je docela snadné udělat. Nepotřebuji k tomu další materiál ani nástroj.
- Raspberry Pi lze použít pro další aplikace, jako je mediální centrum (kodi, …) nebo domotic (jeedom, domoticz, …).
- Moje data nejsou k dispozici ve veřejném cloudu, který by mohl být cílem masivní datové pirátství.
- Při použití pevného disku 1To je průměrná elektrická spotřeba stejná jako cloud.
- Brána firewall mého routeru a šifrování SSH mého připojení zajišťují výměnu dat.
Nevýhody/vylepšení
- Kopii mých dokumentů má někdo jiný. V mém případě je tato osoba z mé rodiny, takže je mi to jedno.
- Používám výchozí účet „pi“s vyhrazeným heslem pro oba počítače. Mohl jsem zabezpečit přístup o něco více pomocí samostatného konkrétního účtu na každé straně, nikoli účtu „pi“.
- Pro zabezpečení spojení mezi 2 domy spoléhám na svého poskytovatele internetových služeb a šifrování SSH. Pro zlepšení úrovně zabezpečení lze provést výzkum.
- Prozatím jsem vytvořil pouze 2 oddíly na jednotku. Menší 3. oddíl (~ 5 Go) by mohl být užitečný pro další aktivitu Raspbian, aby byla zachována karta µSD.
Krok 2: Příprava SD: Nahrajte Raspbian
Z počítače (v mém případě Windows 10) postupujte podle oficiální instalační příručky (https://www.raspberrypi.org/downloads/raspbian/) a nainstalujte „Raspbian Buster s desktopem“.
Přidejte prázdný soubor s názvem „ssh“na disk „/boot/“
Přidejte soubor s názvem „wpa_supplicant.conf“na disk „/boot/“
Otevřete wpa_supplicant.conf a zadejte text:
země = USA
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 síť = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}
Uložte a zavřete soubor.
Krok 3: Příprava SD: Přizpůsobte kartu
Přidejte prázdný soubor s názvem „ssh“na disk „/boot/“
Přidejte soubor s názvem „wpa_supplicant.conf“na disk „/boot/“
Otevřete wpa_supplicant.conf a zadejte text:
země = USA
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 síť = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}
Uložte a zavřete soubor.
Krok 4: Připravte si Raspberry Pi
Vložte svou SD kartu do Pi
Zapněte Raspberry Pi a vyberte způsob, jak otevřít pracovní plochu:
- Pomocí kabelu HDMI, obrazovky, klávesnice a myši
- Pomocí VNC z vašeho počítače.
Další informace naleznete na adrese
Krok 5: Způsob 1: Připojte se k obrazovce Pi pomocí obrazovky, klávesnice, myši
Připojte port Raspberry Pi HDMI0 k obrazovce kabelem micro-hdmi na hdmi
Připojte USB klávesnici a myš (nebo bezdrátovou mini klávesnici jako „Rii Mini i8 Wireless“)
Připojte napájecí zdroj USB C a zapněte Raspberry Pi.
Raspbian začne na vaší obrazovce.
Jakmile se objeví plocha, dokončete konfiguraci vašeho Pi na konfiguračním panelu.
Krok 6: Způsob 2: Připojte se k Pi pomocí VNC z počítače
Připojte Raspberry Pi k vaší ethernetové síti (přes wifi nebo pomocí kabelu).
Z počítače otevřete Mobaxterm (nebo tmel), spusťte nové připojení ssh (přihlašovací pi, heslo raspberry) a nakonfigurujte Pi:
ssh pi@raspberry_ip
sudo raspi-config
- v možnosti Rozhraní / VNC: nastavte Ano
- v Pokročilých možnostech / Rozlišení: nastavte režim DMT 82 1920x1080 60 Hz 16: 9
- v Pokročilých možnostech / ovladač GL: nastavte stolní disk G1 Legacy Original bez GL
Uložte a ukončete raspi-config
Restartujte Pi:
sudo restart
Z počítače otevřete prohlížeč VNC a připojte se k Pi pomocí přihlašovacího pi, hesla raspberry: měla by se objevit plocha Pi.
Odpověď na konfiguračním panelu dokončí konfiguraci vašeho Pi.
Jakmile změníte heslo Pi, připojení VNC se může zavřít. Restartujte jej pomocí nového hesla.
Krok 7: Připravte si pevný disk
- Připojte pevný disk k počítači.
- Otevřete správce oddílů systému Windows, vyberte pevný disk a vytvořte 2 oddíly NTFS (nebo 3, chcete -li malé volné místo pro zachování karty µSD). Například pojmenuji 2 části „loic“a „vincent“
- Připojte pevný disk k Pi: Raspbian by měl na plochu automaticky připojit 2 disky. Jednotky jsou propojeny se složkou/media/pi/loic/a/media/pi/vincent/
Krok 8: Konfigurace Rsync: Vytvořte synchronizační skript
otevřete výzvu na ploše Pi
V/home/pi/vytvořte skript:
mkdir/home/pi/scriptsnano/home/pi/scripts/SB_sync
zadejte text:
#!/bin/sh
######## KONFIGURÁTOR ############# 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} Synchronizace: Cour $ {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 "--------- -Début: "` `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}
Konfigurujte řádky 3 až 7:
- nahraďte „loic“a „vincent“názvem vašeho disku
- port_distant: prozatím použijte 22 jako vzdálený port. V posledním kroku jej budete muset nahradit jinou hodnotou podle vašeho výběru (například: 34567)
uložte soubor a ukončete.
Krok 9: Konfigurace Rsync: Proveďte synchronizaci jednou denně
Ve výzvě otevřete crontab:
sudo crontab -u pi -e
na konec souboru přidejte cron:
0 1 * * */usr/bin/flock -xn /tmp/flocktmp.lock -c "/home/pi/scripts/SB_sync"
V tomto cronu bude skript SB_sync spuštěn každý den v 1:00. Vyberte požadovanou hodinu, ale změňte ji mezi 2 stroji, takže 2 synchronizace budou prováděny jeden po druhém.
Uložte a zavřete soubor.
Krok 10: Připravte si Sambu
Samba připojuje linuxové úložiště k síti Windows.
Otevřete výzvu a nainstalujte balíčky:
sudo apt-get install samba samba-common-bin -y
Autorizujte účet "pi" pro přístup k Samba:
sudo smbpasswd -a pi
Uložte výchozí konfigurační soubor Samba:
cp /etc/samba/smb.conf /etc/samba/smb.old
Otevřete soubor:
sudo nano /etc/samba/smb.conf
A na konci souboru přidejte tyto řádky ke konfiguraci vašeho disku ke sdílení:
[DOKUMENTY LOIC]
comment = NAS de loic path =/media/pi/loic valid users = @users force group = users create mask = 0660 directory mask = 0775 only read = no browseable = yes public = yes
Uložte soubor a ukončete.
Krok 11: [Volitelné] Samba: Konfigurujte přístup pro čtení na síťový disk Vincent
Otevřete konfigurační soubor Samba:
sudo nano /etc/samba/smb.conf
A na konci souboru přidejte tyto řádky ke konfiguraci druhého disku, ke kterému chcete přistupovat:
[DOKUMENTY VINCENT]
comment = cesta zálohy de vincent =/media/pi/vincent valid users = @users force group = users create mask = 0660 directory mask = 0775 only read = yes browseable = yes public = yes
Uložte soubor a ukončete.
Krok 12: [Volitelné] Samba: Přístup k protokolu
Otevřete konfigurační soubor Samba:
sudo nano /etc/samba/smb.conf
A na konci souboru přidejte tyto řádky pro přístup z Windows do stavu synchronizace:
[LOG SYNCHRO] comment = "protokoly synchronizačních strojů"
path =/home/pi/SB_sync_logs/valid users = @users force group = users create mask = 0660 directory mask = 0771 only read = yes browseable = yes public = yes
Uložte soubor a ukončete.
Krok 13: [Volitelné] Samba: Skrýt zbytečnou složku "/home/pi"
Otevřete konfigurační soubor Samba:
sudo nano /etc/samba/smb.conf
V souboru najděte následující řádky a přidejte „;“na začátek to komentovat:
; [domovy]
; komentář = Hlavní adresáře; procházitelné = ne; pouze ke čtení = ano; vytvořit masku = 0700; maska adresáře = 0700; platní uživatelé = %S
Uložte soubor a ukončete.
Krok 14: Přístup k síťovému disku z Windows
V počítači se systémem Windows otevřete průzkumníka.
Klikněte na „Síť“a obnovte okno.
Zobrazí se počítač se jménem vašeho Rapberry Pi.
Otevřete jej pomocí účtu „pi“a hesla.
V konfiguračním souboru Samba byste měli vidět složky přidané dříve.
Krok 15: Připravte 2. stroj
Váš 1. stroj je připraven.
Opakujte předchozí kroky pro 2. stroj a nahraďte (například) „loic“výrazem „vincent“.
Jakmile budou 2 počítače připraveny, budete si muset vyměnit klíč ssh pro autorizaci přístupu mezi nimi, viz další krok.
Krok 16: Vytvořte SSH mezi místním a vzdáleným počítačem
Pro zjednodušení sdílení klíče SSH musí být každý Raspberry Pi připojen ke stejné ethernetové síti.
Na každém Raspberry Pi otevřete výzvu na ploše Pi a zadejte:
ssh -keygen -q -t rsa -b 2048 -N ''
ssh-copy-id pi@IP_of_other_raspberry
Krok 17: Otestujte Synchro
Vaše 2 stroje jsou připraveny.
Synchro můžete vyzkoušet na počítači se systémem Windows:
- přidejte soubor na místní síťový disk (tj. / Rpi4-loic / documents loic / test / test.txt),
- spusťte skript na místní ploše Pi (spusťte SB_sync v/home/pi/scripts)
- zkontrolujte, zda se váš soubor objeví na záložní síťové jednotce (tj. / Rpi4-vincent / documents loic / test / test.txt).
Měli byste být schopni číst a zapisovat soubory v / Rpi4-loic / documents loic / test \, ale číst pouze soubory v / Rpi4-vincent / documents loic / test \.
Dalším a posledním krokem je přesunutí „vzdáleného“počítače do sítě jiného místa a konfigurace připojení mezi dvěma směrovači přes internet.
Krok 18: Konfigurace internetových tras
V mém případě si pro místní počítač doma předplatím přístup k internetu včetně routeru a pevné IP.
Pro vzdálený počítač je poskytovatel internetových služeb stejný, takže konfigurace je snazší a nepotřebuji DNS.
U mě doma:
- Ve svém routeru vytvořím trasu portu z „remote_internet_fixed_IP“na „port_34567“do „my_raspberry_IP“na portu „22“
- Ve své malině v/home/pi/scripts/SB_sync nahrazuji hodnotu „port_distant“„22“hodnotou „port_34567“
Na vzdáleném místě:
- V routeru vytvořím trasu portu z „my_internet_fixed_IP“na „port_34567“do „my_raspberry_IP“na portu „22“
- Ve vzdálené malině v/home/pi/scripts/SB_sync nahrazuji hodnotu „port_distant“„22“hodnotou „port_34567“
Pro vaši aplikaci:
- Adresy IP a port_34567 musíte nahradit vlastními.
- V případě dynamické internetové IP se musíte přihlásit k odběru DNS.
S pomocí vlastníka vzdálené maliny zopakujte test předchozího kroku.
Hotovo!
Krok 19: Bibliografie
Nainstalujte Raspbian na kartu µSD
Přizpůsobte kartu µSD po formátování (SSH a WiFi)
Pomocí vašeho Raspberry Pi
Raspberry Pi Sync s rysnc od feralhosting
Specifický port SSH pro Rsync
Nainstalujte a používejte Sambu