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/
Оригинальное местоположение этого документа:
Get new posts in your inbox
No spam. Unsubscribe anytime.