Съдържание:
- Консумативи
- Стъпка 1: За и против
- Стъпка 2: Подгответе SD: Качете Raspbian
- Стъпка 3: Подгответе SD: Персонализирайте картата
- Стъпка 4: Подгответе Raspberry Pi
- Стъпка 5: Начин 1: Свържете се с Pi с помощта на екрана, клавиатурата, мишката
- Стъпка 6: Начин 2: Свържете се към Pi чрез VNC от вашия компютър
- Стъпка 7: Подгответе HDD
- Стъпка 8: Конфигурирайте Rsync: Създайте синхронизиращ скрипт
- Стъпка 9: Конфигурирайте Rsync: Извършвайте синхронизация веднъж на ден
- Стъпка 10: Подгответе самба
- Стъпка 11: [Незадължително] Samba: Конфигурирайте достъпа за четене към мрежовото устройство Vincent
- Стъпка 12: [Незадължително] Samba: Достъп до Log
- Стъпка 13: [По избор] Samba: Скриване на безполезна папка „/home/pi“
- Стъпка 14: Достъп до мрежово устройство от Windows
- Стъпка 15: Подгответе втората машина
- Стъпка 16: Създайте SSH между локална и отдалечена машина
- Стъпка 17: Тествайте синхронизацията
- Стъпка 18: Конфигурирайте интернет маршрути
- Стъпка 19: Библиография
Видео: 2 Raspberry Pis за лесен и евтин отдалечен RAID: 19 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Предназначение
- В случай на инцидент у дома, искам да мога да възстановя основните си цифрови документи (снимки, документи за самоличност и т.н.) и по желание да ги споделя.
- Искам да споделя това решение с някой друг (някой, на когото имам доверие, родители или приятел)
- Не искам да разчитам на публичен облак (абонамент, такси, развиваща се GTC и т.н.)
Принцип
- Създайте 2 идентични машини за съхранение, поставете ги на 2 различни места (например 2 къщи).
- Задайте специално място за съхранение на всяко място на всяка машина.
- Редовно синхронизирайте 2 -те места за съхранение.
Консумативи
Хардуер
Всяка машина има:
- 1x Raspberry Pi 4 B 1GB
- 1x кутия за Raspberry Pi 4
- 1x захранване USB C 5V 3A
- 1x SD карта Kingston SDC10/16GB
- 1x NAS HDD 1To WD Red Mobile
- 1x HDD кутия BX-2525U3
Софтуер Windows
- balenaEtcher
- Работният плот на Raspbian buster е пълен
- mobaxterm
- VNC viewer (по избор)
Пакети Raspbian
- Rsync
- самба
Стъпка 1: За и против
Предимства
- Това решение е евтино: нямам абонаментни такси и хардуерът е достъпен.
- Този "отдалечен RAID" е доста лесен за правене. Не се нуждая от допълнителни материали или инструменти, за да го направя.
- Raspberry Pi може да се използва за допълнителни приложения като медиен център (kodi, …) или domotic (jeedom, domoticz, …).
- Моите данни не са достъпни в публичен облак, който може да бъде цел за масово пиратство на данни.
- Използвайки твърд диск от 1To, средната консумация на електроенергия е същата като облака.
- Защитната стена на моя рутер и SSH криптирането на моята връзка обезопасяват обмена на данни.
Недостатъци/подобрения
- Някой друг има копие от документите ми. В моя случай този човек е от семейството ми, така че не ме интересува.
- Използвам профила по подразбиране "pi", със специална парола за двете машини. Бих могъл да осигуря достъп малко повече, като използвам отделен конкретен акаунт от всяка страна, а не акаунта "pi".
- Разчитам на моя доставчик на интернет услуги и SSH криптиране за сигурността на връзката между двете къщи. Могат да се правят изследвания за подобряване на нивото на сигурност.
- Засега направих само 2 дяла на устройство. По -малък трети дял (~ 5Go) може да бъде полезен за други дейности на Raspbian, за да се запази µSD картата.
Стъпка 2: Подгответе SD: Качете Raspbian
От компютър (Windows 10 в моя случай) следвайте официалното ръководство за инсталиране (https://www.raspberrypi.org/downloads/raspbian/), за да инсталирате „Raspbian Buster с десктоп“.
Добавете празен файл с име "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: Персонализирайте картата
Добавете празен файл с име "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: Подгответе Raspberry Pi
Поставете SD картата си в Pi
Включете Raspberry Pi, изберете начин за отваряне на работния плот:
- Използване на HDMI кабел, екран, клавиатура и мишка
- Използване на VNC от вашия компютър.
За допълнителна информация посетете
Стъпка 5: Начин 1: Свържете се с Pi с помощта на екрана, клавиатурата, мишката
Свържете порта Raspberry Pi HDMI0 към екран с кабел micro-hdmi към hdmi
Включете USB клавиатура и мишка (или безжична мини клавиатура като "Rii Mini i8 Wireless")
Включете USB C захранването и включете Raspberry Pi.
Raspbian ще започне на вашия екран.
След като работният плот се появи, отговорете на панела за конфигуриране, за да завършите конфигурацията на вашия Pi.
Стъпка 6: Начин 2: Свържете се към Pi чрез VNC от вашия компютър
Свържете Raspberry Pi към вашата ethernet мрежа (чрез wifi или с кабел).
От вашия компютър отворете Mobaxterm (или замазка), стартирайте нова ssh връзка (вход pi, парола малина) и конфигурирайте своя Pi:
ssh pi@raspberry_ip
sudo raspi-config
- в опцията за свързване / VNC: задайте Да
- в Разширени опции / Резолюция: задайте DMT Mode 82 1920x1080 60Hz 16: 9
- в Разширени опции / GL драйвер: задайте G1 Legacy Original оригинално не GL GL настолно устройство
Запазете и излезте от raspi-config
Рестартирайте Pi:
sudo рестартиране
От вашия компютър отворете VNC Viewer и се свържете с Pi, като използвате данните за вход pi, малина парола: работният плот Pi трябва да се появи.
Отговорете на панела за конфигуриране, за да завършите конфигурацията на вашия Pi.
След като промените паролата за Pi, VNC връзката може да се затвори. Рестартирайте го, като използвате новата си парола.
Стъпка 7: Подгответе HDD
- Свържете твърдия диск към компютъра.
- Отворете мениджъра на дялове на Windows, изберете вашия HDD и създайте 2 NTFS дяла (или 3, ако искате малко свободно място за запазване на µSD картата). Например, аз наричам двете части "loic" и "vincent"
- Свържете твърдия диск към Pi: Raspbian трябва да монтира автоматично 2 диска на работния плот. Устройствата са свързани към папката/media/pi/loic/и/media/pi/vincent/
Стъпка 8: Конфигурирайте Rsync: Създайте синхронизиращ скрипт
отворете подкана на работния плот на Pi
В/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} ехо " Синхронизация 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 "--------- -Дебют: "` 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}
Конфигурирайте редове 3 до 7:
- заменете „loic“и „vincent“с името на вашите дискове
- port_distant: за сега използвайте 22 като отдалечен порт. В последната стъпка ще трябва да го замените с друга стойност по ваш избор (като пример: 34567)
запазете файла и излезте.
Стъпка 9: Конфигурирайте Rsync: Извършвайте синхронизация веднъж на ден
В подканата отворете crontab:
sudo crontab -u пи -е
в края на файла добавете cron:
0 1 * * */usr/bin/flock -xn /tmp/flocktmp.lock -c "/home/pi/scripts/SB_sync"
В този cron скриптът SB_sync ще се стартира всеки ден в 1:00 сутринта. Изберете часа, който искате, но го променете между двете машини, така че 2 -те синхронизации ще се изпълняват един след друг.
Запишете и затворете файла.
Стъпка 10: Подгответе самба
Samba свързва Linux хранилище към мрежата на Windows.
Отворете подкана и инсталирайте пакетите:
sudo apt-get install samba samba-common-bin -y
Упълномощете акаунта „pi“за достъп до Samba:
sudo smbpasswd -a пи
Запазете конфигурационния файл по подразбиране на Samba:
cp /etc/samba/smb.conf /etc/samba/smb.old
Отворете файла:
sudo nano /etc/samba/smb.conf
И в края на файла добавете тези редове, за да конфигурирате вашето устройство да споделя:
[ДОКУМЕНТИ LOIC]
коментар = NAS de loic path =/media/pi/loic валидни потребители = @users force group = потребителите създават маска = 0660 маска на директория = 0775 само за четене = не може да се преглежда = да публично = да
Запазете файла и излезте.
Стъпка 11: [Незадължително] Samba: Конфигурирайте достъпа за четене към мрежовото устройство Vincent
Отворете конфигурационния файл на Samba:
sudo nano /etc/samba/smb.conf
И в края на файла добавете тези редове, за да конфигурирате другото устройство, до което искате да получите достъп:
[ДОКУМЕНТИ ВИНСЪНТ]
коментар = резервно копие на vincent път =/media/pi/vincent валидни потребители = @users force group = потребителите създават маска = 0660 маска на директория = 0775 само за четене = да прегледен = да публичен = да
Запазете файла и излезте.
Стъпка 12: [Незадължително] Samba: Достъп до Log
Отворете конфигурационния файл на Samba:
sudo nano /etc/samba/smb.conf
И в края на файла добавете тези редове за достъп от Windows до състоянието на синхронизация:
[LOG SYNCHRO] comment = "регистри на синхронизиращи машини"
пътека =/home/pi/SB_sync_logs/valid users = @users force group = users create mask = 0660 directory mask = 0771 only read = yes browseable = yes public = yes
Запазете файла и излезте.
Стъпка 13: [По избор] Samba: Скриване на безполезна папка „/home/pi“
Отворете конфигурационния файл на Samba:
sudo nano /etc/samba/smb.conf
Във файла намерете следните редове и добавете „;“в началото да го коментирам:
; [домове]
; коментар = Начални директории; прегледен = не; само за четене = да; създаване на маска = 0700; указателна маска = 0700; валидни потребители = %S
Запазете файла и излезте.
Стъпка 14: Достъп до мрежово устройство от Windows
От компютър с Windows отворете изследовател.
Кликнете върху „Мрежа“и опреснете прозореца.
Ще се появи компютър с името на вашата Rapberry Pi.
Отворете го, като използвате акаунта "pi" и паролата си.
Трябва да видите папките, добавени преди това в конфигурационния файл на Samba.
Стъпка 15: Подгответе втората машина
Вашата първа машина е подготвена.
Повторете предишните стъпки за втората машина, като замените (например) „loic“с „vincent“.
След като двете машини ще бъдат подготвени, ще трябва да обмените 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:
- добавете файл във вашето локално мрежово устройство (т.е. / Rpi4-loic / documents loic / test / test.txt),
- стартирайте скрипта на вашия локален Pi работен плот (изпълнете SB_sync в/home/pi/scripts)
- проверете дали вашият файл се появява в резервното мрежово устройство (т.е. / Rpi4-vincent / documents loic / test / test.txt).
Трябва да можете да четете и записвате файлове в / Rpi4-loic / documents loic / test \, но да четете само файлове в / Rpi4-vincent / documents loic / test \.
Следващата и последна стъпка е да преместите „отдалечената“машина в мрежа на друго място и да конфигурирате връзка между двата маршрутизатора чрез интернет.
Стъпка 18: Конфигурирайте интернет маршрути
В моя случай за локалната машина у дома се абонирам за достъп до интернет, включително рутер и фиксиран IP.
За отдалечената машина доставчикът на интернет услуги е същият, така че конфигурирането е по -лесно и нямам нужда от DNS.
Вкъщи:
- В моя рутер създавам маршрут на порт от „remote_internet_fixed_IP“на „port_34567“до „my_raspberry_IP“на порт „22“
- В моята малинка, в/home/pi/scripts/SB_sync, заменям стойността "port_distant" "22" с "port_34567"
На отдалеченото място:
- В рутера създавам маршрут на порт от „my_internet_fixed_IP“на „port_34567“до „my_raspberry_IP“на порт „22“
- В отдалечената малинка, в/home/pi/scripts/SB_sync, заменям стойността "port_distant" "22" с "port_34567"
За вашето приложение:
- Трябва да смените IP адресите и port_34567 сами.
- В случай на динамичен интернет IP, трябва да се абонирате за DNS.
С помощта на собственика на отдалечена малина повторете теста от предишната стъпка.
Готово!
Стъпка 19: Библиография
Инсталирайте Raspbian на µSD карта
Персонализирайте µSD картата след форматиране (SSH и WiFi)
Използване на вашия Raspberry Pi
Raspberry Pi Sync с rysnc чрез feralhosting
Специфичен SSH порт за Rsync
Инсталирайте и използвайте Samba
Препоръчано:
Направи си сам евтин и лесен начин за оформяне на печатната платка с помощта на поялник: 6 стъпки
Направете сами евтин и лесен начин да омекотите вашата печатна платка с помощта на поялник: Когато бях начинаещ в печат на печатни платки и запояване, винаги съм имал проблем, че спойката не залепва на правилното място, или медни следи се счупват, окисляват се и много други . Но се запознах с много техники и хакове и един от тях беше
Лесен, евтин и надежден сензор за докосване само с 3 части: 3 стъпки
Лесен, евтин и надежден сензор за докосване само с 3 части: Управлението на всички видове електронни устройства с докосване на пръста ви може да бъде доста полезно. В тази инструкция ще ви покажа как да изградите лесен, но мощен сензор за докосване, който работи безупречно. Всичко, от което се нуждаете, е стандартен транзистор и два
Лесен, евтин и достъпен стилус: 4 стъпки (със снимки)
Лесен, евтин и достъпен стилус: Капацитивните сензори за докосване се появяват в различни форми. Много популярни форми включват екрани на смартфони, таблети и ключове. За да се активират тези екрани или превключватели, трябва да се доближи проводящ материал. Мнозина използват своите
Направи си сам евтин лесен Raspberry Pi вентилатор: 4 стъпки
Направи си сам евтин лесен Raspberry Pi вентилатор: Това е бърз лесен Инструкции за това как да направите малък, но мощен вентилатор на Raspberry Pi. Наслади се
DIY MusiLED, музикално синхронизирани светодиоди с приложение за Windows и Linux с едно щракване (32-битово и 64-битово). Лесен за пресъздаване, лесен за използване, лесен за пренасяне .: 3 стъпки
DIY MusiLED, музикално синхронизирани светодиоди с приложение за Windows и Linux с едно щракване (32-битово и 64-битово). Лесен за пресъздаване, лесен за използване, лесен за пренасяне .: Този проект ще ви помогне да свържете 18 светодиода (6 червени + 6 сини + 6 жълти) към вашата платка Arduino и да анализирате сигналите на звуковата карта на вашия компютър в реално време и да ги предадете на светодиодите, за да ги светят според ритъма (Snare, High Hat, Kick)