Создание образа системы в Linux
Клонирование — создание точной копии исходного носителя.
В данном случае клонировать нужно корневую файловую систему Linux.
Клонированная копия и образ — одно и то же.
Зачем это надо?
Если вы администрируете парк компьютеров с одинаковой конфигурацией и хотите установить на них дистрибутив Линукс. Устанавливаем на одной машине, а на другие просто клонируем. Если система «накрылась», вы сможете восстановить её исходное состояние развертыванием образа, где всё уже установлено и настроено под ваши нужды
Как создать образ:
Во избежание недоразумений оговорим те разделы и диски, которые будем использовать
/dev/sda — жесткий диск с рабочей системой, его будем архивировать
/dev/sda1 — раздел, содержащий корневую фс
dev/sdb1 — раздел на внешнем жёстком диске для архивации
1.-Перезагрузитесь в однопользовательском режиме (single)
2.-Введите команду mount, чтобы узнать, какой раздел содержит корневую файловую систему (в примере используется /dev/sda1).Образ этого раздела и нужно сохранить на другом носителе. Например на внешнем жестком диске.
3.-Подмонтируйте внешний HDD
4.-Теперь перемонтируем корневую систему в режим «только для чтения» и создадим образ:
Как восстановить систему из созданного образа:
Нужно иметь под рукой: загрузочный компакт-диск любого дистрибутива Linux. При использовании простого диска (не LiveCD) для перехода на текстовую консоль нажмите Ctrl + Alt + F2.
При установке системы на пустой диск нужно создать разделы. При восстановлении после сбоя, ничего создавать не нужно. Лишь убедитесь в том, что раздел подкачки (Linux swap) создан.
Корнем становится каталог /install, к которому примонтирован новый HDD. В качестве командной оболочки выступает /bin/bash.
3.- Перезпишем загрузчик:
4.-Перезагрузим компьютер командой reboot. Копия системы восстановлена
Самый простой способ сделать образ рабочей системы
Подскажите какой самый простой способ получить образ рабочей системы(freebsd) к примеру с hdd обьемом 500gb, и в случае чего с возможностью установки его на hdd большего или меньшего обьема, интересует именно максимально простой вариант, выслушаю ваши советы, критику 🙂
Для создания образа мне будет достаточно(грубо говоря) одной этой строки?
А для восстановления
. выкинуть надо, он под маздай и, к тому же, кривой. dd наше все. А некоторым и Clonezilla подходит.
. выкинуть надо, он под маздай и, к тому же, кривой.
На флешку/диск записывается. Ничего не кривой.
в случае чего с возможностью установки его на hdd большего или меньшего обьема, интересует именно максимально простой вариант
не знаю как с bsd, но с Linux’ом ты задолбаешься.
Для создания образа мне будет достаточно(грубо говоря) одной этой строки?
не, детка. Недостаточно. Если ты ставишь на больший, то сработает, только потом придётся ещё разделы ресайзить. А если на меньший, то у тебя вообще ничего не получится.
Та заколебали уже!
Акронис едишен для твоего диска.
(Сигейт/ВД) есть прямо на сайте производителя.
И? Он даже ext4 не умеет. И CHS с LBA после него приходится в соответствие приводить. Хотите проблем на ровном месте — давитесь кактусом дальше.
А что же посоветуешь? DD делает побайтово, то есть с диска в 500 гигов собранный образ будет весить 500 гигов, даже если на диске и занято-то гигов 20. Нерационально.
Образ раздела, снятый акронисом, ЧСХ, будет занимать те же 500 гигов. Тут tar не зря упоминали, но это будет уже не образ, а архив. Чем не устраивает?
Подскажите какой самый простой способ получить образ рабочей системы(freebsd) к примеру с hdd обьемом 500gb,
Монтируешь ридонли, делаешь cp или rsync — вуаля!
Если надо загрузчик, еще отдельно при помощи dd копируешь загрузчик, но это не нужно обычно.
Если ты так хочешь костылить, то хотя бы забей сначала все свободное место нулями, чтобы мусор не таскать!
Но таки cp или rsync — быстрей всего.
Образ раздела, снятый акронисом, ЧСХ, будет занимать те же 500 гигов.
4.2. Можно выбрать не посекторное, а только занятое пространство. И все правильно восстанавливается.
Надо будет потыкать, спасибо 🙂
Опять ты со своим акронисом. Осиль уже человеческие инструменты.
И да, Эдди дело говорит.
Там же можно выбрать. Посекторно, или только занятое место. И сжимает отлично/быстро.
Проверено, и не один раз.
Зачем вообще обсирать акронис не заслуженно?
Отлично с линуксом работает.
Поиск утверждает обратное: 1 2. Результаты я специально не отбирал, так что некоторые из них — попадание пальцем в небо, но если почитать, то закрадываются сомнения в полезности программы, рассчитанной на маздайку, для Linux.
Подскажите рабочий пример с утилитой dd, вот информация о hdd, если нужна еще напишите постараюсь оперативно скинуть! еще раз уточню интересует пример делающий образ рабочей freebsd, и пример ее развертки на другом hdd большей или меньшей емкости.
Очень буду благодарен за дельный действительно рабочий пример.
Ты хоть сам акронис использовал?
Ни разу проблем не было, а тем более тех что в гуголе.
Все разделы(linux) бекапил/восстанавливал без проблем.
Брал прямо на свободное место заново и восстанавливал(boot, home, swap, и тд) с бекапа.
Использовал. Больше не использую.
Но таки cp или rsync — быстрей всего.
если файлов много и/или комп слабый, то tar часто быстрее.
4.2. Можно выбрать не посекторное, а только занятое пространство. И все правильно восстанавливается.
1. записываешь в файл /dev/zero пока место не кончится
Без костылей никак?
я тоже так пару раз говорил. А потом у меня оно всю инфу убило, причём так, что я оттуда ничего не смог вытянуть. Но у тебя всё впереди.
По времени много займет. Есть 4-терабайтный диск, на котором занято 200 гигов. А пока будут записываться 3.8 терабайта. омг.
Для создания образа мне будет достаточно(грубо говоря) одной этой строки?
dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.img.gz
Только если у тебя система выключена или всё смонтировано в read-only. Иначе рискуешь получить неконсистентную систему. Что будет, если в процессе копирования данные в конце изменятся, пока копируется начало? :3
Чтобы такого не было:
tar, dd, rsync и прочее простое копирование файлов или побайтовое копирование винчестера — только на неактивной системе (с загрузочного live-образа или с другой установленной системы), или же при перемонтировании ФС в read-only (конкретной или всех на винчестере, смотря, откуда копируем данные — с ФС или целого винта).
Если надо получить образ с обычной работающей системы, то используй снапшоты, на Linux — с помощью LVM (или средствами ФС), на фре — ZFS умеет снапшоты.
Разворачиваем рабочий образ linux с минимальным интерактивом
Эта публикация может быть интересна тем ленивым системным администраторам, которые используют что-то из нижеперечисленнго:
- Linux — based систему на машинах-клиентах;
- Тонкие/толстые однотипные клиенты на различном железе;
- Сетевое хранилище клиентских данных;
- Предустановленный регламентированный софт;
- Openvpn/rdp к серверам приложений.
- Плюшевый (мягкий и пушистый) мониторинг linux клиентов типа Nagios.
Речь пойдет о том, как с минимальными усилиями со стороны пользователя или штатного «эникейщика» установить на компьютер пользователя готовую систему с набором софта, настроенными сетевыми службами, предопределенными конфигами и т.д. Статья ориентирована в первую очередь на энтузиастов и начинающих линуксоидов, но приемы и скрипты вполне могут использоваться в боевом развёртывании группы из десятков машин ежедневно.
Для начала определимся с дистрибутивом. Это, конечно, зависит прежде всего от задач. Я выбрал xubuntu 14.04 по трем простым причинам:
1. ubuntu — deb based система с широчайшей поддержкой и огромным количеством форумов;
2. xubuntu — легковесный вариант без рюшек и понтов, который не тормозит на машинах от 512Мб ОЗУ (есть в моём парке и такие динозаврики);
3. 14.04 — это LTS (Long Term Support) вариант c поддержкой до 2019 года.
Есть, конечно, варианты быстрее и поменьше, но по ряду тех или иных причин выбор был сделан и сожалений на протяжении года с небольшим не вызывает.
Забегая вперед, отмечу: чтобы повторить описанное потребуется настроенный vpn сервер или «конфиг-мониторинг-сервер» в локальной сети, пара виртуальных или реальных машин, пара часов свободного времени и внимание к деталям.
Итак, первое, подготовка образа. Все этапы важны, но первый — это фундамент. Устанавливаем систему с cd/dvd/usb/сети и выбираем разметку дисков. Важно понимать, что наш образ не будет поддерживать динамического ресайза ДО развёртывания. А после, скорее всего такой ресайз и не потребуется. Под корень имеет смысл отдать 6-10 Гб.
Больший объем оправдан в случае, когда заведомо известно, что а) диски на клиентских машинах не будут меньше этого объема и б) действительно будет установлено много разных нужных пакетов.
Разметим /home и, наконец, swap разделы. В совокупности все три раздела у автора не вылезают за 30Гб (чтобы спокойно разместиться на ssd 30 Gb, это минимальная конфигурация по диску для моих клиентов). В случае, если заранее известен минимальный объём диска — приемника, имеет смысл подгонять разделы под него. Своп рекомендую размечать сразу за корнем диска, /home сразу за свопом, чтобы в случае ресайза не «возить их по диску в консоли», а сделать изящно одной командой. Устанавливаем локаль, имя пользователя, пароль, hostname и заходим в новоиспеченный Linux. Для продолжения потребуются пакеты x11vnc, ssh, rsync, openvpn, mc (обожаю mcedit, он мне родной, как нортон из девяностых).
В базу я на свой вкус добавил skype, icedove (thunderbird), iceweasel(firefox), chromium-browser, rdesktop калькулятор, монитор ресурсов, viber, libre office, wine и пару windows-приложений (гореть мне, конечно, за это в аду, но аналогов нет и не предвидится). Настраиваем медленно и неторопливо всё это дело. Проверяем, что всё запускается и работает.
Настраиваем vpn. У меня сеть распределенная, по два-три компьютера на одну геолокацию, больше 50 локаций по России, не наездишься. Создаем ssh-ключ к серверу и на сервере к клиенту (кому надо вводить эти пароли, подробности, к примеру, тут). На сервере создаем каталог безусловной синхронизации (для меня это рабочие скрипты, ключи openvpn, клиентский cron, служебные скрипты на python, бинарники С++). В рабочем примере это /var/sync/in, /var/sync/in/cron, /var/sync/out. В out будут логи и любая нужная нам информация с клиентов: скриншоты, отчеты по процессам, итд. В in как раз и будут скрипты синхронизации, задания cron, скрипты хартбитов для мониторинга, многочисленные конфиги системных служб (того же cups или openvpn).
Подготовка всего этого дела к тиражированию займет не многим больше времени, чем установка системы одному пользователю, но тщательная проработка деталей может существенно уменьшить время, которое админ в будущем потратит на скрипты «допиливающие» все образы в бою. Настроим openvpn на клиенте и убедимся, что пользовательский ключ[и] работа[ею]т. Не лишним будет и настроить grub2.
- Хинт1: Хорошо, когда хостнейм, ip в openvpn и сертификат юзера содержат свой уникальный id, к примеру user10.key, x.y.z.10 и vladivostok_10 в качестве хостнейма;
- Хинт2: Хорошо, когда копии этих файлов лежат под рукой, скажем /var/sync/hostname, /var/sync/id, /var/sync/location;
- Хинт3: Зарезервировать 5-10 адресов под незарегистрированных пользователей тоже будет полезным.
Файлы из Хинт2 мы создавать не будем сознательно, по их отсутствию будет понятно, когда «новенькие» подключатся к нашему vpn.
Итак, всё шуршит, офис работает, калькулятор запускается, для rdp с сервером приложений уже есть ярлычок на рабочем столе.
Пришло время делать образ.
Разрешу себе отвлечься. Способов сделать образ с готовой системой под тираж я перепробовал немало. Данная статья не претендует на звание лучшего способа, скажу лишь, что способ лучший для меня и очень кратко прокомментирую другие способы и их минусы.
Clonezilla — отличная вещь, но в интерактивном режиме вводит в ступор любого эникейщика за триста миль от админа.
dd if=/dev/sda of=img.img — волшебная вещь, но вместе с данными мы получим мусор с пустой части диска, объём и скорость метода ужасают.
Norton ghost — не поддерживает ext4.
Partition copy из gparted — классная вещь, но, увы, тоже не для начинающих.
Я долго спрашивал себя, каким я вижу идеальное развертывание. Тут мы подходим к теме статьи, от которой уже порядком отвлеклись.
- Образ должен помещаться на небольшой (в моем случае 2Гб) флешке;
- Образ должен ставиться нажатием одной-двух кнопок;
- После развертывания образ сам должен синхронизироваться и «докладывать» админу, что новая машина «в строю»;
- Регистрация новой машины не должна занимать много времени;
- (Важно!) Образ скорее всего будет записан на флешку из-под windows непрофессионалом по инструкции;
- (АрхиВажно!) Образ скорее всего будет развиваться версионно, и его нужно периодически доделывать и быстро распространять.
Пришлось изобретать маленький велосипед, а точнее — писать разворачивающий скрипт. Для вышеупомянутых задач был выбран дистрибутив PartedMagic. Для заворачивания образа потребуется unetbootin+partedmagic или любой live-cd(usb) с линуксом и tar+b[g]zip на борту. Будем считать, что образ мы загрузили PartedMagic «run from ram» и флешка монтирована в /media/sdb1 (FAT32).
- Ахтунг1 Напоминаю, раздел файла в fat32 не должен быть более 4Гб, следите за объёмом образа или выбирайте ext4 раздел.
- Ахтунг2 NTFS раздел флешки под linux хоть и работает, но забирает огромное кол-во процессорного времени.
После загрузки монтируем наш диск (скорее всего /dev/sda1) и жмём прямо с него всю нашу систему, не забываем и про /home раздел:
Затем сделаем архив со всем содержимым нашего диска:
Тоже самое и для /home раздела:
Затем дампим таблицу разделов в файл на нашу суперфлешку:
Таким образом, на флешке у нас появятся архивы и файл с таблицей разделов эталонного образа.
Ну и на сладкое. Ниже скрипт c говорящим названием, который собирался по частям с разных уголков интернета буквально по строчке.
Комментарии автора прямо в тексте скрипта. Ничего сверхъестественного, просто как на уроке информатики, однако отлаживался с кровавыми слезами, разок даже убил домашнюю систему флешкой с этим скриптом. Не рекомендую оставлять как есть, т.к. это его безусловная неинтерактивная версия.
cat /pmagic/pmodules/scripts/kill_your_hdd_data.sh (путь для автозагрузочного скрипта в PartedMagic)
Вместо эпилога:
Данный метод используется в Urban Software для заливки информационных сенсорных киосков c веб-приложениями под управлением linux. Чаще всего это бесклавиатурные машины, которые разворачиваются десятками вдали от цивилизации нашей техподдержки, поэтому важно изначально не создать проблем при их мониторинге и вводе в работу.