Создание виртуальных машин Linux¶
- Создание виртуальных машин Linux
OVERVIEW | INSTALL | SETUP | OPERATIONS | LICENSE
ОБЗОР | УСТАНОВКА | НАСТРОЙКА | ОПЕРАЦИИ | ЛИЦЕНЗИЯ
Создание новой виртуальной машины Debian¶
Новая виртуальная машина на узле NODE1 с вторичным узлом NODE2, с одним диском на 10гб и с 256МБ RAM.
INSTANCE_NAME должен резолвиться в DNS или /etc/hosts.
gnt-instance add -t drbd -o debian+default -s 10g -B memory=256m --no-name-check --no-ip-check -n NODE1:NODE2 INSTANCE_NAME
У данной машины будет настроено получение настроек сети по DHCP
Более сложный пример: создание машины- На узле gnt2
- С вторичным узлом gnt1
- С тремя дисками
- 10g on volume group xenvg
- 600m on volume group xenvg (например, для swap)
- 5g on volume group newvg
- DNS имя: vg-test1
- IP адрес выяснится автоматически из DNS резолвингом имени vg-test1, а настройки сети будут взяты для подходящей подсети из
/etc/ganeti/networks
.
Если днс сервера в сети нет, то следует использовать аргументы --no-ip-check --no-name-check.
gnt-instance add -t drbd -o debian+default --disk 0:size=10g,vg=xenvg --disk 1:size=600m,vg=xenvg --disk 2:size=5g,vg=newvg -B memory=256m -n gnt2:gnt1 vg-test1
Выбор версии Linux для установки.¶
За выбор версии дистрибутива отвечает параметр -o:
-o debian+default - дебиан той же версии, что и хост-система.
-o debian+squeeze - дебиан 6 версии, squeeze
-o debian+wheezy - дебиан 7 версии, wheezy
-o debian+jessie - дебиан 8 версии, jessie
-o debian+stretch - дебиан 9 версии, stretch
-o ubuntu+default - убунту последней LTS версии
-o ubuntu+lucid - убунту 10.04 LTS, lucid
-o ubuntu+precise - убунту 10.04 LTS, precise
-o ubuntu+trusty - убунту 14.04 LTS, trusty
-o ubuntu+xenial - убунту 16.04 LTS, xenial
-o centos+default - CentOS 7.0
Подключение к консоли машины¶
Для подключения к консоли машины требуется ввести команду:
gnt-instance console ИНСТАНС
для отключения от консоли нужно нажать сочетание клавиш ctrl+]
SSH¶
Для подключения к виртуальной машине по ssh из Windows нужно скачать клиент putty: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Импорт виртуальной машины¶
Например, вы имеете образ, tar или какой-то еще архив с машиной с другого XEN сервера (или физической машины).
Для того, чтобы запустить ее в кластере SCI, нужно
Создайте виртуальную машину с флагом --no-install¶
gnt-instance add -t drbd -B memory=5192m -n NODE1:NODE2 -o debootstrap+default --no-install --no-name-check --no-ip-check --net=0:link=xen-lan --disk 0:size=4G --disk 1:size=1024M --disk 2:size=100G --disk 3:size=50G INSTANCE_NAME
--no-namecheck Используется когда имя машины не резолвится в ip (может резолвится через DNS или /etc/hosts).
--no-ip-check Используется, когда ip не предоставляется на этапе создания машины.
Активируйте дисковую систему машины, без ее запуска¶
gnt-instance activate-disks INSTANCE_NAME
эта команда напишет имена устройств для доступа к дискам.
Скопируйте на диски имеющуюся файловую систему¶
Примечание: Диски в ganeti представляют собой не разделы (партиции) /dev/xvda1, а именно диски с таблицей разделов /dev/xvda.
Перед копированием информации на такой диск, на нем надо создать таблицу разделов и дисковый раздел. Для этого:
1. Используйте команду
fdisk DISK
(укажите ей путь к диску, который выдала команда activate-disks)
2. Смонтируйте раздел внутри диска командой
kpartx -a DISK
она найдет на диске разделы и создаст устройства в /dev
3. После завершения копирования и отмонтирования раздела выполните
kpartx -d DISK
Запустите виртуальную машину¶
Наконец можно погасить диски и запустить виртуальную машину:
gnt-instance deactivate-disks INSTANCE_NAME gnt-instance startup INSTANCE_NAME
Установка других вариантов Linux¶
Установка Ubuntu¶
Для Ubuntu подготовлен os variant ubootstrap+default.
Для создания машины с ubuntu нужно запустить команду наподобие этой:
gnt-instance add -t drbd -o ubootstrap+default -s 4g -B memory=512m -n gnt1:gnt2 ubuntu
Установка CentOS¶
Для создания машины с CentOS нужно запустить команду наподобие этой:
gnt-instance add -t drbd -o yumbootstrap+default -s 4g -B memory=512m -n gnt1:gnt2 centos
т.к. в centos 7.4 red hat сломал поддержку PV (как умудрились в минорном апгрейде ядра это сломать и зачем - загадка), то нужно поставит более старое ядро:
http://archive.kernel.org/centos-vault/7.3.1611/os/x86_64/Packages/kernel-3.10.0-514.el7.x86_64.rpm
kpartx -av /dev/drbdX mount /dev/mapper/drbdXp1 /mnt cd /mnt mount -o bind /dev dev mount -o bind /proc proc mount -o bind /sys sys chroot ./ wget http://archive.kernel.org/centos-vault/7.3.1611/os/x86_64/Packages/kernel-3.10.0-514.el7.x86_64.rpm rpm -i kernel-3.10.0-514.el7.x86_64.rpm exit umount dev umount proc umount sys cd ~ umount /mnt kpartx -dv /dev/drbdX
далее редактируем /boot/grum/menu.lst:
default 0 timeout 5 color cyan/blue white/blue title CentOS, default kernel root (hd0,0) kernel /boot/vmlinuz-3.10.0-514.el7.x86_64 root=/dev/xvda1 ro initrd /boot/initramfs-3.10.0-514.el7.x86_64.img title CentOS, default kernel (single-user mode) root (hd0,0) kernel /boot/vmlinuz-3.10.0-514.el7.x86_64 root=/dev/xvda1 ro single initrd /boot/initramfs-3.10.0-514.el7.x86_64.img
альтернативно можно использовать CentOS Plus Kernel https://wiki.centos.org/AdditionalResources/Repositories/CentOSPlus
Управление виртуальными машинами¶
Всевозможные простые операции:
gnt-instance (startup|shutdown|reboot|failover|remove|console) INSTANCE