KVM: автоматизированная установка GNU/Linux

Модератор: Модераторы разделов

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

KVM: автоматизированная установка GNU/Linux

Сообщение Bluetooth »

Решил освоить kvm, собрал тестовый стенд(пока вожусь с одной нодой), водрузил туда debian wheezy amd64, kvm, libvirt.

Разбираюсь со всем этим. Конечно, после ксена кажется все непривычным и неправильным, хотя при ближайшем рассмотрении оказывается не таким плохим (:

Но, все же, некоторые вопросы остаются непонятыми:

первый вопрос:
автоматизированная установка debian/ubuntu(а также centos). Как?
С ксеном я пользуюсь xen-tools, он устанавливает все с помощью debootstrap либо из tar. Поддерживались готовые схемы разметки, списки пакетов. Да и конфиг тоже формирует. Что позволяло развернуть виртуалку из тарника или просто из шаблона для xen-tools(role+partitions), как говорится, в ван-клик. Конечно же, хочется иметь что-то подобное и из

Какие варианты я нашел для kvm:
Для начала более простой вариант: установка из тарника. Впрочем, не обязательно из тарника.
вот есть virt-clone. Вроде умеет то, что нужно, однако же "искаропки" не предоставляет нужный мне функционал.
Конечно, можно обвязать скриптами, реализовав недостающий функционал, сделав похожим на xen-tools:
1) обвязка к командной строке - чтобы не пришлось задавать много параметров, а только хостнейм, память, адрес имиджа.
2) изменение мака, хостнейма, в новой виртуалке
3) всякие другие хуки
В общем-то, все просто реализуется скриптами. Однако, возможно, есть какой-то инструмент, более подходящий для моих задач?

С установкой "с нуля" все обстоит сложнее


virt-install по умолчанию просто создает конфиг, том, подключает к сети, запускает инсталлер с занного iso или с http. Ежу понятно, что каждый раз инсталлить с помощью штатного инсталлера - дурацкое занятие, да и к тому же требующее доступа к графической консоли.
можно воспользоваться средствами автоматизации инсталлера, раз уж он используется для установки. Такие средства есть у дистров, которые мне нужны.
Вопрос только в том, как ими воспользоваться. Про kickstart я видел в документации примеры, но меня куда больше интересует debian. Насколько я понимаю, поддержку реализовали совсем недавно: http://patchwork.test.kernel.org/patch/3662/ и непонятно, есть она в моей версии из wheezy и как ею пользоваться.
Помимо этого, нашел вариант с каким-то самопальным скриптом, который ставит через debootstrap:
http://dsa.debian.org/howto/install-kvm/
Но еще не пробовал.
в конце концов, ganeti умеет ставить машины с помощью debootstrap, но я не пробовал и не уверен, что это работать с квм
Вопрос тот же: есть ли более подходящие под мои нужды решения?
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: KVM: автоматизированная установка GNU/Linux

Сообщение sciko »

Bluetooth писал(а):
12.01.2012 14:02
Про kickstart я видел в документации примеры, но меня куда больше интересует debian.
Документация к squeeze рекомендует так.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Bluetooth »

sciko писал(а):
12.01.2012 14:38
Bluetooth писал(а):
12.01.2012 14:02
Про kickstart я видел в документации примеры, но меня куда больше интересует debian.
Документация к squeeze рекомендует так.

Нет, как пользоваться preseed я знаю, вопрос в другом: как preseed подсунуть virt-install - не делать же под каждый вариант свою сборку сидюка дебиановского, отличающегося только preseed файлами :)
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Ali1 »

Спасибо сказали:
Аватара пользователя
Aliech
Сообщения: 636
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Aliech »

Bluetooth писал(а):
12.01.2012 18:44
Нет, как пользоваться preseed я знаю, вопрос в другом: как preseed подсунуть virt-install - не делать же под каждый вариант свою сборку сидюка дебиановского, отличающегося только preseed файлами :)


Боюсь что это - самый честный способ, так же как и при работе с реальными физическими машинами. KVM - не Xen, идеология разная. В оригинале мы не отдаём ФС гостю, а отдаём образ диска. Это разные вещи.

Первое сейчас тоже появилось, но это, ИМХО, попытка взять не нужные фитчи с другой идеологией...
С уважением, Zerg
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Bluetooth »

Aliech писал(а):
14.01.2012 01:17
Bluetooth писал(а):
12.01.2012 18:44
Нет, как пользоваться preseed я знаю, вопрос в другом: как preseed подсунуть virt-install - не делать же под каждый вариант свою сборку сидюка дебиановского, отличающегося только preseed файлами :)


Боюсь что это - самый честный способ, так же как и при работе с реальными физическими машинами.

Физические машины я разворачиваю точно так же - либо из образа, либо с помощью debootstrap. Инсталлерами не пользуюсь - неудобно. Так что, видимо, буду пилить свои скрипты для автоматизации установки, как если бы это была физическая машина. Хотя, честно говоря, мне непонятно, почему виртуальную машину нужно разворачивать тк же сложно, как физическую. Ведь вопрос автоматизации решается довольно просто.

У меня такой вопрос к отписавшимся:
Как Вы лично разворачиваете машины в квм?
Что Вы делаете, если Вам за час нужно развернуть, ну, например, 10 машин?
Спасибо сказали:
Аватара пользователя
Aliech
Сообщения: 636
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Aliech »

Bluetooth писал(а):
14.01.2012 03:12
У меня такой вопрос к отписавшимся:
Как Вы лично разворачиваете машины в квм?
Что Вы делаете, если Вам за час нужно развернуть, ну, например, 10 машин?


1. В продакшне не использую libvirt. Контроль и развёртывание - самописными скриптами. Обычно система ставится инсталлером, так как привык к UUID'ам тем же, а ручками прописывать нет желания.
2. Было раза три, на моей памяти. Решал машиной с livecd + 10 образов дисков, ssh в livecd и debootstrap. Ну и screen, чтобы процессам не мешать) Такая не автоматизация проистекает из пункта 1.
С уважением, Zerg
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Bluetooth »

Aliech писал(а):
14.01.2012 04:51
2. Было раза три, на моей памяти.

Везет. У меня почти каждый гипервизор начинается с того, что на него инсталлится где-нибудь десяток машин :)
Без автоматизации тут никуда (:

Решал машиной с livecd + 10 образов дисков, ssh в livecd и debootstrap.

Ясно. Собсно, так и думал.

Тут, кстати, товарищ Ленивая Бестолочь посоветовал умный вещь - использовать pxe. Загрузившись с него, можно подсунуть кастом инсталлер, или же вообще запустить скрипт с debootstrap. Буду в этом направлении копать :)
1. В продакшне не использую libvirt. Контроль и развёртывание - самописными скриптами.
Да я бы тоже не использовал libvirt(совершенно не нравится его идеология), да вот только kvm в standalone сильно нехватает средств для управления, что ведет к написанию килограммов скриптов, что мне крайне не хочется. Поэтому, на данный момент, решил использовать libvirt. Хотя вообще еще есть вариант использовать ganeti, но я пока не разглядел - хорошо это или плохо :)
Спасибо сказали:
Аватара пользователя
Aliech
Сообщения: 636
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Aliech »

да вот только kvm в standalone сильно нехватает средств для управления, что ведет к написанию килограммов скриптов


Я уложился в 1К строк кода на Perl. Работает с Unix-сокетами и QMP.
С уважением, Zerg
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Ali1 »

dhcp
tftp
ks.cfg
nfs с уст. образом.
virt-manager

Bluetooth писал(а):
14.01.2012 17:00
Тут, кстати, товарищ Ленивая Бестолочь посоветовал умный вещь - использовать pxe.

+1

Также возможно использовать DHCP для указания файла автоматической конфигурации, загружаемого по сети. DHCP позволяет указать имя файла. Обычно, он указывается для способа установки по сети, но если он задан в виде URL, то установочный носитель, который поддерживает автоматическую установку по сети, загрузит файл с указанного в URL адреса и использует его как файл автоматической установки. Вот пример, как можно настроить dhcpd.conf для третьей версии сервера ISC DHCP (Debian пакет dhcp3-server).

if substring (option vendor-class-identifier, 0, 3) = "d-i" {
filename "http://host/preseed.cfg";
}
http://www.debian.org/releases/stable/i386...ru#preseed-dhcp
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: KVM: автоматизированная установка GNU/Linux

Сообщение Bluetooth »

Aliech писал(а):
14.01.2012 18:16
да вот только kvm в standalone сильно нехватает средств для управления, что ведет к написанию килограммов скриптов


Я уложился в 1К строк кода на Perl. Работает с Unix-сокетами и QMP.

Вот о чем я и говорил - ровно килограмм скриптов :)
Спасибо сказали: