LINUX.ORG.RU
решено ФорумAdmin

Вопрос про мини комп

 ,


0

1

Добрый день.

Есть мини-комп BananaBPI M2U, на котором установлена ОС Линукс дебиан на SD карту.

Вопрос такой: можно ли как-то сделать бэкап этой системы на другую SD карту через CardReader?

это вторая СД карта

/dev/sda1
выхлоп
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.9G  3.2G  3.4G  49% /
devtmpfs        879M     0  879M   0% /dev
tmpfs          1007M     0 1007M   0% /dev/shm
tmpfs          1007M   17M  990M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs          1007M     0 1007M   0% /sys/fs/cgroup
tmpfs          1007M  116K 1007M   1% /tmp
tmpfs           202M   20K  202M   1% /run/user/1000
/dev/mmcblk0p1  256M  6.6M  250M   3% /media/pi/BPI-BOOT1
tmpfs           202M     0  202M   0% /run/user/0
/dev/sda1        15G  2.5M   15G   1% /media/pi/BPI-BOOT2

Да, только система должна быть выключена, то есть sd-карта из одноплатника должна быть подключена через кард-ридер к другой системе. Образ можно скопировать просто при помощи dd с карты в файл.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от RaptorsWings

Чтобы скопировать всю SDшку (включая загрузчик, например), а не только раздел номер N, надо указывать «/dev/mmcblk0» вместо «/dev/mmcblk0pN».

Можно ещё добавить «bs=102400», чтобы копирование шло блоками по 100 килобайт вместо дефолтных 512 байт. И если dd достаточно свежий, то ещё «status=progress», чтобы периодичестки выводилось состояние (сколько уже скопировано).

И перед началом копирования убедись, что никакие разделы не смонтировались автоматически. Если смонтировались - отмонтируй при помощи umount. Если этого не сделать, то есть риск получить поломанную ФС в бэкапе.

Deleted ()
Ответ на: комментарий от Deleted

Можно ещё добавить «bs=102400»

А можно использовать cat вместо dd и предоставить ядру выбор оптимальных параметров i/o.

anonymous ()
Ответ на: комментарий от anonymous

А можно использовать cat вместо dd и предоставить ядру выбор оптимальных параметров i/o.

Cat (из GNU coreutils) выбирает максимум из 128 KiB и размера блока ФС, поэтому в большинстве случаев будет копироваться 131072 байт за раз. Ядру не предоставляют выбор «оптимальных параметров I/O».

И ещё у cat нет индикатора прогресса, а у dd уже пять лет как есть.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

поэтому в большинстве случаев будет копироваться 131072 байт за раз

Ну, это в самый раз для большинства накопителей на флэш-памяти.

Ядру не предоставляют выбор «оптимальных параметров I/O».

Увы! Да оно ещё, похоже, не очень-то и работает:

 % cat /sys/block/nvme?n1/queue/optimal_io_size 
0
0
Хотя я могу ошибаться по поводу назначения этого файла.

И ещё у cat нет индикатора прогресса, а у dd уже пять лет как есть.

Зато есть у pv :)

anonymous ()
Ответ на: комментарий от anonymous

Ну, это в самый раз для большинства накопителей на флэш-памяти.

Если ты про тормознутость флешек и вытекающую из этого проблему с отображением прогресса, то тут размер записываемых за раз данных не имеет значения, так как в подавляющем большинстве случаем запись идёт во write-back кеш. Если хочется интерактивности, нужно вставлять fsync'и после write'ов.

по поводу назначения этого файла.

Cat всё равно туда не смотрит.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Если ты про тормознутость флешек

Нет, часто слышу, что физический размер ячейки памяти почти везде 128 Кб, включая любые SSD. Хотя это не то чтобы очень достоверно.

Cat всё равно туда не смотрит.

Это я понял :)

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.