Бэкап системного раздела
Модераторы: SLEDopit, Модераторы разделов
-
sunny1983
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Бэкап системного раздела
Такой вопрос. Как сделать бэкап системного раздела (того что смонтирован в /) в тарбал? Нужно ли для этого останавливать систему и грузиться с LiveCD?
-
DaemonTux
- Сообщения: 1480
- Статус: Юный падаван
- ОС: Gentoo
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Бэкап системного раздела
Чтобы получился полный бекап - лучше это делать с LiveCD. Ибо в рабочей системе многие каталоги могут являться непустыми точками монтирования. Т.е. если каталог /mnt/abc содержит нечто, и в него смонтировать какой-то раздел, то при архивировании прежнее содержимое /mnt/abc просто не будет замечено. В случае, например, с Gentoo, будут потеряны .keep-файлы и статичное содержимое /dev/. Хотя можно написать скрипт, который будет всё правильно монтировать (-o bind) во временный каталог. Но тут опять же есть опасность того, что какие-то открытые файлы, на рабочей системе, будут заархивированы неполностью.
-
sunny1983
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Бэкап системного раздела
Ну как бы да, у меня такой вариант как в Gentoo не прокатывал.
О таком подводном камне как непустой каталог со смонтираванной другой файловой системой я не догадывался.
А вот про открытые файлы беспокоился.
Я загрузился в однопользовательском режиме (с параметром single), чтобы открытых файлов не было и ввёл:
Если верить ману, --one-file-system должна исключать каталоги, в которые примонтированы другие файловые системы.
В процессе получил ошибки:
Вот думаю, если загрузиться в чистом bush (с параметром init=/bin/bash) то прокатит или только с LiveCD?
О таком подводном камне как непустой каталог со смонтираванной другой файловой системой я не догадывался.
А вот про открытые файлы беспокоился.
Я загрузился в однопользовательском режиме (с параметром single), чтобы открытых файлов не было и ввёл:
Код: Выделить всё
tar --create --one-file-system --file=/home/rootbackup.tar /Если верить ману, --one-file-system должна исключать каталоги, в которые примонтированы другие файловые системы.
В процессе получил ошибки:
Код: Выделить всё
tar: Removing leading '/' from member names
tar: Removing leading '/' from hard link targets
tar: /var/run/dbus/system_bus_socket: socket ignored
tar: /var/run/acpid.socket: socket ignoredВот думаю, если загрузиться в чистом bush (с параметром init=/bin/bash) то прокатит или только с LiveCD?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Бэкап системного раздела
Это не ошибки, а нефатальные предупреждения.
Можно загрузиться в режиме init single, так, чтобы корень был смонтирован в RO. "1" в командной строке ядра сделает это.
-
sunny1983
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Бэкап системного раздела
И что они означают? Что значит "socket ignored", что значит "Removing leading '/' from hard link targets"?
Ещё раз. У меня в качестве загрузчика - lilo, Раздел для однопользовательского режима у меня описан так:
Код: Выделить всё
image=/boot/vmlinuz-2.6.32-5-amd64
label=single_mode
read-only
append="single"
initrd=/boot/initrd.img-2.6.32-5-amd64Вроде ж и так read-only
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
Kreept
- Сообщения: 107
- ОС: Linux
Re: Бэкап системного раздела
Посмотрите в сторону dump/restore, использовал их при миграции с рабочей виртуальной машины на дедик сервер.
Главное добавить флаг -L. Флаг -L сигнализирует, что раздел, подлежащий резервному копированию, находится на живой файловой системе и перед началом нужно сделать снимок данного раздела и уже затем приступать к операции.
Код: Выделить всё
dump -0 -f root.dmp -L "Etalon.root" /Главное добавить флаг -L. Флаг -L сигнализирует, что раздел, подлежащий резервному копированию, находится на живой файловой системе и перед началом нужно сделать снимок данного раздела и уже затем приступать к операции.
-
taaroa
- Сообщения: 1319
Re: Бэкап системного раздела
man dump
-L label
The user-supplied text string label is placed into the dump header, where tools like restore(8) and file(8) can access it. Note that this label is limited to be at most LBLSIZE (currently 16) characters, which must include the terminating \0.
:wq
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Бэкап системного раздела
Главное - после архивации убедиться, что из дампа все файлы восстанавливаются и не испорчены. =) Когда-то я "забекапил" ext4-раздел с помощью dump. Архивация и восстановление прошли _без ошибок и предупреждений_. А вот когда заглянул внутрь восстановленных файлов, то выяснил, что там одинаковый мусор.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Бэкап системного раздела
и как это сделать? ну пусть я даже буду каждый бекап разворачивать, где гарантия, что ВСЁ хорошо? Может у меня /bin/true 666 возвращает?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Бэкап системного раздела
Ну хотя бы убедиться, что несколько разных файлов в порядке.
Я тоже задался этим вопросом и решил с dump больше никогда не дружить. Именно по причине подобной вопиющей некомпетентности популярного и "штатного" dump.
-
sunny1983
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Бэкап системного раздела
dump вроде как бы только на ext2/3/4 работает.