Настройка VMmanager KVM на серверы OVH (Centos 7)

Автор статьи streser@abcdteam.eu

Здравствуйте уважаемые коллеги!
В данной статье я опишу процесс настройки VMmanager KVM на Centos 7 (сервер OVH)

Конфигурация сервера:
Процессор: Intel® Xeon® CPU E3-1245 V2 @ 3.40GHz
Память: 32Гб RAM
Диски: 3 x 120GB SSD

1) Подготовка сервера:
Есть 2 варианта установки:
— Из шаблонов OVH (Raid 5 вы не сможете организовать, так как корневой раздел, раздел boot и swap можно установить только в 1 рейде)
— Установка через бесплатный IP KVM – подробный процесс установки указан в статье

1.1) Согласно документации ISP System — Подготовка узла кластера, мы разобьем диск следующим образом:
жесткие диски разбиваются по следующему принципу: 60-80 GB под систему, остальное — под linux-lvm раздел.

Например:

1 раздел /boot, файловая система ext4 – 250мб, так как при обновлениях ядра linux Вам понадобится место;
2 раздел / (Корень), файловая система ext4 — 60-80 GB, место понадобится для ОС и шаблонов ОС для установки виртуалок;
3 раздел SWAP, файловая система ext4 – документации приводится 16GB, поскольку под нагрузкой не тестировал, ничего не могу сказать по этому поводу;
4 раздел /vm, файловая система ext4 все оставшееся место – предлагают сделать в 2 вариантах:
— LVM-раздел – очень хорош в своем деле, можно его расширять достаточно легко.
— Обычный раздел.
Важная пометка от ISP:
Настоятельно рекомендуем использовать на узле кластера ту же операционную систему, как и на основном сервере с установленным VMmanager. Желательно выбирать минимальную установку. Из дополнительных пакетов ставить только SSH сервер.
Структура разделов:



1.2) Устанавливаем операционную систему

2) Установка VMmanager KVM:
2.1) Скачиваем скрипт установки:

wget cdn.ispsystem.com/install.sh



2.2) Запускаем скрипт

sh install.sh VMmanager



2.3) Отключаем SELinux



2.4) Перезагружаемся



2.5) Опять запускаем установку



2.6) Выбираем Beta-версию



2.7) Выбираем VMmanager-KVM



2.8) После установки мы видим следующее:



3) Настройка

3.1) Заходим в панель по адресу:
Ваш-IP:1500/vmmgr
3.2) Соглашаемся с лицензионным соглашением.
3.3) Заходим под учеткой админа:



3.4) Добавляем ноду:







Указываете имя ноды, количество виртуалок на ней и примечание



Нажимате «ОК» и ждете применения настроек на ней.

До добавления ноды сеть на сервере выглядит таким образом


После таким:


3.5) Настраиваем шаблоны хранилищ, если надо



3.6) Устанавливаем шаблоны ОС



3.7) Настраиваем шаблоны виртуальных машин:



3.8) Добавляем подсети для виртуальных машин:
3.8.1) Заходим: Настройки-->База IP-адресов и нажимаем «Создать»



3.8.2) Вводим информацию о блоке IP-адресов, выданных от OVH:

По примеру:
Диапазон IP-адресов: 1.2.3.4/30 (IP/сетевой префикс)
Маска сети: 255.255.255.0(обязательно префикс /24 )
Адрес шлюза: 1.2.3.254 (согласно документации OVH)
но также я пробовал брать любой другой IP, не входящий в блок 1.2.3.4/30, главное, чтобы он был из той же подсети 1.2.3.0



Важно: Все IP-адреса, выдаваемые от OVH, отдаются под виртуальные машины.

3.8.3) Добавляем сетевой интерфейс, который в дальнейшем будет шлюзом для виртуальных машин:

Если главный IP-адрес сервера висит на интерфейсе vmbr0(после добавления ноды), то создаем интерфейс vmbr0:0 в /etc/sysconfig/network-scripts/ cо следующим содержанием:
DEVICE=vmbr0:0
IPADDR=1.2.3.254
NETMASK=255.255.255.0
ONBOOT=yes

Если будут добавляться новые блоки IP-адресов например из другой подсети: 1.2.5.0/29, то необходимо будет добавлять новые интерфейсы(алиасы), которые будут использоваться в качестве шлюза — vmbr0:1(IP-адрес в данном примере будет 1.2.5.254)… vmbr0:N



Запускаем новый алиас
ifup ifcfg-vmbr0:0



3.8.4) В /etc/sysctl.conf добавляем:
net.ipv4.ip_forward = 1
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 0
В Самый конец:
net.ipv4.conf.all.proxy_arp = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.proxy_arp = 1
net.ipv4.conf.default.send_redirects = 0



3.9) Если у Вас шаблон от OVH то делаем следующее:
Так как при запуске виртуалок мы видим ошибку:
Ошибка libvirt при выполнении операции «Start»: «internal error Process exited while reading console log output: qemu-kvm: -chardev pty,id=charserial0: Failed to create chardev»



Нужно поменять в /etc/fstab строчку:

devpts /dev/pts devpts defaults 0 0


На

devpts /dev/pts devpts rw,gid=5,mode=0620 0 0



если была чистая установка, то пропускаем этот и следующий пункт.

3.10) Перезагружаем сервер
3.11) DNS-сервер ом для виртуальных машин будет выступать 1 строка в /etc/resolv.conf, поэтому меняем nameserver 127.0.0.1 на nameserver 8.8.8.8 (сервер гугла)



3.12) Дальнейшие настройки по вкусу

UPDATE 2.0: Для снапшотов виртуалок используется директория по умолчанию /var/lib/libvirt/qemu/snapshot/ — учтите это, когда будете разбивку дисков делать.

UPDATE 2.1: Если все же по каким-то причинам у Вас не устанавливаются виртуалки и соответственно внешний IP они не подхватывают, то для проверки, надо на виртуалку поставить Debian, после чего зайти на нее через VNC и там нажать Alt+F2. Там вы провалитесь в консоль, где вы сможете произвести диагностику сети: ping, traceroute, route -n, ip addr.
На этом все, всем желаю успехов в настройке)

1 комментарий

avatar
Говорят есть проблема какая-то
замена vmbr0:0 на vmbr0:1 помогает

Оставить комментарий