Как сделать полноценную резервную копию WB6


#1

Как сделать полноценную резервную копию контроллера wb6? И затем с нее восстанавливаться? Есть готовое решение?


#2

Скопируйте весь диск через dd


назначил(а) ответственного Kilpio #3

Разделил эту тему #4

Сообщение перенесено в новую тему: Свободное место на Wiren Board 6


#5

Дайте пожалуйста ссылку на инструкцию как это делается.

То, что мне попадается начинается обычно с
“Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd”
Это не наш случай?


#6

Нашел подходящую рекомендацию
"Бэкап Raspberry Pi под Linux
В Linux-системах сделать бэкап Raspberry Pi можно с помощью системной утилиты dd.
Для этого нужно ввести в терминале следующую команду:
sudo dd if=/dev/mccblk0 of=/home/Username/Desktop/raspberrypi-backup.img "

В консоли получил список имеющихся разделов на WB6:
lrwxrwxrwx 1 root root 15 авг 1 06:03 07c18bd0-f2d9-4448-8d97-24ec5b857ed1 -> …/…/mmcblk0p5
lrwxrwxrwx 1 root root 15 авг 1 06:03 5a888776-5522-4763-ad2d-1a103f86f9f4 -> …/…/mmcblk0p2
lrwxrwxrwx 1 root root 15 авг 1 06:03 a7ae5f47-defa-40b2-bca0-1a799b2be3ea -> …/…/mmcblk0p3
lrwxrwxrwx 1 root root 15 авг 1 06:03 a87dbdff-b844-4679-8050-0a748536de51 -> …/…/mmcblk0p6

Пожалуйста поясните какие из них подлежат резервному копированию?


#7

При помощи команды
lsblk
получил список разделов

Создал директорию “flash” в папке mnt

Далее смонтировал в нее USB
mount /dev/sda1 /mnt/flash

записал на USB все разделы с WB6
dd if=/dev/mmcblk0 of=/mnt/flash/mmcblk0-backup.img

Правильно ли сделан BACKUP?
Все ли разделы WB6 необходимо резервировать, а затем восстанавливать?
Где можно найти информацию по назначению разделов WB6?


#8

лучше не весь /dev/mmcblk0 , а только файл раздел с настройками. Это /mnt/data , раздел /dev/mmcblk0p6.
Копировать можно не весь раздел, а только файлы с него.


#9

Хочу сделать бэкап WB6 перед перепрошивкой.
Какие каталоги нужно копировать, чтобы все мои личные файлы и настройки сохранились?

Подключился к WB6 напрямую через Ethernet кабелем.
Запускаю копирование через Secure FTP Connections в Total Commander.
Меньше, чем через минуту TC виснет. Как с этим бороться?
Как тогда бэкап сделать?!


#10

stskr, добрый день!
А где хранятся ваши личные файлы? Total Commander не самое удачное средство для резервного копирования файлов – после их переноса на Windows-копьютер вы потеряете метаданные о владельцах и правах файлов. Настройки сохраняйте, как описал Flagman, с поправкой EvgenyBoger


#11

Очень понятно стало! :frowning:

Почему у вас почти ни на что нет нормальных инструкций (а те, которые есть, не работают), а нужно искать информацию по кусочкам в вики, readme-файлах и на форумах?!

Что такое метаданные? Зачем они мне нужны?
А как еще копировать по-другому? И что именно копировать?

Я скопировал раздел /mnt/data, но там нет полного каталога /etc или я ошибаюсь?
Каталог /etc отдельно нужно копировать.
Я уже не помню, что и где я менял. Я вносил изменения в файлы конфигурации (.conf) и переделывал UI. Это все хранится в каталоге /etc или еще где-то есть?

Есть подозрения, что подключение постоянно отваливается из-за проблем с авторизацией, потому что у меня постоянно выскакивает окно ввода логина/пароля.


#12

Файлы в Linux, кроме содержимого, имеют права доступа, владельцев. Во многих случаях сохранение этих данных важно для работоспособности системы и ее компонентов. При сохранении файлов копированием в Windows эта информация утрачивается.

Для резервного копирования в Linux предусмотрены соответствующие инструменты, которые сохраняют данную информацию, например, tar.

Для контроллера, который настраивался штатно, достаточно создания образа раздела, который монтируется в /mnt/data. Если были изменены какие-то еще системные настройки, добавлены новые компоненты, то необходимо резервное копирование конфигурационных файлов установленного пользователем ПО и отдельных файлов в которые были внесены изменения.

После обновления прошивки простое копирование всех ранее сохраненных файлов поверх установленных скорее всего приведет к проблемам с функционированием. В этом случае разумным подходом является создание образа тех разделов диска, где происходили изменения файлов, либо всего диска целиком.

Исчерпывающее руководство о том, как это сделать, привел Flagman в сообщении https://support.wirenboard.com/t/kak-sdelat-polnoczennuyu-rezervnuyu-kopiyu-wb6/1693/7
На флешке создается файл с образом диска, содержащего все, что нужно для восстановления в случае проблем.


#13

Я менял только стандартные конфигурационные файлы для вывода данных с моего ПЛК в UI и шаблоны в папке templates. Правильно ли я понимаю, что описанной процедуры мне будет достаточно для возможности восстановления в будущем?


#14

А как это сделать?

Через dd не получается.
root@wirenboard-AUCPMJ6J:~# dd if=/mnt/data of=/mnt/flash/20190121.img
dd: error reading ‘/mnt/data’: Is a directory

Через dd полная копия раздела - 1,5Гб, а в самом разделе всего 12Мб всех файлов.
Зачем мне 1,5Гб?

1523580928 bytes (1.5 GB, 1.4 GiB) copied, 410.965 s, 3.7 MB/s

Опять же я наблюдаю, что в этом разделе не все файлы конфигурации, например нет файлов
sysctl.conf, wb-mqtt-serial.conf, нет папки templates.

Дайте, пожалуйста, инструкцию, как сделать полную резервную копию!


#15

Подробной инструкции, к сожалению, нет.
Файлы из templates и .conf-файлы можно просто скопировать и записать назад потом. Часть симлинков в /etc, вероятно, затерлась. Поэтому, чтобы иметь возможность восстановить все, сохраните полностью образ диска, как пишет Flagman, командой

dd if=/dev/mmcblk0 of=/mnt/flash/mmcblk0-backup.img
смонтировав флешку в /mnt/flash/. В случае неполадок вы сможете восстановить изначальный образ контроллера с помощью того же dd, поменяв местами значения параметров of и if:
dd if=/mnt/flash/mmcblk0-backup.img of=/dev/mmcblk0

Если захотите копировать отдельные файлы, то монтируйте разделы по отдельности, вот хорошая инструкция, как монтировать отдельные разделы: http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux


#16

А что находится в /mmcblk0? И что находится в /mmcblk0p6?


#17

Надо дополнить еще инструкцию выше командой mkdir /mnt/flash


#18

mmcblk0 – это весь жесткий диск контроллера. Да, верно, директорию /mnt/flash надо создать командой

mkdir /mnt/flash
, спасибо!

#19

root@wirenboard-AUCPMJ6J:/usr/share# cp -a /var/www /mnt/flash/www

cp: cannot create symbolic link ‘/mnt/flash/www/uploads’: Operation not permitted

cp: failed to preserve ownership for ‘/mnt/flash/www/uploads.default’: Operation not permitted

Что означает эта ошибка?
Правильно ли я понимаю, что в папке /var/www находится весь UI на WB6?


#20

Буквально то, что написано в сообщениях. Проблема в том, что вы пытаетесь сохранить файлы из файловой системы ext4 на диск с файловой системой fat32 на флешке, которая не поддерживает вот метаинформацию, которую я выше упоминал.
Файлы веб-интерфейса лежит в /var/www, совершенно верно.
Чтобы скопировать директорию и иметь возможность ее восстановить, создайте её архив командой

tar czvf var_www.tgz /var/www/*
например, в корневой директории, а затем переместите полученный архив var_www.tgz на флешку.

Обратите внимание на то, что при таком способе tar сохраняет симлинки, но не содержимое файлов, на которые они указывают. Это необходимо для корректного восстановления.

Так же можно поступить со всеми остальными директориями.