Меню

Чем снять образ линукс

Как снять образ (бекап) 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 используйте примерно следующее:

При развороте на другом железе:

  1. Загружаемся с любого livecd (например www.system-rescue-cd.org), разбиваете нужные разделы (обычно / , /home и /var ) на диске и монтируете их в какой-нибудь /tmp/target и распаковываете архив.
  2. mount —bind /dev /tmp/target/dev
  3. mount —bind /sys /tmp/target/sys
  4. mount —bind /proc /tmp/target/proc
  5. chroot /tmp/target
  6. Редактируем /etc/fstab чтобы у вас были правильные разделы — я использую LABEL в /etc/fstab и назначаю метки при создании разделов поэтому чаще всего мне ничего редактировать не приходится.
  7. grub-install /dev/sda
  8. update-initramfs -uk all
  9. update-grub

Для redhat-based систем алгоритм слегка другой.

Способ номер три — dd_rescue

Разве что если диск где-то сыпется. И то не лучший вариант, т.к. сыпаться может и там где файлов нет. Вот если ddrescue в связке с partclone, то тогда еще можно как вариант. Если все нормально с диском, то rsync за исключением некоторых каталогов.

Способ номер четыре — apt-clone

Если кратко, то использовать apt-clone, остальное tar и перелить на новое железо.

Источник

Бэкап Linux и восстановление его на другом железе

Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.

На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:

  • сделать бэкап сервера;
  • восстановить бэкап на другом железе.
Читайте также:  Intel graphics driver для linux

Гугление не дало внятных ответов, как это сделать, пришлось собирать информацию кусками и пробовать. Всякие acronis’ы отбросил сразу, ибо не интересно.

Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги 🙂

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

Начинаем копать теорию:

Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.

Итак, план действия:

1. Создание бэкапа

Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.

Переключаемся на root:

Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l

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

Все готово для создания архива

Здесь у нас параметры: c — создать архив, v — выводить информацию о процессе, z — использовать сжатие gzip, p — сохраняем данные о владельцах и правах доступа, f — пишем архив в файл, путь к файлу, —exclude — исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ — каталог, который архивируем.

Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7-8 минут.

Складываем архив в надежное место за пределами офиса.

Восстановление бэкапа на другом железе

2. Размечаем диск, создаем файловую систему

Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.

Переключаемся на root:

Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.

Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй — 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.

Cоздаем файловую систему на первом разделе.

3. Распаковываем архив.

Монтируем отформатированный раздел

Распаковываем архив прямо с флэшки

Параметр —same-owner — сохраняет владельцев у распаковываемых файлов, x — извлекаем из архива, v — выводить информацию о процессе, p — сохраняем права доступа, f — указываем файл, который распаковываем, C — распаковываем в категорию.

4. Создаем MBR на новом диске.

Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:

Переключаемся на новую систему используя chroot:

Делаем swap-раздел для новой системы:

Подключаем его же:

Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:

Открываем второй терминал (Alt+F2) под root:

И видим текущие UUID разделов.

Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.

Читайте также:  Сильно загружается оперативная память windows 10

Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:

На чистый диск должно встать без ошибок. Обновляем информацию из fstab:

Возвращаемся в Live-систему:

Размонтируем все каталоги:

Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.

Все, поехали. Грузимся с жесткого диска:

Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.

5. Тестирование и устранение неполадок.

Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.

Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:

Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.

Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:

Подключаем донглы, проверяем, все работает.
Спасибо за внимание.

Источник

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 — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.

Читайте также:  Windows 10 не запускается начать сканирование

Определить номер процесса, под которым запущена dd.

Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .

watch -n 5 kill -USR1 номер_процесса_dd

  • watch -n 5 — выполнять команду каждые 5 секунд;
  • kill -USR1 номер_процесса_dd — показать статистику копирования.

Источник

Средство для снятия образа с 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. Поэтому по идее для восстановления достаточно на чистой минимальной системе установить все пакеты, все иконки для этого в ясте есть.

Источник

Adblock
detector