Linux, SystemImager · 5 min read · Jan 06, 2026

Создание образов вашей системы Linux с помощью SystemImager

Создание образов вашей системы Linux с помощью SystemImager

Версия 1.0
Автор: Фалко Тимме

Вы когда-нибудь сталкивались с проблемой, когда вы настроили “идеальную систему”, и теперь хотите создать резервную копию этой системы перед внесением изменений, чтобы вы могли восстановить оригинальное состояние, если изменения вас не устроят? Или вы системный администратор в крупной компании, где вам нужно поддерживать сотни машин Linux, которые работают с точно таким же программным обеспечением, но вам надоело устанавливать каждую машину вручную? Или вы разработали аппаратный модуль на базе Linux, и теперь хотите продавать его в большом количестве на разных аппаратных платформах (т.е. разные жесткие диски и т.д., а не разные архитектуры процессоров!) без необходимости поддерживать образ для каждой платформы? Или вы хотите распространять это решение своим реселлерам за границей, чтобы вам не приходилось отправлять дорогостоящее оборудование, и ваши реселлеры могли продавать свое собственное оборудование*? Вот здесь и вступает в игру SystemImager!

С сайта SystemImager:

“SystemImager - это программное обеспечение, которое автоматизирует установки Linux, распределение программного обеспечения и развертывание в производстве.

SystemImager упрощает автоматические установки (клонирование), распределение программного обеспечения, распределение контента или данных, изменения конфигурации и обновления операционной системы для вашей сети машин Linux. Вы даже можете обновить с одной версии Linux на другую!

Он также может использоваться для обеспечения безопасного развертывания в производстве. Сохранив ваш текущий производственный образ перед обновлением до нового производственного образа, у вас есть высоконадежный механизм резервирования. Если новая производственная среда оказывается неисправной, просто вернитесь к последнему производственному образу с помощью простой команды обновления!

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

SystemImager позволяет вам создавать образы ваших установок. Для этого вам нужен сервер образов (должен иметь достаточно дискового пространства для хранения ваших образов) и так называемый золотой клиент (т.е. ваша “идеальная система”, для которой вы хотите создать образ). Это означает, что вам нужно установить некоторое программное обеспечение на ваш сервер образов и на ваш золотой клиент, чтобы запустить SystemImager. SystemImager предоставляет пакеты Debian, а также rpm-пакеты для дистрибутивов на основе rpm, таких как RedHat, Fedora, SUSE или Mandrake. В этом примере как мой сервер образов, так и мой золотой клиент работают под Debian.

Этот howto предназначен как практическое руководство; он не охватывает теоретические основы. Они рассматриваются во многих других документах в сети.

Этот документ предоставляется без каких-либо гарантий!

*Это то, что мы делаем в компании, в которой я работаю. Мы распространяем образы нашего спам-фильтра нашим реселлерам через интернет, чтобы они могли устанавливать и продавать его на своих собственных аппаратных платформах. Если вас это интересует, напишите на [email protected].

Важно:

В новых версиях SystemImager (думаю, начиная с 3.4) вам нужно добавлять строку “si_“ ко всем командам, так что

getimage становится

si_getimage,

prepareclient становится

si_prepareclient,

mkautoinstalldiskette становится

si_mkautoinstalldiskette и так далее.

1 Установите SystemImager на сервер образов

Добавьте

deb http://download.systemimager.org/debian stable main

в /etc/apt/sources.list и выполните

apt-get update

Чтобы установить сервер SystemImager, просто выполните

apt-get install systemimager-server

2 Установите SystemImager на золотом клиенте

Добавьте

deb http://download.systemimager.org/debian stable main

в /etc/apt/sources.list и выполните

apt-get update

Чтобы установить клиент SystemImager, просто выполните

apt-get install systemimager-client

3 Создайте образ вашего золотого клиента на сервере образов

Теперь предположим, что мой сервер образов имеет IP-адрес 192.168.0.2, а мой золотой клиент имеет IP-адрес 192.168.0.100.

Чтобы получить образ от золотого клиента, вы должны отключить любой брандмауэр на золотом клиенте или, по крайней мере, разрешить соединение с портом 873 TCP (rsync). Теперь на золотом клиенте выполните следующую команду:

prepareclient –server 192.168.0.2

На сервере образов выполните

getimage -golden-client 192.168.0.100 -image my_golden_client -ip-assignment replicant

где my_golden_client - это имя образа, который вы хотите создать. -ip-assignment может иметь одно из следующих 4 значений (см. man getimage):

· static_dhcp – DHCP-сервер будет назначать один и тот же статический адрес каждый раз клиентам, установленным с этим образом. DHCP-сервер в этом случае также назначает соответствующее имя хоста. Поэтому, используя статический dhcp, можно изменить имя хоста и IP-адрес машины, просто изменив одно значение в файле dhcpd.conf. Некоторые могут считать это желательным. Также см. команду mkdhcpstatic.

· dynamic_dhcp – DHCP-сервер будет динамически назначать IP-адреса клиентам, установленным с этим образом. В динамическом dhcp IP-адрес машины может изменяться, но вы хотите, чтобы он сохранял одно и то же имя хоста. Поэтому имя хоста устанавливается самой машиной. Им могут назначаться разные адреса каждый раз.

· static – IP-адрес, который клиент использует во время автоподстановки, будет постоянно назначен этому клиенту.

· replicant – Не изменяйте настройки сети в этом образе. Я использую его как механизм резервного копирования и быстрого восстановления для одной машины.

4 Создайте загрузочную дискету

SystemImager позволяет вам устанавливать образы на системах, на которых ничего не установлено. Но мы должны сказать такой системе, откуда получать образ. Это можно сделать с помощью загрузочной дискеты (что означает, что ваша новая система должна иметь IDE-дисковод для дискеты, это не будет работать с USB-дисководом для дискеты). Чтобы создать загрузочную дискету, вставьте пустую дискету в ваш сервер образов и выполните

mkautoinstalldiskette

Это создаст стандартную загрузочную дискету. Теперь нам нужно создать файл конфигурации под названием local.cfg:

| HOSTNAME=www DOMAINNAME=example.com DEVICE=eth0 IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 GATEWAY=192.168.0.1 GATEWAYDEV=eth0 IMAGESERVER=192.168.0.2 IMAGENAME=my_golden_client |

Он должен содержать желаемые сетевые настройки вашей новой машины. DEVICE и GATEWAYDEV должны быть именем устройства Linux вашей сетевой карты. IMAGESERVER должен быть IP-адресом вашего сервера образов, а IMAGENAME должен быть именем образа, который нужно получить.

Сохраните этот файл на вашей загрузочной дискете. Вы можете даже сделать это на вашем рабочем месте с Windows, но убедитесь, что вы сохраняете файл с UNIX-разрывами строк!


Другой способ создания вашей загрузочной дискеты:

Создайте файл /var/lib/systemimager/my_golden_client.local.cfg на вашем сервере образов. /var/lib/systemimager/my_golden_client.local.cfg должен быть заполнен теми же данными, что и local.cfg выше. Затем выполните

mkautoinstalldiskette -config /var/lib/systemimager/my_golden_client.local.cfg

Это создаст вашу загрузочную дискету с вашим local.cfg включенным!


Третий способ создания загрузочной дискеты: загрузите этот

образ загрузочной дискеты

и запишите его на дискету. На системе Linux вы можете сделать это с помощью следующей команды:

dd if=systemimager-floppy-image.img of=/dev/fd0

На Windows вы можете использовать инструмент, такой как RawWrite, чтобы добиться этого. После этого вам все равно нужно создать local.cfg на дискете, как описано в первом методе, чтобы сделать загрузочную дискету выше.

5 Установите образ на новую систему

На вашем сервере образов выполните следующую команду:

/etc/init.d/systemimager-server start

или

/etc/init.d/systemimager-server-rsyncd start (в зависимости от вашей версии SystemImager)

Убедитесь, что порт 873 TCP доступен извне (брандмауэр!).

Теперь вставьте вашу загрузочную дискету в вашу новую систему и загрузитесь с дискеты. Ваша новая система автоматически установит образ my_golden_client, и вы закончите!

6 Обновите образ

Предположим, вы внесли некоторые важные изменения в ваш золотой клиент, и теперь вы хотите обновить ранее созданный образ my_golden_client. Шаги такие же, как в пункте 3:

На вашем золотом клиенте выполните

prepareclient –server 192.168.0.2

(Обратите внимание на ваш брандмауэр!)

На сервере образов выполните:

getimage -golden-client 192.168.0.100 -image my_golden_client -ip-assignment replicant

7 Удалите образ

Если вы хотите удалить образ на вашем сервере образов, просто выполните

rmimage my_golden_client

(my_golden_client следует заменить на имя образа, который нужно удалить.)

Ссылки

SystemImager: http://www.systemimager.org/

Оригинальное местоположение этого документа:

http://www.falkotimme.com/howtos/systemimager/

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.