LINUX.ORG.RU

Очередной о резервном копировании

 


0

1

Сделал бэкап всего диска с помощью dd и даже не планировал его разворачивать на диске меньшего объема, но как по всем канонам пологается, оно то меня и постигло.
Понятно что ССЗБ, но мне не срочно и могу сделать еще бэкап.
Вопрос: развернув 200гб бэкап(в котором занято было только 50, да , целых 150 пустоты) на 100гб новый диск я получу 100% не работающую систему? Или она будет работать, но в дальнейшем это пиведет к коллапсу?:) может будет достаточно сделать с таблицей?
Получается что самый нормальный вариант будет это воспользоваться tar собрав все и затем на новом диске разбить, отформатировать и залить назад и установить груб?



Последнее исправление: Linuxman (всего исправлений: 2)

man losetup

man resize2fs

man parted

anonymous
()

Нет ни сего лучше проверки на практике.
Сделал, залил и запустил.
Груб есть, загрузка заканчивается криком о том повреждение таблицы, что физически супер блоков меньше чем в таблице.
Загрузился с лайва, resize2fs не работает, посылает в e2fsck, и так по кругу.

Linuxman
() автор топика
Ответ на: комментарий от MikeDM

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

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

Ну вы же не знаете в каком месте диска физически находились данные, без разницы, что у вас занято 50 Гб из 200, возможно, что большая часть данных находится в начале диска, а некоторая часть, например, в последних 50 Гб, т.е. начиная со 150 Гб и до конца физической ёмкости диска, это раз.

Два, это то, что у вас будет не целая файловая система, у вас же не просто ячейки, в которые вы «сыплете» данные, а логическая структура, которую нельзя просто взять и обрезать без внесения изменений в эту структуру. Т.е., если вы хотите перенести файловую систему на раздел меньшей ёмкости, то вам нужно в начале с помощью утилит изменения размера логический структуры (файловой системы) уменьшить её размер, в этом случае будут изменены данные, описывающие параметры этой структуры, суперблок файловой системы, и перемещены данные, в случае, если они находятся за пределами области нового размера файловой системы.

В общем вам посоветовали правильно, монтируйте образ файловой системы (диска), можете воспользоваться losetup с указанием смещения относительно начала образа, что бы получить loop устройства, указывающие на начала разделов (файловых систем) или сразу воспользоваться mount с опцией '-o offset'

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)

Да, система будет не рабочей. ФС вправе использовать любые блоки, причём размер задаётся в заголовке ФС и если окажется, как в вашем случае, что ФС больше, чем блочное устройство (раздел диска), то даже если повезёт и нужные файлы будут физически присутствовать, любая запись на ФС может выйти за границу раздела и будет ошибка.

ИМХО, tar нормальный вариант, но в некотрых дистрибутивах у файлов есть расширенные атрибуты (selinux, capabilities, acl, ext2 file attr) и привильность их восстановления из резервной копии может быть важной для работы дистрибутива. Поэтому tar которым создаётся резервная копия и tar, которым эта копия разворачивается должен уметь работать с этими атрибутами. Причём лучше это проверить на практике до того, как реально потребуется резервная копия.

А так ещё советуют clonezilla.

mky ★★★★★
()

Монтируй бекап-образ черех loopback, за копируй файлы на новый корень, только с сохранением аттрибутов. Потом установи загрузчик - должно заработать.

Kroz ★★★★★
()

если есть оффтоп то можно бекапить с него, с r image drive, да это та самая не нужная проприетарщина которая облегчает этот процесс
там в gui можно выбрать чтобы бекапились только актуальные данные, понимает ext4,3,2 hfs и ешё много фс, монтирует собственно сделанные образы и т.д
всё это можно сделать софтом в линуксе но пока есть оффтоп - так проще

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