Оглавление:
- Запасы
- Шаг 1. Плюсы и минусы
- Шаг 2: Подготовьте SD: Загрузите Raspbian
- Шаг 3: Подготовьте SD: Настройте карту
- Шаг 4: подготовьте Raspberry Pi
- Шаг 5: Способ 1: подключитесь к Pi с помощью экрана, клавиатуры, мыши
- Шаг 6: Способ 2: подключитесь к Pi с помощью VNC с вашего компьютера
- Шаг 7: подготовьте жесткий диск
- Шаг 8: Настройте Rsync: создайте сценарий синхронизации
- Шаг 9: Настройте Rsync: выполняйте синхронизацию один раз в день
- Шаг 10: подготовьте Samba
- Шаг 11: [Необязательно] Samba: настройте доступ для чтения к сетевому диску Винсент
- Шаг 12: [Необязательно] Samba: доступ к журналу
- Шаг 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 11:50
Цель
- В случае домашнего инцидента я хочу иметь возможность восстановить свои основные цифровые документы (фотографии, документы, удостоверяющие личность и т. Д.) И, при желании, поделиться ими.
- Я хочу поделиться этим решением с кем-то еще (с кем-то, кому я доверяю, родителями или другом)
- Я не хочу зависеть от общедоступного облака (подписка, сборы, развивающиеся GTC и т. Д.)
Принцип
- Создайте 2 одинаковые складские машины, поместите их в 2 разных места (например, 2 дома).
- Назначьте выделенное пространство для хранения для каждого места на каждой машине.
- Регулярно синхронизируйте 2 места для хранения.
Запасы
Аппаратное обеспечение
В каждой машине есть:
- 1x Raspberry Pi 4 B 1 ГБ
- 1x коробка для Raspberry Pi 4
- 1x блок питания USB C 5V 3A
- 1x SD-карта Kingston SDC10 / 16 ГБ
- 1x NAS HDD 1 для WD Red Mobile
- 1x HDD бокс BX-2525U3
Программное обеспечение Windows
- BalenaEtcher
- Рабочий стол Raspbian buster full
- Mobaxterm
- Программа просмотра VNC (необязательно)
Пакеты Raspbian
- Rsync
- самба
Шаг 1. Плюсы и минусы
Преимущества
- Это дешевое решение: у меня нет абонентской платы, а оборудование доступно.
- Этот «удаленный RAID» сделать довольно просто. Для этого мне не нужны дополнительные материалы или инструменты.
- Raspberry Pi можно использовать для дополнительных приложений, таких как медиацентр (kodi,…) или домотик (jeedom, domoticz,…).
- Мои данные недоступны в общедоступном облаке, которое может стать целью массового пиратства данных.
- При использовании жесткого диска 1To среднее потребление электроэнергии такое же, как в облаке.
- Брандмауэр моего маршрутизатора и шифрование SSH моего соединения обеспечивают безопасность обмена данными.
Недостатки / улучшения
- У кого-то есть копия моих документов. В моем случае этот человек из моей семьи, поэтому мне все равно.
- Я использую учетную запись «пи» по умолчанию с выделенным паролем для обеих машин. Я мог бы защитить доступ немного больше, используя отдельную учетную запись на каждой стороне, а не учетную запись «пи».
- Я полагаюсь на своего интернет-провайдера и шифрование 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 с помощью экрана, клавиатуры, мыши
Подключите порт HDMI0 Raspberry Pi к экрану с помощью кабеля micro-hdmi-hdmi.
Подключите USB-клавиатуру и мышь (или беспроводную мини-клавиатуру, такую как "Rii Mini i8 Wireless")
Подключите блок питания USB C и включите Raspberry Pi.
Raspbian запустится на вашем экране.
Когда появится рабочий стол, ответьте на панель конфигурации, чтобы завершить настройку вашего Pi.
Шаг 6: Способ 2: подключитесь к Pi с помощью VNC с вашего компьютера
Подключите Raspberry Pi к вашей сети Ethernet (по Wi-Fi или с помощью кабеля).
На вашем компьютере откройте Mobaxterm (или putty), запустите новое ssh-соединение (логин pi, пароль raspberry) и настройте свой Pi:
ssh pi @ raspberry_ip
sudo raspi-config
- в опции интерфейса / VNC: установите Да
- в Дополнительные параметры / Разрешение: установите режим DMT 82 1920x1080 60 Гц 16: 9
- в Advanced options / GL driver: установите G1 Legacy Original без GL настольный диск
Сохраните и выйдите из raspi-config
Перезагрузите Pi:
перезагрузка sudo
На вашем компьютере откройте VNC Viewer и подключитесь к Pi, используя логин pi, пароль raspberry: должен появиться рабочий стол Pi.
Ответьте на панель конфигурации, чтобы завершить настройку вашего Pi.
После изменения пароля Pi соединение VNC может быть закрыто. Перезагрузите его, используя новый пароль.
Шаг 7: подготовьте жесткий диск
- Подключите жесткий диск к компьютеру.
- Откройте диспетчер разделов Windows, выберите жесткий диск и создайте 2 раздела NTFS (или 3, если вам нужно небольшое свободное место для хранения карты µSD). Например, я называю 2 части «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} Синхронизация в процессе: $ {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}
Настройте строки с 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 синхронизатора выполнялись один за другим.
Сохраните и закройте файл.
Шаг 10: подготовьте Samba
Samba подключает хранилище Linux к сети Windows.
Откройте приглашение и установите пакеты:
sudo apt-get install samba samba-common-bin -y
Авторизуйте учетную запись «pi» для доступа к Samba:
sudo smbpasswd -a pi
Сохраните файл конфигурации Samba по умолчанию:
cp /etc/samba/smb.conf /etc/samba/smb.old
Откройте файл:
судо нано /etc/samba/smb.conf
И в конце файла добавьте эти строки, чтобы настроить общий доступ к диску:
[ДОКУМЕНТЫ]
comment = NAS de loic path = / media / pi / loic допустимые пользователи = @users force group = users create mask = 0660 directory mask = 0775 read only = no browseable = yes public = yes
Сохраните файл и выйдите.
Шаг 11: [Необязательно] Samba: настройте доступ для чтения к сетевому диску Винсент
Откройте файл конфигурации Samba:
судо нано /etc/samba/smb.conf
И в конце файла добавьте эти строки, чтобы настроить другой диск, к которому вы хотите получить доступ:
[ДОКУМЕНТЫ ВИНСЕНТ]
comment = backup de vincent путь = / media / pi / vincent допустимые пользователи = @users force group = users create mask = 0660 directory mask = 0775 только чтение = да browseable = yes public = yes
Сохраните файл и выйдите.
Шаг 12: [Необязательно] Samba: доступ к журналу
Откройте файл конфигурации Samba:
судо нано /etc/samba/smb.conf
И в конце файла добавьте эти строки для доступа из окон к статусу синхронизации:
[LOG SYNCHRO] comment = "регистрирует синхронизирующие машины"
path = / home / pi / SB_sync_logs / valid users = @users force group = users create mask = 0660 directory mask = 0771 только чтение = да просматриваемый = да общедоступный = да
Сохраните файл и выйдите.
Шаг 13: [Необязательно] Samba: скрыть бесполезную папку "/ home / pi"
Откройте файл конфигурации Samba:
судо нано /etc/samba/smb.conf
Найдите в файле следующие строки и добавьте ";" в начале прокомментируйте это:
; [дома]
; comment = Домашние каталоги; browseable = нет; только чтение = да; создать маску = 0700; маска каталога = 0700; допустимые пользователи =% S
Сохраните файл и выйдите.
Шаг 14: доступ к сетевому диску из Windows
На компьютере с Windows откройте проводник.
Щелкните «Сеть» и обновите окно.
Появится компьютер с именем вашего Rapberry Pi.
Откройте его, используя учетную запись «пи» и свой пароль.
Вы должны увидеть папки, добавленные ранее в файл конфигурации Samba.
Шаг 15: подготовьте вторую машину
Ваша 1-я машина готова.
Повторите предыдущие шаги для второй машины, заменив (например) «loic» на «vincent».
Как только 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:
- добавьте файл на локальный сетевой диск (например, / 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».
- В моем raspberry в / 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 с rysnc от feralhosting
Определенный порт SSH для Rsync
Установите и используйте Samba
Рекомендуемые:
Робот для удаленного поиска и утилизации с управляемым движением Leap Motion: 5 шагов
Робот для удаленного поиска и утилизации с управляемым движением Leap Motion: в рамках моей заявки на участие в конкурсе Leap Motion # 3D Jam я был рад создать этого поисково-спасательного робота с беспроводным управлением жестами на основе Raspberry Pi. Этот проект демонстрирует и предоставляет минималистичный пример того, как беспроводные 3D-жесты рук могут
Приложение Android / iOS для удаленного доступа к маршрутизатору OpenWrt: 11 шагов
Приложение Android / iOS для удаленного доступа к маршрутизатору OpenWrt: недавно я купил новый маршрутизатор (Xiaomi Mi Router 3G). И, конечно же, это новое замечательное оборудование вдохновило меня начать работу над этим проектом;)
Как легко изменить знак «свет / светодиод» для простого программирования Arduino: 7 шагов (с изображениями)
Как легко изменить знак «свет / светодиод» для легкого программирования Arduino: в этой инструкции я покажу, как любой может превратить что-то со светом в программируемые мигающие огни Arduino или «движущиеся огни»;
Кейс для быстрого и простого проекта: 15 шагов
Быстрый и легкий проектный кейс: в этом проекте показано, как собрать простой проектный кейс из материалов хозяйственного магазина примерно за полдень. Он особенно подходит для проектов, которым требуются пользовательские элементы управления или дисплеи. Для этого примера я построил футляр для удивительного "Дурацкого саун …"
Как превратить сотовый телефон LG EnV 2 в портативный модем удаленного доступа для ноутбука (или настольного компьютера): 7 шагов
Как превратить свой сотовый телефон LG EnV 2 в портативный модем для коммутируемого доступа для вашего ноутбука (или настольного компьютера): нам всем когда-то приходилось использовать Интернет там, где это было просто невозможно, например, в машине или в отпуске, когда они берут дорогостоящую сумму денег в час за использование своего Wi-Fi. наконец, я придумал простой способ получить