В сентябре 2017 года вышла новая версия популярного ПО для создания приватных, частных и гибридных облаков - Apache CloudStack. Версия 4.10 привнесла несколько давно ожидаемых возможностей, которые широко востребованы пользователям облачных сервисов. Всего в релизе 4.10 было исправлено более 272 ошибок. Оригинальный документ о релизе находится по ссылке. В новости мы рассмотрим ключевые улучшения и расскажем о том, почему они важны и как могут использоваться на практике.
Поддержка IPv6 для базовых зон
Эта долгожданная возможность пользователей. Apache CloudStack традиционно часто применяется для построения частных облаков, в этом случае применяются продвинутые зоны (Advanced Zones), для которых поддерживается изоляция трафика, трансляция адресов, частные кластеры, балансировка нагрузки. Для такой топологии поддержка IPv6 существует достаточно давно, однако, провайдеры, оказывающие услуги для широкого спектра клиентов часто используют базовые зоны без дополнительных услуг, назначая публичные IP-ареса непосредственно на виртуальные машины. Для данных типов зон поддержка IPv6 появилась только в данном релизе. Необходимо отметить, что в рамках текущей реализации, VM получает 1 адрес, который конфигурируется из сети /64, с помощью аппаратного адреса сетевой карты.
Данный подход не в полной мере соответствует ожиданиям многих клиентов, поскольку часто, пользователи хотят получать на каждую VM подсеть /64 (или даже более мелкую /80), чтобы использовать отдельные адреса для отдельных приложений без использования NAT, что, собственно, является ключевой возможностью IPv6. К примеру, для выделения публично доступного адреса IPv6 каждому docker-контейнеру.
В настоящее время данная функциональность не поддерживается, и Вы не можете получить подсеть IPv6 на виртуальную машину.
Поддержка Virtio-SCSI
Контроллер дисковых устройств Virtio позволяет гостевым операционным системам получить максимальную производительность от виртуализованных дисковых устройств. Данный контроллер непосредственно поддерживается гостевыми ОС под управлением Linux, для других гостевых операционных систем требуется установка дополнительных драйверов virtio, чтобы устройства могли быть обнаружены и доступны для использования. Контроллер virtio позволяет обеспечить значительно большую производительность, нежели репрезентация дисковых устройств гостевой ОС в форме IDE или SCSI.
В предыдущих версиях Apache CloudStack поддержка Virtio существовала в виде Virtio-blk, что позволяло использовать до 30 дисковых устройств. Virtio-SCSI снимает такие ограничения и обеспечивает лучшее масштабирование, поддержку стандартного протокола SCSI и стандартного именования устройств (/dev/sd?, вместо /dev/vd? для Virtio-blk).
В перспективе Virtio-SCSI должен полностью заменить Virtio-blk.
Поддержка полных снимков VM для KVM
Важная функция, которая понравится многим пользователям. В течение продолжительного времени для гипервизора KVM в CloudStack не существовало возможности создавать полные снимки виртуальной машины (RAM + Storage), что ограничивало привлекательность KVM для многих пользователей и они отдавали предпочтение использованию гипервизора Xen и других, для которых данная функция существовала. В версии 4.10 появилась полноценная поддержка возможности для KVM, что делает данный гипервизор привлекательным для всех категорий пользователей.
Улучшения производительности виртуального маршрутизатора
Виртуальный маршрутизатор (VR) - критически важный компонент Apache CloudStack. При отказе или некорректном функционировании VR, работоспособность облака нарушается. Для продвинутых зон зависимость от VR намного выше, чем для базовых, однако, и в данном кейсе отказы VR приводят к невозможности выделения виртуальных машины. В текущем релизе CloudStack сделаны улучшения производительности VR, которые будут заметны пользователям с большим количеством виртуальных машин (тысячи). Обсуждение проблемы может быть найдено в данном потоке, по итогам которого были применены решения Schuberg Philis из их форка Cosmic.
Принудительная остановка виртуальных машин для KVM, VmWare, XenServer
В предыдущих релизах Apache CloudStack остановка виртуальных машин, которые “сопротивлялись” могла занимать достаточно долгое время. Данное поведение было особенно неприятно, когда пользователь пытался остановить гарантированно зависшую VM, которая не реагировала на команды гипервизора (poweroff). В текущем релизе добавлена функция, которая позволяет преодолеть данное поведение.
Заключение
Релиз 4.10 - ключевой релиз, который сообщество Apache CloudStack рассматривает как исключительно важный, настолько, что была дискуссия об именовании новой версии Apache CloudStack 5.0, но, в конечном итоге, разум победил и следующий релиз будет иметь наименование 4.11. Параллельно с новыми релизами поддерживается LTS релиз 4.9.X (в настоящее время - 4.9.3).