Სარჩევი:

2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის: 19 ნაბიჯი
2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის: 19 ნაბიჯი

ვიდეო: 2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის: 19 ნაბიჯი

ვიდეო: 2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის: 19 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
2 ჟოლო Pis მარტივი და იაფი დისტანციური RAID
2 ჟოლო Pis მარტივი და იაფი დისტანციური RAID
2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის
2 ჟოლოს პისი მარტივი და იაფი დისტანციური RAID– ისთვის

მიზანი

  1. სახლში მომხდარი ინციდენტის შემთხვევაში, მსურს შემეძლოს აღვადგინო ჩემი ძირითადი ციფრული დოკუმენტები (სურათები, პირადობის მოწმობები და სხვა) და სურვილისამებრ გავაზიარო ისინი.
  2. მსურს ეს გამოსავალი გავუზიარო სხვას (ვისაც ვენდობი, მშობლებს ან მეგობარს)
  3. მე არ მინდა დამოკიდებული ვიყო საჯარო ღრუბელზე (გამოწერა, საფასური, განვითარებადი GTC და ა.

პრინციპი

  1. შექმენით 2 იდენტური შესანახი მანქანა, განათავსეთ ისინი 2 სხვადასხვა ადგილას (მაგალითად, 2 სახლი).
  2. მიანიჭეთ გამოყოფილი შენახვის ადგილი თითოეულ ადგილას თითოეულ აპარატზე.
  3. რეგულარულად მოახდინეთ სინქრონიზაცია 2 საცავის ადგილისთვის.

მარაგები

ტექნიკა

თითოეულ მანქანას აქვს:

  • 1x ჟოლო Pi 4 B 1 GB
  • 1x ყუთი Raspberry Pi 4 -ისთვის
  • 1x კვების წყარო USB C 5V 3A
  • 1 x SD ბარათი Kingston SDC10/16 GB
  • 1x NAS HDD 1To WD წითელი მობილური
  • 1x HDD ყუთი BX-2525U3

პროგრამული უზრუნველყოფა Windows

  • balenaEtcher
  • Raspbian buster დესკტოპი სავსეა
  • მობაქტერმი
  • VNC მაყურებელი (სურვილისამებრ)

პაკეტები Raspbian

  • Rsync
  • სამბა

ნაბიჯი 1: დადებითი და უარყოფითი მხარეები

დადებითი და უარყოფითი მხარეები
დადებითი და უარყოფითი მხარეები

უპირატესობები

  1. ეს გამოსავალი იაფია: მე არ მაქვს გამოწერის საფასური და ტექნიკა ხელმისაწვდომია.
  2. ეს "დისტანციური RAID" საკმაოდ ადვილი გასაკეთებელია. მე არ მჭირდება დამატებითი მასალა ან ინსტრუმენტი ამის გასაკეთებლად.
  3. Raspberry Pi შეიძლება გამოყენებულ იქნას დამატებითი პროგრამებისთვის, როგორიცაა მედია ცენტრი (კოდი,…), ან დომოსტი (ჟემოდი, დომოსი,…).
  4. ჩემი მონაცემები არ არის ხელმისაწვდომი საჯარო ღრუბელში, რომელიც შეიძლება იყოს მასიური მონაცემების მეკობრეობის სამიზნე.
  5. მყარი დისკის გამოყენებით 1To, საშუალო ელექტრო მოხმარება იგივეა, რაც ღრუბელი.
  6. ჩემი როუტერის ბუხარი და ჩემი კავშირის SSH დაშიფვრა უზრუნველყოფს მონაცემთა გაცვლას.

ნაკლოვანებები/გაუმჯობესებები

  1. ვინმეს აქვს ჩემი დოკუმენტების ასლი. ჩემს შემთხვევაში, ეს ადამიანი ჩემი ოჯახიდან არის, ამიტომ არ მაინტერესებს.
  2. მე ვიყენებ ნაგულისხმევ "პი" ანგარიშს, ორივე აპარატისთვის გამოყოფილი პაროლით. მე შემეძლო ცოტა მეტი წვდომის უზრუნველყოფა თითოეულ მხარეს ცალკეული კონკრეტული ანგარიშის გამოყენებით, ვიდრე "პი" ანგარიშის გამოყენებით.
  3. მე ვენდობი ჩემს ინტერნეტ სერვისის პროვაიდერს და SSH დაშიფვრას 2 სახლს შორის კავშირის უსაფრთხოების უზრუნველსაყოფად. შეიძლება ჩატარდეს კვლევები უსაფრთხოების დონის გასაუმჯობესებლად.
  4. ჯერჯერობით, მე მხოლოდ 2 დანაყოფი გავაკეთე დისკზე. უფრო პატარა მე -3 დანაყოფი (G 5Go) შეიძლება სასარგებლო იყოს სხვა Raspbian საქმიანობისთვის, µSD ბარათის შესანარჩუნებლად.

ნაბიჯი 2: მოამზადეთ SD: ატვირთეთ Raspbian

კომპიუტერიდან (ჩემს შემთხვევაში Windows 10) მიჰყევით ინსტალაციის ოფიციალურ სახელმძღვანელოს (https://www.raspberrypi.org/downloads/raspbian/), რომ დააინსტალიროთ "Raspbian Buster with desktop".

დაამატეთ ცარიელი ფაილი სახელწოდებით "ssh" დისკზე "/boot/"

დაამატეთ ფაილი სახელწოდებით "wpa_supplicant.conf" დისკზე "/boot/"

გახსენით wpa_supplicant.conf და შეიყვანეთ ტექსტი:

ქვეყანა = აშშ

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

შეინახეთ და დახურეთ ფაილი.

ნაბიჯი 3: მოამზადეთ SD: ბარათის პერსონალიზაცია

მოამზადეთ SD: ბარათის მორგება
მოამზადეთ SD: ბარათის მორგება

დაამატეთ ცარიელი ფაილი სახელწოდებით "ssh" დისკზე "/boot/"

დაამატეთ ფაილი სახელწოდებით "wpa_supplicant.conf" დისკზე "/boot/"

გახსენით wpa_supplicant.conf და შეიყვანეთ ტექსტი:

ქვეყანა = აშშ

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

შეინახეთ და დახურეთ ფაილი.

ნაბიჯი 4: მოამზადეთ ჟოლო პი

ჩადეთ თქვენი SD ბარათი Pi- ში

ჩართეთ Raspberry Pi, შეარჩიეთ სამუშაო მაგიდის გახსნის გზა:

  1. HDMI კაბელის, ეკრანის, კლავიატურის და მაუსის გამოყენებით
  2. VNC გამოყენებით თქვენი კომპიუტერიდან.

დამატებითი ინფორმაციისთვის ეწვიეთ

ნაბიჯი 5: გზა 1: დაუკავშირდით Pi- ს ეკრანის, კლავიატურის, მაუსის გამოყენებით

გზა 1: დაუკავშირდით Pi- ს ეკრანის, კლავიატურის, მაუსის გამოყენებით
გზა 1: დაუკავშირდით Pi- ს ეკრანის, კლავიატურის, მაუსის გამოყენებით
გზა 1: დაუკავშირდით Pi- ს ეკრანის, კლავიატურის, მაუსის გამოყენებით
გზა 1: დაუკავშირდით Pi- ს ეკრანის, კლავიატურის, მაუსის გამოყენებით

დააკავშირეთ Raspberry Pi პორტი HDMI0 ეკრანზე მიკრო- hdmi– ით hdmi კაბელთან

შეაერთეთ USB კლავიატურა და მაუსი (ან უკაბელო მინი კლავიატურა, როგორიცაა "Rii Mini i8 უსადენო")

შეაერთეთ USB C კვების წყარო და ჩართეთ Raspberry Pi.

Raspbian დაიწყება თქვენს ეკრანზე.

მას შემდეგ რაც დესკტოპი გამოჩნდება, უპასუხეთ კონფიგურაციის პანელს თქვენი Pi- ს კონფიგურაციის დასასრულებლად.

ნაბიჯი 6: გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით

გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით
გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით
გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით
გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით
გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით
გზა 2: დაუკავშირდით Pi- ს თქვენი კომპიუტერის VNC გამოყენებით

დაუკავშირეთ Raspberry Pi თქვენს Ethernet ქსელს (wifi ან კაბელით).

თქვენი კომპიუტერიდან გახსენით Mobaxterm (ან putty), დაიწყეთ ახალი ssh კავშირი (log pi, პაროლი ჟოლო) და დააკონფიგურირეთ თქვენი Pi:

ssh pi@raspberry_ip

sudo raspi-config

  • ინტერფეისის ვარიანტში / VNC: დააყენეთ დიახ
  • გაფართოებულ პარამეტრებში / რეზოლუციაში: დააყენეთ DMT რეჟიმი 82 1920x1080 60Hz 16: 9
  • მოწინავე პარამეტრებში / GL დრაივერი: დააყენეთ G1 Legacy Original არა GL დესკტოპის დისკი

შეინახეთ და გამოდით raspi-config– დან

გადატვირთეთ Pi:

sudo გადატვირთვა

თქვენი კომპიუტერიდან გახსენით VNC Viewer და დაუკავშირდით Pi- ს შესვლის პი, პაროლი ჟოლოს გამოყენებით: Pi დესკტოპი უნდა გამოჩნდეს.

უპასუხეთ კონფიგურაციის პანელს თქვენი Pi- ს კონფიგურაციის დასასრულებლად.

მას შემდეგ რაც შეცვლით Pi პაროლს, VNC კავშირი შეიძლება დაიხუროს. გადატვირთეთ თქვენი ახალი პაროლის გამოყენებით.

ნაბიჯი 7: მოამზადეთ მყარი დისკი

მოამზადეთ HDD
მოამზადეთ HDD
მოამზადეთ HDD
მოამზადეთ HDD
  1. შეაერთეთ HDD თქვენს კომპიუტერს.
  2. გახსენით Windows დანაყოფების მენეჯერი, შეარჩიეთ თქვენი HDD და შექმენით 2 NTFS დანაყოფი (ან 3, თუ გსურთ მცირე თავისუფალი ადგილი µSD ბარათის შესანარჩუნებლად). მაგალითად, მე ვასახელებ 2 ნაწილს "loic" და "vincent"
  3. შეაერთეთ მყარი დისკი Pi- სთან: Raspbian უნდა დამონტაჟდეს ავტომატურად 2 დისკი სამუშაო მაგიდაზე. დისკები უკავშირდება საქაღალდეს/media/pi/loic/და/media/pi/vincent/

ნაბიჯი 8: დააინსტალირეთ Rsync: შექმენით სინქრონული სკრიპტი

Rsync- ის კონფიგურაცია: შექმენით სინქრონული სკრიპტი
Rsync- ის კონფიგურაცია: შექმენით სინქრონული სკრიპტი

გახსენით მოთხოვნა Pi დესკტოპზე

In/home/pi/, შექმენით სკრიპტი:

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

შეიყვანეთ ტექსტი:

#!/bin/sh

######## კონფიგურატორი ########### 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} სინქრონიზაცია კურსებში: 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 ექო "--------- -დებიუტი: "` თარიღი +"%Y-%m-%d%T" "----------" >> $ {log_local}/1. $ {Machine_locale} _vers _ $ {machine_distante}.log/usr/bin/rsync -avhPS --chmod = a+rwx -წაშლა -e "ssh -p $ {port_distant}" $ {media_local}/$ {media_distant}/2> & 1 >> $ {log_local} /1.${machine_locale}_vers_${machine_distante}.log

ექო "---------- Fin:" `თარიღი +"%Y-%m-%d%T "" ---------- ">> $ {log_local}/ 1. $ {Machine_locale} _vers _ $ {machine_distante}.ლოგი

rm $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}

3 -დან 7 -მდე ხაზების კონფიგურაცია:

  • შეცვალეთ "loic" და "vincent" თქვენი დისკების სახელით
  • port_distant: ჯერჯერობით გამოიყენეთ 22 როგორც დისტანციური პორტი. ბოლო საფეხურზე, თქვენ უნდა შეცვალოთ იგი თქვენი არჩევანის სხვა მნიშვნელობით (მაგალითად: 34567)

შეინახეთ ფაილი და გამოდით.

ნაბიჯი 9: Rsync- ის კონფიგურაცია: შეასრულეთ სინქრონიზაცია დღეში ერთხელ

მოთხოვნაში გახსენით crontab:

sudo crontab -u pi -e

ფაილის ბოლოს დაამატეთ cron:

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

ამ cron- ში, სკრიპტი SB_sync დაიწყება ყოველდღე დილის 1:00 საათზე. შეარჩიეთ თქვენთვის სასურველი საათი, მაგრამ შეცვალეთ იგი 2 მანქანას შორის, ასე რომ 2 სინქროსი შესრულდება ერთმანეთის მიყოლებით.

შეინახეთ და დახურეთ ფაილი.

ნაბიჯი 10: მოამზადეთ სამბა

სამბა აკავშირებს linux საცავებს Windows ქსელთან.

გახსენით მოთხოვნა და დააინსტალირეთ პაკეტები:

sudo apt-get დააინსტალირეთ samba samba-common-bin -y

Samba- ზე წვდომისათვის ანგარიშის "pi" ავტომატიზირება:

sudo smbpasswd -a pi

შეინახეთ ნაგულისხმევი Samba კონფიგურაციის ფაილი:

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

გახსენით ფაილი:

sudo nano /etc/samba/smb.conf

და ფაილის ბოლოს, დაამატეთ ეს ხაზები თქვენი დისკის კონფიგურაციისთვის, რომ გააზიაროთ:

[დოკუმენტების ლოიკი]

კომენტარი = NAS de loic path =/media/pi/loic valid users = @users force group = მომხმარებლები ქმნიან ნიღაბს = 0660 დირექტორია ნიღაბი = 0775 მხოლოდ წასაკითხად = არა დასათვალიერებელი = დიახ საჯარო = დიახ

შეინახეთ ფაილი და გამოდით.

ნაბიჯი 11: [სურვილისამებრ] სამბა: წაკითხვის წვდომის კონფიგურაცია ვინსენტ ქსელურ დისკზე

გახსენით Samba კონფიგურაციის ფაილი:

sudo nano /etc/samba/smb.conf

და ფაილის ბოლოს დაამატეთ ეს ხაზები სხვა დისკის კონფიგურაციისთვის, რომელზეც გსურთ წვდომა:

[დოკუმენტები VINCENT]

კომენტარი = სარეზერვო დე ვინსენტ ბილიკი =/მედია/პი/ვინსენტი მოქმედი მომხმარებლები = @მომხმარებლები ძალის ჯგუფი = მომხმარებლები ქმნიან ნიღაბს = 0660 დირექტორიის ნიღაბი = 0775 მხოლოდ წასაკითხად = დიახ დასათვალიერებელი = დიახ საჯარო = დიახ

შეინახეთ ფაილი და გამოდით.

ნაბიჯი 12: [სურვილისამებრ] სამბა: წვდომა ჟურნალზე

გახსენით Samba კონფიგურაციის ფაილი:

sudo nano /etc/samba/smb.conf

და ფაილის ბოლოს დაამატეთ ეს ხაზები ფანჯრებიდან სინქრონული სტატუსის შესასვლელად:

[LOG SYNCHRO] comment = "ჟურნალები სინქრონული საწარმოებისათვის"

path =/home/pi/SB_sync_logs/valid users = @users force group = მომხმარებლები ქმნიან ნიღაბს = 0660 დირექტორიის ნიღაბი = 0771 მხოლოდ წასაკითხად = დიახ დასათვალიერებელი = დიახ საჯარო = დიახ

შეინახეთ ფაილი და გამოდით.

ნაბიჯი 13: [სურვილისამებრ] Samba: დამალვა უსარგებლო საქაღალდე "/home/pi"

გახსენით Samba კონფიგურაციის ფაილი:

sudo nano /etc/samba/smb.conf

ფაილში იპოვეთ შემდეგი სტრიქონები და დაამატეთ ";" დასაწყისში კომენტარის გაკეთება:

; [სახლები]

; კომენტარი = მთავარი დირექტორიები; დათვალიერება = არა; მხოლოდ კითხვა = დიახ; შექმნა ნიღაბი = 0700; დირექტორია ნიღაბი = 0700; მოქმედი მომხმარებლები = %S

შეინახეთ ფაილი და გამოდით.

ნაბიჯი 14: წვდომა ქსელის დისკზე Windows– დან

წვდომა ქსელის დისკზე Windows– დან
წვდომა ქსელის დისკზე Windows– დან

Windows კომპიუტერიდან გახსენით Explorer.

დააჭირეთ ღილაკს "ქსელი" და განაახლეთ ფანჯარა.

გამოჩნდება კომპიუტერი თქვენი Rapberry Pi სახელწოდებით.

გახსენით იგი ანგარიშის "pi" და თქვენი პაროლის გამოყენებით.

თქვენ უნდა ნახოთ საქამბის კონფიგურაციის ფაილში დამატებული საქაღალდეები.

ნაბიჯი 15: მოამზადეთ მეორე მანქანა

თქვენი პირველი მანქანა მომზადებულია.

გაიმეორეთ წინა ნაბიჯები მე -2 აპარატისთვის, შეცვალეთ (მაგალითად) "loic" "ვინსენტით".

მას შემდეგ რაც მომზადდება 2 მანქანა, თქვენ უნდა გაცვალოთ ssh გასაღები მათ შორის წვდომის ავტორიზაციისთვის, იხილეთ შემდეგი ნაბიჯი.

ნაბიჯი 16: შექმენით SSH ადგილობრივ და დისტანციურ აპარატს შორის

SSH გასაღების გაზიარების გასამარტივებლად, თითოეული Raspberry Pi უნდა იყოს დაკავშირებული იმავე Ethernet ქსელთან.

თითოეულ Raspberry Pi– ზე გახსენით მოთხოვნა Pi დესკტოპზე და შეიყვანეთ:

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

ssh-copy-id pi@IP_of_other_raspberry

ნაბიჯი 17: შეამოწმეთ სინქრონი

შეამოწმეთ სინქრონი
შეამოწმეთ სინქრონი
სინქრონის გამოცდა
სინქრონის გამოცდა
სინქრონის გამოცდა
სინქრონის გამოცდა

თქვენი 2 მანქანა მზად არის.

თქვენ შეგიძლიათ შეამოწმოთ სინქრონიზაცია თქვენს Windows კომპიუტერზე:

  1. დაამატეთ ფაილი თქვენს ადგილობრივ ქსელურ დისკზე (ანუ / Rpi4-loic / documents loic / test / test.txt),
  2. გაუშვით სკრიპტი თქვენს ადგილობრივ Pi დესკტოპზე (შეასრულეთ SB_sync in/home/pi/scripts)
  3. შეამოწმეთ, რომ თქვენი ფაილი გამოჩნდება სარეზერვო ქსელის დისკზე (ანუ / Rpi4-vincent / documents loic / test / test.txt).

თქვენ უნდა შეგეძლოთ ფაილების წაკითხვა და წერა / Rpi4-loic / documents loic / test \, მაგრამ მხოლოდ ფაილების წაკითხვა / Rpi4-vincent / documents loic / test \.

შემდეგი და ბოლო ნაბიჯი არის "დისტანციური" აპარატის სხვა ადგილის ქსელში გადატანა და ინტერნეტის საშუალებით 2 მარშრუტიზატორის შორის კავშირის კონფიგურაცია.

ნაბიჯი 18: დააკონფიგურირეთ ინტერნეტ მარშრუტები

ჩემს შემთხვევაში, სახლის ადგილობრივი აპარატისთვის, მე ვიწერ ინტერნეტს, როუტერისა და ფიქსირებული IP ჩათვლით.

დისტანციური აპარატისთვის, ინტერნეტ სერვისის პროვაიდერი იგივეა, ამიტომ კონფიგურაცია უფრო ადვილია და მე არ მჭირდება DNS.

Ჩემს სახლში:

  • ჩემს როუტერში, მე ვქმნი პორტის მარშრუტს "remote_internet_fixed_IP" - დან "port_34567" - მდე "my_raspberry_IP" პორტში "22"
  • ჩემს ჟოლოში,/home/pi/სკრიპტებში/SB_sync, მე ვცვლი "port_distant" მნიშვნელობას "22" "port_34567" - ით

შორეულ ადგილას:

  • როუტერში მე ვქმნი პორტის მარშრუტს "my_internet_fixed_IP" - დან "port_34567" - დან "my_raspberry_IP" - მდე პორტში "22"
  • დისტანციურ ჟოლოში,/home/pi/სკრიპტებში/SB_sync, მე ვცვლი "port_distant" მნიშვნელობას "22" "port_34567" - ით

თქვენი განაცხადისათვის:

  • თქვენ უნდა შეცვალოთ IP და პორტი_34567 საკუთარით.
  • დინამიური ინტერნეტის IP შემთხვევაში, თქვენ უნდა გამოიწეროთ DNS.

დისტანციური ჟოლოს მფლობელის დახმარებით გაიმეორეთ წინა ნაბიჯის ტესტი.

დასრულდა!

ნაბიჯი 19: ბიბლიოგრაფია

დააინსტალირეთ Raspbian µSD ბარათზე

მორგება µSD ბარათის ფორმატირების შემდეგ (SSH და WiFi)

გამოიყენეთ თქვენი Raspberry Pi

Raspberry Pi Sync ერთად rysnc feralhosting

კონკრეტული SSH პორტი Rsync– ისთვის

დააინსტალირეთ და გამოიყენეთ Samba

გირჩევთ: