Создание VDS для KVM из пустого шаблона (VDSmanager)

Материал из ISPWiki

Перейти к: навигация, поиск

Создание VDS для KVM из пустого шаблона


Создание "пустой" виртуальной машины

  1. Загрузите шаблон "empty-img"
  2. Создайте VDS из шаблона "empty-img" с необходимыми параметрами. hostname машины, например, "test.ru"и ip-адрес 10.1.1.2
  3. Конфигурация дисковой подсистемы:

Если вам необходимы дополнительные жесткие диски для VDS или необходимо подключить iso-образ в качестве CD-ROM привода, отредактируйте файл "filesystem", который лежит в папке /kvm/machines/test.ru

Путь /kvm/machines - это путь к образам виртуальных машин, устанавливаемый по умолчанию

Файл "filesystem" имеет следующий вид:


hd[a|b|c|d]=<img|lvm|tar|new>:[size]:<n|c|r>
[cdrom=/path/to/cdrom.iso]
[boot=<c|d>]
[root=hda|hdb|hdc|hdd]

Например, после создания VDS из шаблона empty-img файл filesystem имеет следующий вид:

hda=img:/kvm/machines/test.ru/10.1.1.2:2000:r
boot=c
root=hda

Это означает, что к VDS подключен один жесткий диск, образ которого находится в файле /kvm/machines/test.ru/10.1.1.2 и ресайз диска будет производиться изменением размера файла (пользователь сам должен изменить размер разделов). Загрузочный диск - жесткий. Основной диск - hda.

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

hdb=new:name:size:n 

В этом случае создастся новый жесткий диск либо как lvm, либо как image-файл (в зависимости от того, есть ли свободное место в разделе lvm) размер = size, имя диска: /kvm/machines/test.ru/10.1.1.2_name - для image-файла и /dev/kvm00/10.1.1.2_name -для lvm

Кроме того можно создать раздел вручную

kvm-img create <filename> <size>M 

Последняя буква - тип ресайза.

  • n - ресайз не делается,
  • r - ресайз как изменение размера файла или lvm-раздела,
  • c - ресайз "копированием" - создание нового образа, монтирование старого образа и копирование всех файлов на новый образ,
  • extend - "растягивание" образа и отправка сообщения гостевой системе,
  • inner-copy - копирование данных "изнутри" гостевой ОС (для FreeBSD).

При изменении размера образа образ меняется тому образу, который указан в строке root=...

Если вы включите строку cdrom=..., то подключится iso-образ в качестве cd/dvd-rom. Нужно отметить, что cdrom цепляется как secondary master (т.е. hdc-диск). Таким образом, не получится использовать hdc-диск одновременно с образом cdrom.

Чтобы загрузиться с iso-образа, нужно изменить строку "boot=c" на "boot=d"

Отредактированный файл filesystem будет выглядеть следующим образом:

hdb=img:/kvm/machines/test.ru/10.1.1.2:2000:r
hda=new:boot:200:n
# если вы создали образ вручную командой kvm-img
# то вместо hda=new:boot:200:n нужно написать
#hda=img:filename::n
cdrom=/path/to/cdrom.iso
boot=d
root=hdb

Диск hda размером 200 Мб создастся заново.


Мы сделали раздел boot как загрузочный primary master. Основной root-диск подключаем как hdb, соответственно, поправили строку root=hdb, чтобы система знала, где находятся файлы конфигурации в виртуальной машине.

Запускаем vds, заходим на vnc (я использую vinagre), указываю host - ip-адрес VDSmanager + " :id" , где id - идентификатор виртуальной машины (первая колонка в VDSmanager). Устанавливаем операционную систему, настраиваем сеть.

Наша виртуальная машина работает.

Создание шаблонов диска для KVM (VDSmanager)

Чтобы виртуальную машину на базе KVM превратить в шаблон, необходимо знать следующие вещи:

  1. Шаблон устанавливается в несколько этапов
    1. Копирование содержимого шаблона в папку с виртуальной машиной (обычно - /kvm/machines/NAME/ )
    2. Выполнение скрипта /kvm/machines/NAME/install (параметр - путь к папке с машиной)
    3. Обработка файла filesystem
    4. Отправка сообщений гостевой системе (на гостевой системе должен быть установлен VDSTools)

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

Например, мы создали VDS с двумя жесткими дисками: hda - /kvm/machines/test.ru/10.1.1.2_boot.img размером 200Мб и hdb - /kvm/machines/test.ru/10.1.1.2 размером 4Gb. Имя - test.ru, ip - 10.1.1.2. Операционная система - Fedora-12-i386. Информацию о том, как создавать и подключать дополнительные жесткие диски вы можете прочитать в статье Содержимое файла filesystem (VDSmanager).

После установки системы необходимо ее сконфигурировать, чтобы она работала в качестве шаблона:

  1. Поправить /boot/grub/grub.conf, /etc/fstab
  2. Отключить selinux
  3. Скачать, распаковать и установить VDSTools c [1] файлом install.4.sh

Следует помнить, что раздел жесткого диска, созданный при установке, в нашем случае будет иметь имя /dev/sdb1 Если мы хотим пересоздавать разделы из vds-manager и менять их размер, внутри гостевой машины /dev/sdb1 в конфигурациях нужно заменить на /dev/sdb

Далее, подмотнируем образ рутового диска в папку /tmp/mnt

mount -o loop,offset=32256 /kvm/machines/test.ru/10.1.1.2 /tmp/mnt

Параметр offset означает адрес начала раздела (обычно это 63 сектор, размер сектора - 512 байт). Информацию о разделах можно узнать командой

fdisk -lu /kvm/machines/test.ru/10.1.1.2

Если раздел создан VDSmanager, то параметр offset указывать не нужно.

Заархивируем содержимое диска

tar -czpf /kvm/machines/test.ru/root.tgz -C /tmp/mnt .
umount /tmp/mnt

Создадим папку для шаблона

mkdir /kvm/template/TEMPLATE-NAME

Скопируем туда машину

cp /kvm/machines/test.ru/* /kvm/template/TEMPLATE-NAME

Удалим старый диск

rm /kvm/template/TEMPLATE-NAME/10.1.1.2

Переименуем

mv /kvm/template/TEMPLATE-NAME/10.1.1.2_boot /kvm/machines/test.ru/boot.img

если же раздел boot для нашей машины создан как lvm, то нужно сделать команду

dd if=/dev/kvm00/10.1.1.2_boot of=/kvm/template/TEMPLATE-NAME/boot.img

Из vds-manager удаляем старую машину.

Правим файл filesystem:

hda=img:boot.img:200:n
hdb=tar:root.tgz:2000:c
boot=c
root=hdb

Правим /usr/local/ispmgr/etc/vdsmgr.conf Добавим строки

disktemplate "TEMPLATE-NAME" {
	Path /kvm/template/TEMPLATE-NAME
	Status ok
}

Шаблон готов к использованию.

Была ли эта информация полезной? Да | Нет
Личные инструменты