Удаленная 5 ноября статья от ISPsystem
Внимание: Мы не рекомендуем использовать серверы дата-центров OVH / SoYouStart для работы VMmanager. Как правило, адрес шлюза в этих ДЦ не входит в выделяемую подсеть. В этом случае автоматическая установка шаблонов ОС, использующих технологию kickstart, невозможна. Эта статья была написана для примера и мы не ручаемся за ее актуальность по прошествии времени.
Тестовое окружение, использовавшееся при написании:
1) Выделенный сервер SoYouStart Intel Xeon E3 1225
2) 1 FailOver IPv4 + Virtual MAC
3) VMmanager KVM 5.27.2 beta бесплатная версия
4) CentOS 6.6
OVH и дочерние проекты SoyouStart / Kimsufi используют в выделенных серверах собственную сборку ядра. В процессе создания виртуальной машины вы можете столкнуться с ошибкой
"Ошибка libvirt при выполнении операции "Start": "internal error cannot create rule since ebtables tool is missing."
В этом случае загрузите другое ядро, измените порядок загрузки в grub, перезагрузите сервер:
yum install kernel
vim /etc/grub.conf
закомментируйте строку загрузки ядра # kernel /boot/bzImage-3.14.32-xxxx-grs-ipv6-64
reboot
Также вы можете столкнуться с
"Ошибка libvirt при выполнении операции "Start": "internal error Process exited while reading console log output: qemu-kvm: -chardev pty,id=charserial0: Failed to create chardev"
Для решения проблемы нужно выполнить
mount -n -t devpts -o remount,mode=0620,gid=5 devpts /dev/pts
В зависимости от количества приобретенных вами у дата-центра адресов, вы можете реализовать сеть для будущих виртуальных машин следующим образом:
1) 1 дополнительно заказанный внешний Failover Ipv4 + virtual MAC. Виртуальный MAC, присвоенный определенному адресу — необходимое условие. Найти его можно в личном кабинете OVH / SoyouStart в разделе IPs напротив заказанного адреса. В этом случае добавляем его в «Базу IP адресов » VMmanager:
адрес - ваш Failover Ipv4
маска - 255.255.255.0
шлюз - ваш Failover Ipv4
VMmanager сразу займет этот один адрес для шлюза. Выделите его и нажмите иконку «Адреса» в верхнем меню, перейдите в него и освободите адрес, нажав «Удалить». После этого адрес можно использовать для создания виртуальной машины как из шаблона ОС, так и из ISO-образа. Тестировалось на шаблонах CentOS-6-amd64 и Debian-7 из репозитория ISPsystem + ISO Debian-8 (загрузка с официального сайта). При создании виртуальной машины обязательно указываем в соответствующем поле MAC, полученный вместе с адресом от провайдера. После установки виртуальная машина должна быть сразу доступна из сети. Пример конфигурации такой VM:
[root@sedna ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 02:00:00:E4:58:ED
inet addr:46.105.62.201 Bcast:46.105.62.255 Mask:255.255.255.0
inet6 addr: fe80::ff:fee4:58ed/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39056 errors:0 dropped:0 overruns:0 frame:0
TX packets:28719 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2681121 (2.5 MiB) TX bytes:1355282 (1.2 MiB)
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
DNS1="8.8.8.8"
GATEWAY="46.105.62.201"
HWADDR="02:00:00:E4:58:ED"
IPADDR="46.105.62.201"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
где 02:00:00:e4:58:ed — Vitrual MAC, присвоенный при заказе адресу 46.105.62.201 Документация дата-центра рекомендует всегда использовать маску 255.255.255.255. Вы можете изменить маску вручную после создания виртуальной машины. Обращаем ваше внимание на то, что по всем вопросам, касающимся маршрутизации, необходимо обращаться к провайдеру.
2) Виртуальная машина с приватным адресом (с типом NAT): При создании виртуальной машины такого типа она будет иметь доступ в сеть, но не будет доступна снаружи. Изменить это можно с помощью правил форвардинга: Сделаем VM c приватным адресом доступной из сети:
На хост-ноде откроем любой свободный порт, который будет использоваться для форвардинга и добавить правило для редиректа:
iptables -A INPUT -p udp --dport 1022 -j ACCEPT
iptables -A INPUT -p tcp --dport 1022 -j ACCEPT
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 10.0.0.1:22
Где --dport — порт на хост-ноде, который будет использоваться для получения запросов, :22 — порт, который является целью для запроса.
Соответственно, запрос для доступа по ssh на такую VM будет выглядеть как: ssh root@94.23.209.138 -p 1022
По аналогии открываем доступ в ISPmanager
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1048 -j DNAT --to 10.0.0.1:1500