modified: rpi_backup.md

master
Долгий Артём 2022-08-09 17:28:01 +03:00
parent 3ec0a01572
commit d95489ce93
1 changed files with 8 additions and 7 deletions

View File

@ -4,7 +4,7 @@
Создать резервную копию мало, необходимо также быть уверенным в том, что в случае необходимости, с ранее созданной резервной копии можно восстановиться. Ведь в процессе создания резервной копии, исходные данные могут изменяться - происходит чтение/запись, таким образом, есть вероятность, что в резервную копию попадут не консистентные данные и восстановиться с такой резервной копии будет невозможно. Чтобы избежать подобных проблем, необходимо исключить возможность изменения исходных данных в процессе создания резервных копий. Например, при создании образа системы, необходимо, чтобы раздел, резервную копию которого будем выполнять, не был смонтирован. Этого легко добиться, если это не загрузочный раздел. Создать резервную копию мало, необходимо также быть уверенным в том, что в случае необходимости, с ранее созданной резервной копии можно восстановиться. Ведь в процессе создания резервной копии, исходные данные могут изменяться - происходит чтение/запись, таким образом, есть вероятность, что в резервную копию попадут не консистентные данные и восстановиться с такой резервной копии будет невозможно. Чтобы избежать подобных проблем, необходимо исключить возможность изменения исходных данных в процессе создания резервных копий. Например, при создании образа системы, необходимо, чтобы раздел, резервную копию которого будем выполнять, не был смонтирован. Этого легко добиться, если это не загрузочный раздел.
Но как быть, если нужно создать резервную копию (образ) загрузочного раздела или всего диска? - Необходимо выполнить загрузку с какого-нибудь live-cd и средствами этого самого live-cd создать образ системы. С Raspberry Pi 4 ситуация немного проще, достаточно извлечь SD-карту, создать её образ и сохрать этот образ в надёжном месте. Всё это ручная работа, которая требует времени. Но как быть, если нужно создать резервную копию (образ) загрузочного раздела или всего диска? - Необходимо выполнить загрузку с какого-нибудь live-cd и средствами этого самого live-cd создать образ системы. С Raspberry Pi 4 ситуация немного проще, достаточно извлечь SD-карту, создать её образ и сохранить этот образ в надёжном месте. Всё это ручная работа, которая требует времени.
## Один из способов автоматизации создания образа системы Raspberry Pi 4 описан ниже. ## Один из способов автоматизации создания образа системы Raspberry Pi 4 описан ниже.
@ -15,26 +15,27 @@ Raspberry Pi 4, 400 и Compute Module 4 используют EEPROM для за
Таким образом, выполнить создание образа SD-карты RPI можно если: Таким образом, выполнить создание образа SD-карты RPI можно если:
- записать образ системы на USB накопитель, подойдёт Raspberry Pi OS lite (<https://www.raspberrypi.com/software/operating-systems/>); - записать образ системы на USB накопитель, подойдёт Raspberry Pi OS lite (<https://www.raspberrypi.com/software/operating-systems/>);
- подключить USB накопитель к RPI;
- переключить EEPROM в режим загрузки с USB; - переключить EEPROM в режим загрузки с USB;
- выполнить загрузку с USB; - выполнить загрузку с USB;
- создать образ SD-карты и передать его в надёжное сетевое хранилище; - создать образ SD-карты и передать его в надёжное сетевое хранилище;
- вернуть EEPROM в режим загрузки с SD-карты; - вернуть EEPROM в режим загрузки с SD-карты;
- перезагрузить RPI. - перезагрузить RPI.
Ничего сложного, осталось найти способ автоматического переключения способов загрузки в EEPROM. И такой способо существует - утилита `rpi-eeprom-config` Ничего сложного, осталось найти способ автоматического переключения способов загрузки в EEPROM. И такой способ существует - утилита `rpi-eeprom-config`
Нам достаточно двух ключей: Нам достаточно двух ключей:
-a, --apply -a, --apply
-o, --out -o, --out
сохранить текущие настройки загрузчика во внешний файл сохранить текущие настройки EEPROM во внешний файл
```bash ```bash
pi@sdboot:~ $ sudo rpi-eeprom-config -o ~/eeprom.conf pi@sdboot:~ $ sudo rpi-eeprom-config -o ~/eeprom.conf
``` ```
применить конфигурацию загрузчика из файла применить конфигурацию EEPROM из файла
```bash ```bash
pi@sdboot:~ $ sudo rpi-eeprom-config -a ~/eeprom.conf pi@sdboot:~ $ sudo rpi-eeprom-config -a ~/eeprom.conf
@ -42,7 +43,7 @@ pi@sdboot:~ $ sudo rpi-eeprom-config -a ~/eeprom.conf
Осталось окончательно сформировать архитектуру нашего решения по созданию образа. Осталось окончательно сформировать архитектуру нашего решения по созданию образа.
**На системе с SD** **На системе загруженной с SD**
1. Необходимо создать конфигурационный файл EEPROM, который установит загрузку на USB 1. Необходимо создать конфигурационный файл EEPROM, который установит загрузку на USB
@ -104,7 +105,7 @@ pi@sdboot:~ $ sudo crontab -e
0 2 * * 3 /opt/scripts/rpi_usb_boot.sh 0 2 * * 3 /opt/scripts/rpi_usb_boot.sh
``` ```
**На системе с USB** **На системе загруженной с USB**
4. Обеспечить подключение к хранилищу по SSH на основе ключа 4. Обеспечить подключение к хранилищу по SSH на основе ключа