Создание шаблона Debian 6 для VDSmanager-kvm
Поделюсь опытом создания шаблона виртуального сервера для VDSmanager с виртуализацией KVM
Итак, начнем. У нас есть сервер с установленным VDSmanager. Необходимо установить шаблон "empty-linux-template" - это основа для нашего будущего шаблона
Шаг 1. Создаем виртуальный сервер с именем deb6amd64.ru
Шаг 2. ISO
подключаем к созданной VPS ISO-образ с debian-6.0.5-amd64-netinst.iso (образ должен лежать в /kvm/iso)Если у вас на панели нет кнопки "подклчить ISO" - вам необходимо зайти в политики и поставить галочку на "VirtualCD"
Перезагрузим VPS и зайдем на сервер по vnc, видим примерно следующее:
Шаг 3. Произведем установку.
Жесткие диски следует разбить следующим образом:Это нужно для того, чтобы загрузчик был в отдельном небольшом разделе, чтобы VDSmanager не трогал этот раздел при разворачивании шаблона на виртуальную машину.
Откажемся от swap и продолжим установку.
ПО, необходимое нам. Не забудьте убрать лишние галочки.
Закончим установку.
Переходим в VDSmanager и отключаем ISO-образ:
После этого перезагрузим VPS из VDSmanager
Шаг 4. Настройка "изнутри"
Заходим на виртуальный сервер с будущим шаблоном по ssh
Поправим файлик /etc/default/grub, найдем и раскомментируем строку
GRUB_DISABLE_LINUX_UUID=true
Это нужно для того, чтобы в grub.conf попали ссылки на блочные устройства, а не их идентификаторы.
далее,
root@deb6amd64:~# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
done
теперь можно исправить следующие строки в /boot/grub/grub.conf :
было
linux /vmlinuz-2.6.32-5-amd64 root=/dev/sdb1 ro quiet
стало
linux /vmlinuz-2.6.32-5-amd64 root=/dev/sdb ro quiet
Поправим /etc/fstab. Должно получиться примерно так:
# / was on /dev/sdb1 during installation
/dev/sdb / ext3 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
/dev/sda1 /boot ext3 defaults 0 2
Далее, установим vdstools (пакет для связи виртуального сервера с "папой"
root@deb6amd64:~# wget http://ru.download.ispsystem.com/vdstools/VDStools-0.8.3-Linux-x86_64.tgz
root@deb6amd64:~# tar -xzf VDStools-0.8.3-Linux-x86_64.tgz
root@deb6amd64:~# ./install.sh
root@deb6amd64:~# rm -rf tools tools.tgz install.sh VDStools-0.8.3-Linux-x86_64.tgz
root@deb6amd64:~# update-rc.d vds-tools defaults
Закончили.
root@deb6amd64:~# halt -p
Шаг 5. Оформление шаблона
Перейдем на "папу", закончим делать шаблон
Перейдем в папку с нашей "заготовкой"
root@free /root # cd /kvm/machines/deb6amd64.ru
Подмонтируем рутовый раздел, для этого необходимо выйснить смещение первого раздела относительно начала файла:
root@free /kvm/machines/deb6amd64.ru # fdisk -lu root.img
You must set cylinders.
You can do this from the extra functions menu.
Disk root.img: 0 MB, 0 bytes
10 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000250c3
Device Boot Start End Blocks Id System
root.img1 * 2048 8386559 4192256 83 Linux
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 32, 33) logical=(3, 2, 33)
Partition 1 has different physical/logical endings:
phys=(522, 9, 63) logical=(13311, 9, 63)
Искомая цифра 512 * 2048
В некоторых ОС эта цифра может быть другой, будте внимательны.
Вытащим файлы, создадим архив, создадим директорию для шаблона и скопируем туда содержимое контейнера с VPS.
root@free /kvm/machines/deb6amd64.ru # mkdir fs
root@free /kvm/machines/deb6amd64.ru # mount -o loop,offset=$((2048*512)) root.img fs
root@free /kvm/machines/deb6amd64.ru # tar czf content.tgz -C fs/ .
root@free /kvm/machines/deb6amd64.ru # umount fs/
root@free /kvm/machines/deb6amd64.ru # rmdir fs
root@free /kvm/machines/deb6amd64.ru # mkdir /kvm/template/debian-6-amd64
root@free /kvm/machines/deb6amd64.ru # cp * /kvm/template/debian-6-amd64/
root@free /kvm/machines/deb6amd64.ru # cd /kvm/template/debian-6-amd64/
root@free /kvm/template/debian-6-amd64 # rm -f root.img
Осталось допилить шаблон:
Файл filesystem описывает, какие дисковые устройства подключаются к VPS. После редактирования он должен содержать следующее:
hda=img:boot.img::n
hdb=tar:content.tgz:1024:c
root=hdb
boot=dc
удалим лишнее и установим версию:
root@free /kvm/template/debian-6-amd64 # rm install-disk pidfile pre-run.conf
root@free /kvm/template/debian-6-amd64 # echo 1.0 > VERSION
Шаблон готов. Осталось добавить его в конфиг манагера. Добавьте следующую запись:
disktemplate "debian-6-amd64" {
Path /kvm/template/debian-6-amd64
Status ok
Update yes
}
Готово. Удачи.
Комментариев нет:
Отправить комментарий