Средство для снятия образа с linux
Требуется снять с настроенного linux-сервера «образ» для бэкапа или распространения.
В solaris есть flash archive, который позволяет с настроенной системы снять образ, который можно или использовать в качестве бэкапа или в качестве мастер-образа для «заливания» однотипных машин. Такая же по сути вещь есть и в hp-ux, называется ignite.
В линуксе я пока нашел только способы вида — snapshot файловой системы и последующий dump, или, тем паче, снятие ПОЛНОСТЬЮ посекторно образа винта (как это может сделать, с помощью, например, g4l), что не способствует удобству хранения из-за занимаемого места.
Какие есть в линуксе средства подобные flash из солярки или ignite из hp-ux?
Re: Средство для снятия образа с linux
afaik tar , cpio , dump , restore .
Re: Средство для снятия образа с linux
> afaik tar , cpio , dump , restore .
Вы наверное вообще не прочитали мой вопрос. или я его задал некорректно..
требуется система централизованная (т.е. наличие сервера-бэкапа) которая позволяет снять образ с резервируемой системы, с последующим размещением этого образа на сервере-бэкапа для возможности быстрого восстановления упавшего сервера. Восстановление происходит по схеме:
пример 1) загрузили упавший сервер по сети, и через сеть залили образ пример 2) с помощью какого-то носителя (cd/dvd, возможно подготовленного именно для данного сервера системой бэкапирования) загрузили систему и залили образ опять через сеть.
в общем человек, который хоть раз видел в жизни что такое flash-archive (solaris) или ignite(hp-ux) или хотя бы data protector должен понять что я имею в виду.
а всякие скриптования tar, cpio, dump, restore. — оставьте себе. может быть пошло прозвучит, но это решения не «того» уровня подготовки и использования в промышленных масштабах.
Re: Средство для снятия образа с linux
Re: Средство для снятия образа с linux
ну вот мало, а хотелось бы списком 🙂 а главное кто что пробовал и реально может дать оценку.
Bacula? а разве она теперь поддерживает и такие виды восстановления?
объясню: просто линукс-сервера сейчас всё больше и больше наполняют сектор «того» уровня, где раньше царили одни коммерческие юниксы. Я ни в коем случае не умаляю возможности tar,cpio,dump,restore, это отличные средства, но здесь идет речь не о том, что кого-то посадят и заставят писать скрипты на бэкапирование/востановление, а просто нужно БЫСТРО получить сертифицированное и поддерживаемое средство. Чтобы можно было потом начальству не объяснять — почему не сработал самописный скрипт.
Re: Средство для снятия образа с linux
Re: Средство для снятия образа с linux
я так же столкнулся с этой проблемой (решать/реализовывать не успел). но знакомые также посоветовали Partition Image (пост выше).
Re: Средство для снятия образа с linux
А lvm вроде же умеет snapshotы делать. Вот и снапшотить на сетевую фс.
Re: Средство для снятия образа с linux
А какой линукс? Если SLES, то там есть в ясте backup. Он формирует список всех установленых пакетов и + создаёт ещё один дополнительный пакет в формате rpm, в который запихивает все изменённые файлы и файлы не принадлежащие стандартным пакетам. Можно указать в каких директориях искать такие файлы. В промышленном масштабе я не пробовал это использовать, но штука сертифицированная, ибо является частью SLES. Поэтому по идее для восстановления достаточно на чистой минимальной системе установить все пакеты, все иконки для этого в ясте есть.
blog.smart-admin.ru
Блог системного администратора
Снимаем образ утилитой DD в Linux
Снимаем образ всего диска утилитой dd.
1) узнаем как называется диск командой: df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda1 27G 2,8G 23G 11% /
tmpfs 1005M 0 1005M 0% /dev/shm
2) снимаем образ загрузочного раздела:
# dd if=/dev/sda of=/home/user/moy-mbr.bak count=1 bs=512
3) снимаем образ самого диска:
# dd if=/dev/sda of=/home/user/moy-razdel.bak
# dd if=/home/user/moy-mdr.bak of=/dev/sda
# dd if=/home/user/moy-razdel.bak of=/dev/sda
Можно сразу добавить в архив:
# dd if=/dev/sda | gzip -c > /home/user/moy-razdel.img.gz
И потом достать из архива:
# gzip -x /home/user/moy-razdel.img.gz | dd of=/dev/sda
Вариант 2 от Юрия Акимова
Создание образа жесткого диска при помощи утилиты dd в Unix
Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи dd. Первым делом необходимо подготовиться к резервному копированию. В данной статье введем следующие обозначения:
При необходимости нужно подставить собственные значения.
Подготовка к созданию образа жесткого диска
Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.
Монтируем жесткий диск на который необходимо сохранить образ.
Создание образа жесткого диска
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
- if=/dev/sda — копируем весь жесткий диск sda;
- of=/mnt/backup/sda.img — копируем в /mnt/backup/sda.img;
- bs=8M — задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
- conv=sync,noerror — указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.
Для сокращения размера образа жесткого диска его можно сжать любым архиватором.
Восстановление образа жесткого диска
Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.
При использовании сжатия параллельно необходимо разархивировать образ.
Миграция системы на другой жесткий диск
Для миграции всей системы на другой жесткий диск необходимо, в качестве цели назначения задать расположение нового диска.
После чего при необходимости устанавливаем загрузку с данного жесткого диска. При условии, что новый жесткий диск больше старого, на нем останется неразмеченная область. Ее следует разметить и отформатировать согласно имеющимся требованиям.
Статистика копирования в dd
Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.
Определить номер процесса, под которым запущена dd.
Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .
watch -n 5 kill -USR1 номер_процесса_dd
- watch -n 5 — выполнять команду каждые 5 секунд;
- kill -USR1 номер_процесса_dd — показать статистику копирования.
Как снять образ (бекап) Linux-а и восстановить его на другом железе. Есть несколько простых способов.
Всем здравствуйте! Возникла такая задача — нужно снимать образ Linux-а и восстановить его на другом железе. Есть ли быстрый и лёгкий способ?
Многие сразу ответят: используй dd. Но у dd есть недостаток — вы не можете развернуть образ на диск меньшего объема чем тот с которого вы делали образ.
Хотелось бы скопировать в ISO, но если это образ рабочей системы, а не live cd на основе какой-то минимальной системы. Если систему на время бэкапа можно полностью останавливать и загружаться в другую ОС для снятия консистентного бэкапа — всё что вам нужно, это DD для посекторного образа, или tar для получения архива, и скрипт для переустановки загрузчика, и опционально, правки UUID-дисков в конфигах, и изменения привязки сетевых к hwaddr(если у вас такое практикуется, то нужно делать обязательно), после разворачивания архива. Или даже rsync на целевую тачку + восстановление загрузчика. Если тачку останавливать нельзя — вам нужен LVM или ZFS/BTRFS на тачке-источнике для получения консистеногого снэпшота, с последующим снятием образа, и формированием с него тарбола, или синком с него же файлов сразу на сервак-источник. В случае с BTRFS есть возможность дампить снэпшот на одной тачке, и по ssh сразу разворачивать его на другой, используя конвейер. Что удобно, когда нет места или желания хранить промежуточный образ где-то на бэкап-сервере. Если система большая и файлов много, рекомендую не гонять всё это безобразие по сети, а гонять только разницу между текущим состоянием системы на тачке-приёмнике, и тем, что на источнике. Проще всего реализовать это с помощью всё того же rsync.
Способ номер раз — Сlonezilla
Сlonezilla — это программа для создания бэкапов и копий дисков подобная True Image® и Norton Ghost®. С её помошью можно сохранить, а потом восстановить систему. Скачать можно здесь. Сlonezilla сохраняет и восстанавливает только использованные блоки на жестком диске. Это повышает эффективность клонирования. На оборудовании высокого класса достигается скорость в 8 ГБ/минуту.
Способ номер два — tar
Для debian-based систем Linux используйте примерно следующее:
При развороте на другом железе:
- Загружаемся с любого livecd (например www.system-rescue-cd.org), разбиваете нужные разделы (обычно / , /home и /var ) на диске и монтируете их в какой-нибудь /tmp/target и распаковываете архив.
- mount —bind /dev /tmp/target/dev
- mount —bind /sys /tmp/target/sys
- mount —bind /proc /tmp/target/proc
- chroot /tmp/target
- Редактируем /etc/fstab чтобы у вас были правильные разделы — я использую LABEL в /etc/fstab и назначаю метки при создании разделов поэтому чаще всего мне ничего редактировать не приходится.
- grub-install /dev/sda
- update-initramfs -uk all
- update-grub
Для redhat-based систем алгоритм слегка другой.
Способ номер три — dd_rescue
Разве что если диск где-то сыпется. И то не лучший вариант, т.к. сыпаться может и там где файлов нет. Вот если ddrescue в связке с partclone, то тогда еще можно как вариант. Если все нормально с диском, то rsync за исключением некоторых каталогов.
Способ номер четыре — apt-clone
Если кратко, то использовать apt-clone, остальное tar и перелить на новое железо.


