The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как правильно бэкапить систему если один раздел?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Система / Linux)
Изначальное сообщение [ Отслеживать ]

"Как правильно бэкапить систему если один раздел?"  +/
Сообщение от s_alex (?), 25-Мрт-21, 14:25 
Добрый день.

На домашнем компьютере стоит Ubuntu и жесткий диск разбит на 3 раздела: swap, корневой и home. Для того чтобы бэкапить систему я при помощи CloneZilla записываю образ корневого раздела, а также копирую настройки программ из home, архивирую архиватором и кладу рядом с образом. Я пока новичек, изучаю систему и много эксперементирую с разными настройками. Если что-то происходит с системой не то, то я откатываю обратно образ корневого диска и копирую обратно настройки в home. При такой последовательности действий все мои документы, которые лежат в home, остаются в целостности и сохранности.

Теперь решил также поставить систему на ноут. Посколько там SSD небольшого размера, решил не разбивать на разделы и поставил все в один раздел. Как теперь правильно все это бэкапить? если я сделаю образ CloneZilla и восстановлю его потом, то пропадут документы в home.

Достаточно ли просто скопировать все файлы из раздела кроме папки home и настройки из home и обратно все скопировать? Будет ли система восстановлена при этом к первоначальному варианту? или нужно что-то еще сохранять (какие-то загрузочные данные и т.д.)?

Хотелось бы все это как-то автоматизировать. Можно ли как-то настроить Clonezilla чтобы он делал образ и потом восстанавливал все и не трогал при это документы или быть может есть еще какие-либо программы есть более удобные для данных целей?

Подскажите пожалуйста как делать бэкапы системы наиболее эффективно.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от universite (ok), 25-Мрт-21, 15:28 

> Хотелось бы все это как-то автоматизировать. Можно ли как-то настроить Clonezilla чтобы
> он делал образ и потом восстанавливал все и не трогал при
> это документы или быть может есть еще какие-либо программы есть более
> удобные для данных целей?

Clonezilla умеет бэкапить полностью весь диск, особенно, когда SSD маленького раздела.

Ответить | Правка | Наверх | Cообщить модератору

2. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от s_alex (?), 25-Мрт-21, 16:31 
> Clonezilla умеет бэкапить полностью весь диск, особенно, когда SSD маленького раздела.

Это понятно. Но в таком случае надо будет сначало перенести кудато свои файлы из документов, потом вернуть бэкап из образа, а потом файлы обратно скопировать. А можно ли это все автоматизировать? Или как-то настроить Clonezilla чтобы документы он не трогал при восстановлении из образа и они остались на месте?


Ответить | Правка | Наверх | Cообщить модератору

4. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от And (??), 25-Мрт-21, 18:50 
Разбить задачу на две части: бекап жёсткого диска на уровне блочного устройства - это CloneZilla и бэкап на уровне файлов - это BackInTime, Timeshift, Unison.

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

CloneZilla не предназначена для работы на уровне файлов, она для другого.

Ответить | Правка | Наверх | Cообщить модератору

3. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от And (??), 25-Мрт-21, 18:45 
Для экспериментов изучите Vagrant или/и Virtualbox CLI и отдельно Ansible:
https://www.vagrantup.com/
https://www.oracle.com/technical-resources/articles/it-infra...
https://www.ansible.com/

Экономит кучу сил при разворачивании лабораторных работ для опытов. Если понравится, то это м.б. профессия. Vagrant&Ansible - стандарт.

Возможен такой подход:

Back In Time - домашние папки и часть системных. И графический интерфейс и из ком.строки работает тоже. Можно скриптовать и можно в графике мышекликать. Видел в настройках поддержку SSH. Умеет шифровать бэкап.
Rsync и свой скрипт - системные директории и кэш пакетов пакетного менеджера.

Восстанавливать так:

Систему - установка с флешки, и накат всех пакетов бэкапленного кэша пакетов пакетного менеджера (это даст установленный Back In Time).
Домашние папки, системные папки - востанавливать из Back In Time.

Дальше комбинировать и скриптовать. Важно понимать, что бекап не является бекапом в момент его обновления или работы с ним. Т.е. по уму должно быть не менее двух независимых носителей бэкапа, и одновременно оба никогда не подключаются к системе, не участвуют одновременно в действиях. Ошибки, скачки напряжения и т.п. Есть важный принцип: система сама себя не бекапит, бекап всегда приходит снаружи сам. Принцип дома трудно соблюдаемый, принцип из коммерческих окружений, но это важный момент.

Есть настроенный из коробки Timeshift в составе Linux Mint (по смыслу и наполнению этот дистрибутив - Убунту без Snap). В т.ч. бекапит систему. Если дистрибутив подходит, то можно взять их готовую работу. В дистрибутиве есть шероховатости в настройках графического окружения, но не влияет на собственную, пользователя полезную работу.

Есть файлы устройств. Например, /dev/* Есть файловые системы ядра в /proc и т.д. Их не бэкапят. Это сложность при скриптовании. Есть тема шифрования. Сильно всё усложняет.

Простой способ: можно оценить настройки Back In Time из коробки, подрихтовать исключения, направить Back In Time на корень ФС. Запускать по крон из ком.строки. В момент бекапа выкачивать в кеш установленные руками пакеты (список пакетов можно получать из логов и статусов пакетов у Apt, например; это вопрос скриптования, весь кеш за всю историю хранить можно, но это немало). Иметь две системных флешки с дистрибутивом актульной версии для установки с нуля.

Есть инструмент Unison. Интересная штука. Можно оценить в качестве дополнения к остальному, для домашних папок.

Но, советую, посмотреть в сторону Vagrant&Ansible. Это правильный способ "проверять настройки".

Ответить | Правка | Наверх | Cообщить модератору

5. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от And (??), 25-Мрт-21, 18:54 
Есть совсем простой способ для экспериментов: VirtualBox + его встроенные возможности снэпшотов виртуалки. Но не обеспечит защиты от ошибки применения на конечной системе.

Есть нюанс: для разворачивания снепшота нужно свободного места вплоть до полного размера восстанавляваемой ВМ. Не обязательно, но в пределе именно так можно попасть в ловушку с отсутвием свободного места. Вагрант с Ансибл удобнее для таких целей.

Ответить | Правка | Наверх | Cообщить модератору

6. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от And (??), 25-Мрт-21, 18:57 
Ещё есть нюанс. Дешёвые или старые SSD могут изнашиваться неприятно быстрее, если за раз весь диск перезаписывать.
Ответить | Правка | Наверх | Cообщить модератору

7. "Как правильно бэкапить систему если один раздел?"  +1 +/
Сообщение от Аноним (7), 29-Мрт-21, 13:32 
Скрипты.

Бекапить надо разделы в режиме только для чтения

dd делает бекап целого раздела

В Unix критически важны атрибуты файлов! При бекапе должны корректно восстанавливается все атрибуты файлов!!!

sync

cp -u -R --preserve=all ...

rsync -p -E -A -X -o -g ...

tar --acls --xattr --same-owner ...

Как быть с разделом в режиме записи?

Если база данных, то надо использовать ее родные инструменты для бекапе.

Ответить | Правка | Наверх | Cообщить модератору

8. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от Field Name (?), 07-Апр-21, 14:31 
> Как быть с разделом в режиме записи?

LVM snapshot решает вопрос. Но это может быть слишком сложно для домашних применений. Создать снэпшот, забекапить снэпшот, удалить снэпшот. Нужно свободное место на время бекапа, по объёму большее или равное равное объёму инфы на накопителе, который поменяется за время бекапа. Нужно ли в двойне - надо проверять. Бывают системы и реализации, когда для удаления снепшота нужно свободного места в по размеру снэпа (но, вроде, это не про LVM).

Ответить | Правка | Наверх | Cообщить модератору

9. "Как правильно бэкапить систему если один раздел?"  +/
Сообщение от backitnow (?), 17-Май-21, 20:09 
> Добрый день.
> На домашнем компьютере стоит Ubuntu и жесткий диск разбит на 3 раздела
> Подскажите пожалуйста как делать бэкапы системы наиболее эффективно.

Удобна для этого ф.сист. btrfs - лёгкая, делает снапшот за доли секунды, а его уже хоть копируешь, хоть сжимаешь (к примеру pbzip2) куда хочешь (можешь и гуишками пользоваться).

Пусть sda1 - раздел системы с btrfs, а там 2 подтома - корень и home:
/dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=256,subvol=/@)
/dev/sda1 on /home type btrfs (rw,relatime,ssd,space_cache,subvolid=257,subvol=/@home)

btrfs su cre /.snapshots ---- это создание подтома для снимков ФС

--- начало --- прототип скрипта, который сделает снимки корня и хома
#!/bin/bash

SNAPNAMEROOT='snap-u2004-root'
SNAPNAMEHOME='snap-u2004-home'
DATENOW=`date +%F_%Hh%Mm%Ss`

echo 'Какие есть снимки в "/.snapshots":'
btrfs sub list /.snapshots

echo 'Удаляем их...'
btrfs sub del --commit-after /.snapshots/${SNAPNAMEROOT}_*
btrfs sub del --commit-after /.snapshots/${SNAPNAMEHOME}_*

echo 'Создаём новые снимки подтомов...'
btrfs sub snap -r / /.snapshots/${SNAPNAMEROOT}_${DATENOW}
btrfs sub snap -r /home /.snapshots/${SNAPNAMEHOME}_${DATENOW}
# с -r снимки создаются только с флагом "только для чтения",
# теперь их можно пересылать командой 'send', если надо

echo 'Синхронизация, если хочешь...'
btrfs filesystem sync
echo 'Done!'

------ end

#############################
# Снять запрет записи со снимка так:
#btrfs prop set /mnt/new/root/@ ro false
#############################

А можно теперь пожать снимок в архив:

########################################################################################
SNAPSH="/snap-c7root"
DESTDIR="/mnt/SAMSA"
echo "Start compress $SNAPSH at: $DATEIS" > time.txt
btrfs send /.snapshots/$SNAPSH | pbzip2 --fast -vc > "$DESTDIR"/"$SNAPSH.btrfs.pbz2"
echo "Stop compress $SNAPSH at: `date +%F_%Hh%Mm%Ss`" >> time.txt
########################################################################################

или переслать к черту на кулички:
btrfs send /.snapshots/snap-c7root | btrfs receive /run/media/vasya/C7R128

Короче, хорошая ФС - всё быстро бекапится, не замораживает систему, пакуется параллельно на всех ядрах и т.д.


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру