| Бэкап или быстрый способ вернуть "все как было" |
|
Автор статьи: SergeA
ВведениеЕсли вы хотите иметь точку отката для вашей операционной системы, т.е. при необходимости восстановить "все как было" в случае неудачного эксперимента - необходимо освоить способы создания образов разделов. В нашем случае необходимо снять образ с корневого раздела, и других системных разделов кроме /home (домашнего раздела) и swap (раздела подкачки), если таковые имеются. Для этого существует множество проприетарных (коммерческих) программ, таких как Norton ghost, Acronis True Image и другие, но описание работы с ними вы можете найти в соответствующей литературе, а мы рассмотрим применение штатной линуксовой утилиты — dd. Эта утилита работает с блочными устройствами (например, раздел диска /dev/sda1, флешка /dev/sdh1) и создает их посекторные копии. Что это значит — а то, что для dd нет такого понятия как файл, каталог, занятое место, свободное место — она считывает сектора жесткого диска и может сохранить эту информацию уже как файл-образ. Преимущества этой утилиты являются одновременно и ее недостатками — размер файла-образа будет в точности равен размеру копируемого раздела, т. е. если мой корневой каталог находится на разделе в 20 ГБ, из которых занято только 5 ГБ, то размер файла-образа будет ровно 20 ГБ. Согласитесь, малозаманчивая перспектива хранить такие огромные файлы. Ее синтаксис: dd if=/dev/sda1 of=file.img ,где /dev/sda1 — это жесткий диск, с которого снимается образ, а file.img — создаваемый файл-образ. Причем, здесь перечислены только минимально необходимые параметры (см. man dd). Чтобы не сохранять образ такого громадного размера на диске (да и просто может не быть столько свободного места), мы воспользуемся архиваторами: gzip, bzip или bzip2, включенными в конвейер с утилитой dd. Результат работы архиватора будет налету перенаправляется в файл. Определение наименований разделов
Итак, создадим копию корневого раздела (домашний каталог трогать не будем), но, сперва нам надо выяснить кто есть кто, т.е. точные наименования разделов. Это предельно важный момент, потому что если вы неправильно укажете раздел при развертывании образа, то безвозвратно потеряете данные на разделе, который ошибочно указали в качестве целевого. (Но не следует думать, что такой проблемы не в проприетарных программах - там дела обстоят еще хуже, например, Acronis True Image назначает буквы разделам, которые не всегда совпадают с буквами в самой Windows, и расположены они в другом порядке, поэтому единственный "маячок" - это размер раздела и его метка, если она прочиталась. В линуксе все намного проще - наименования разделов сами по себе не меняются никогда!) Запустим команду: df -h и посмотрим на результат: df -h Мы видим, что наш корневой раздел находится на разделе /dev/sdb1 — следовательно его и будем «бэкапить» (а при восстановлении в него будем развертывать образ!), осталось только решить — куда записывать файл-образ. Я запишу в домашний каталог (/dev/sdb11) - место есть, да и скорость записи будет выше, но хранить бэкапы лучше на сменных носителях - флешки, USB жесткие диски и т.д., поэтому после проверки контольной суммы (см. раздел "развертывание образа") образ необходимо перенести. Создание образа раздела
В процессе работы системы постоянно создаются и изменяются файлы (логи), поэтому нецелесообразно делать бекап корневого раздела из-под запущенной с него же системы - контрольные суммы могут не совпасть, поэтому загружаемся с Live CD ubuntu и начинаем работу. Прежде всего нам необходимо примонтировать диск, на который будем записывать файл-образ. Я возьму домашний каталог хост системы (напомню, что он у меня на отдельном дисковом разделе /dev/sdb11), его и необходимо примонтировать: sudo mount -o rw /dev/sdb11 /media Теперь проверим что получилось: ubuntu@ubuntu:~$ df -h Теперь мой "домашний" каталог доступен на запись по адресу: /media/serg/ Для того чтобы снять образ с корневого раздела (/dev/sdb1) монтировать его не требуется. Итак, бэкапим корневой раздел, но для этого нам потребуются права РУТA (sudo -i т.к простое sudo с командой в этом режиме не работает).
Где bs=8096 - это размер блока одновременно считываемых и записываемых данных в байтах. Примечание: если у вас недостаточно места в домашнем каталоге или он расположен на одном разделе с корневым - необходимо примонтировать другой диск и прописать полный путь для сохранения образа, (например, у вас есть раздел, смонтированный в /media/films, то команда будет выглядеть так: dd if=/dev/sdb1 bs=8096 | gzip -9cf > /media/films/root.gz изменится и путь для обращения к файлу-образу при восстановлении). Учтите — это долго и нудно, так что придется подождать. Мы создали сжатый gzip`ом файл-образ корневого раздела root.gz, его размер 7,6 ГБ, что гораздо меньше чем самого корневого раздела (20ГБ). Возможно возникнет вопрос - как же так, занято всего 5 ГБ, а архив занимает 7,6 ГБ - отвечаю - это результат сжатия не моих файлов, а 20 ГБ образа, созданного утилитой dd. Чтобы убедиться в безошибочности работы архиватора, создадим контрольную сумму нашего исходного раздела, а проверим ее после развертывания: Создание контрольной суммы раздела
Посчитаем md5 сумму раздела /dev/sdb1:
Это контрольная сумма корневого раздела записанная в файл root.md5, к ней мы вернемся чуть позже. Развертывание образаЭто самый важный и ответственный этап - собственно то, для чего все и затевалось, если с вашей системой случился крах - вы сможете быстро получить назад свою готовую и полностью настроенную систему со всеми установленными программами. (Переустановка не всегда лучший выбор). Для этого необходимо загрузиться с Live CD ubuntu. Теперь, внимание, при загрузке с Live CD разделы жесткого диска не примонтированы, (а без доступа к домашнему каталогу хост системы мы не сможем обратиться к файлу-образу!), поэтому необходимо сделать это вручную. Вы помните, что наш домашний каталог /home/serg лежал в /dev/sdb11, монтируем его:
Теперь мы знаем, что наш файл-образ лежит в /media/serg (это мой домашний каталог — у вас будет свой!). Примечание: если ваш файл-образ находится на сменном устройстве, то его необходимо подключить физически и примонтировать. Развертываем образ, но сперва проверим правильность его распаковки:
Сравните этот результат с тем, что вы создали раньше в файле root.md5:
Примечание: эту процедуру неплохо бы сделать сразу после создания образа и после переноса бэкапа на сменный носитель. Они должны совпасть (только вместо ../serg - ваше имя!), теперь развертываем образ (опять нужен РУТ):
Прмечание: несколько раз проверьте правильность указания целевого раздела (у меня это /dev/sdb1, у вас будет свой).
Контрольная сумма свежеразвернутого раздела опять-таки должна совпадать с:
Если все совпадает — то вы успешно откатили систему к исходному состоянию. Перезагружайтесь и получите свое "все как было". Если система не грузится - переустановите загрузчик. Примечание: вы можете не создавать контрольную сумму и не проверять правильность распаковки, но тогда нет гарантий безошибочности процесса. |
-
Архив с марта 1995. Заявка онлайн.diamondteam.ru |
-
Каталог татуировок, портфолио. Информация об акциях и спецпредложениях.salon-lanet.ru |
-
Подбор подарка по назначению, поводу, цене. Условия доставки.happiness-shop.ru |

