Как создать программно-определяемое хранилище в SpaceVM




Бизнес ожидает от СХД простых характеристик — чтобы данные были доступны всегда, а сбои и обслуживание не останавливали работу виртуальных машин и сервисов. Именно поэтому программно-определяемые хранилища становятся распространенным инструментом. На примере SpaceVM разбираем, как за считанные минуты собрать отказоустойчивое кластерное SDS, которое решает сразу несколько ключевых задач: снижает стоимость владения и обеспечивает стабильную работу в реальных условиях эксплуатации.

Вопрос о том, зачем вообще нужны программно-определяемые хранилища не лишен смысла. Объемы данных, которые приходится хранить бизнесам, постоянно растут, емкость хранилищ приходится постоянно наращивать, а многим компаниям приходится, к тому же, еще и обеспечивать соответствие требованиям регуляторов. Но стоимость аппаратных СХД и объем инвестиций в них перевешивают – и компании задумываются о переходе на SDS.

Они не только дешевле в принципе – экономия становится еще заметнее, если приходится иметь дело с неструктурированными данными. Есть и другие преимущества: можно абстрагироваться от аппаратной платформы и успешно побороть пресловутый vendor-lock. (это особенно важно в России), компании куда проще обеспечить независимость от вендорских санкций.

Программно-определяемые хранилища перестают быть экспериментальным решением в тот момент, когда инфраструктура выходит за рамки одного сервера или одной задачи. Рост числа виртуальных машин, регулярное расширение дисковой емкости и требования к высокой доступности данных быстро делают классическую СХД узким местом. В этот момент выбор SDS становится не вопросом технологий, а способом сохранить управляемость и предсказуемость инфраструктуры.

Наиболее заметно преимущества SDS проявляются в прикладных сценариях, с которыми сталкивается большинство компаний. Виртуализация «1С», CRM и биллинговых систем требует отказоустойчивости без кратного роста стоимости. VDI и удаленные рабочие места чувствительны к задержкам и неравномерной нагрузке. Файловые хранилища с неструктурированными данными плохо масштабируются в рамках монолитных массивов. Во всех этих случаях традиционные СХД начинают ограничивать развитие сервисов, а не поддерживать его.

Сложность заключается в том, что в разных виртуальных средах создание и управление SDS осуществляется тоже по-разному. О том, как решается эта задача на платформе SpaceVM, расскажем далее. При этом сфокусируемся на создании кластерного хранилища, которые становятся все более популярны благодаря своим надежности, простой масштабируемости и управлению.

Готовим сеть
Кластерное программно-определяемое хранилище в SpaceVM строится по многоуровневой архитектуре, в которой вычисления, сеть и хранение логически разделены, но управляются из единого контура.

На нижнем уровне располагаются физические серверы с локальными дисками, объединенными в RAID-массивы. Выше находится слой SDS на базе GlusterFS, который отвечает за агрегацию дискового пространства, репликацию данных и отказоустойчивость. Гипервизор SpaceVM использует этот слой как общее хранилище для образов дисков qcow2 виртуальных машин, абстрагируясь от конкретного оборудования.

На уровне каждого узла SpaceVM использует ZFS для управления локальными дисками и формирования разделов (бриков). Поверх ZFS-пулов строится кластерный слой SDS на базе GlusterFS, который отвечает за репликацию данных и их распределение между серверами. Такое разделение позволяет независимо управлять локальной надежностью хранения и кластерной отказоустойчивостью.

С точки зрения потоков данных виртуальная машина работает с единым логическим томом, тогда как внутри кластера операции записи и чтения распределяются между узлами с учетом выбранного типа тома и уровня репликации. Такое разделение позволяет масштабировать хранилище и вычислительные ресурсы независимо, устранять единичные точки отказа и обслуживать отдельные узлы без остановки сервисов. Именно поэтому корректная настройка сети и понимание архитектуры кластера становятся ключевыми факторами стабильной работы SDS.


Начинаем, конечно, с того, что вводим в панели администратора название сети (назовем ее для простоты Gluster), даем ее описание и, если требуется, указываем адрес подсети. Затем выбираем необходимый сервер и интерфейс, через который будет работать кластерный транспорт, — в нашем случае это будет 10 Гбит. В демонстрации используется сеть 10 Гбит; в реальных инсталляциях допустимы иные параметры, если они соответствуют требованиям по пропускной способности и задержкам.

Использование интерфейсов 10 Гбит для кластерного транспорта обусловлено не «запасом на будущее», а реальными нагрузками SDS. При активной записи и репликации данных сеть 1 Гбит быстро становится узким местом, что приводит к росту латентности и деградации производительности виртуальных машин. В кластере из нескольких узлов такие ограничения усиливаются, поэтому 10 Гбит рассматривается как базовый уровень для стабильной работы программно-определяемого хранилища.


Здесь же есть возможность агрегированный интерфейс. Нам потребуется еще создать внутренний интерфейс на каждом из серверов – у нас их будет три, для каждого будет актуальна та же самая процедура.


Затем проверяем настройки сети, при необходимости вводим тег VLAN и меняем MTU. Настройки MTU и VLAN оказывают заметное влияние на работу кластера. Использование увеличенного MTU позволяет сократить накладные расходы при передаче больших объемов данных, однако требует единообразной настройки на всех узлах и сетевом оборудовании.

Некорректные или неоднородные параметры сети могут приводить к трудно диагностируемым ошибкам, которые внешне проявляются как проблемы хранилища.

Далее, можно добавить резервированные пулы адресов. И после этого запускаем процесс создания сети.


После того, как она создана, нужно создать кластерный транспорт.


Для этого нужно зайти в кластерные хранилища, ввести в них название кластерного транспорта, задаем для него описание и выбираем созданную нами внешнюю сеть. Это нужно для того, чтобы трафик проходил именно через нее.

Подготовка хранилищ на узлах


Следующий шаг – подготовка хранилищ на узлах созданной сети. Для этого нам надо сформировать массивы RAID на каждом из серверов. Выбираем тип RAID: доступны stripe, mirror, RAIDZ1 и RAIDZ2 — это реализации отказоустойчивых схем хранения на уровне ZFS, функционально сопоставимые с RAID5 и RAID6, но реализованные с учетом архитектуры файловой системы. Тип RAID на узлах следует выбирать с учетом профиля нагрузки и логики работы SDS.

Зеркальные конфигурации обеспечивают минимальные задержки и предсказуемую производительность, тогда как схемы с контролем четности позволяют эффективнее использовать емкость. Важно учитывать, что локальный RAID не заменяет кластерную репликацию, а дополняет ее, снижая вероятность потери данных и ускоряя восстановление при отказах.

Можно собрать RAID из подключенных LUN, расположенных на внешнем хранилище iSCSI или FC. Для каждого массива вводится название и, опционально, описание. Эта процедура повторяется на каждом из серверов.


У каждого из серверов нам доступен просмотр статуса, монтаж и демонтаж дисков, выключение устройства для обслуживания. Можно также получить расширенные сведения ZFS тома, добавить устройства для горячей замены и расширить пулы в случае добавления дисков.

Создание SDS-тома
Следующий этап – создание программно-определяемого тома. Для этого в интерфейсе управления есть отдельный раздел. В нем выбираем функцию создания, определяем тип тома, реплицированный или дисперсный. Первый потребуется для обеспечения отказоустойчивости и надежности, второй позволяет объединять RAID различного размера, а кроме того, может обеспечивать более высокую производительность в ряде сценариев, в зависимости от профиля нагрузки и конфигурации кластера.


В нашем случае выберем реплицированный том, затем транспорт, через который будет работать том и пулы хранилищ из числа созданных на предыдущем этапе. В рамках демонстрационного кластера мы используем реплицированный том как наиболее универсальный вариант.

Кроме того, нужно выбрать размер записи, указать значение репликации тома (оно равно количеству томов).

Опционально можно указать использование арбитра — логического компонента, который не хранит пользовательские данные, а используется для обеспечения кворума и предотвращения split-brain-сценариев при отказе одного из узлов кластера.

SpaceVM позволяет создать пул данных автоматически – статус выполнения задания можно отследить в нижней части интерфейса.

Проверка пула данных


После того, как SDS-тома созданы, можно для каждого из них посмотреть, к каким серверам он смонтирован, проверить их доступность и активность. После создания тома стоит проверить через пул данных его корректность и объем.



Проверить надо и кластерный транспорт. На соответствующей вкладке можно видеть, что он подключен ко всем серверам, получить расширенные сведения о состоянии транспорта.

Проверка работоспособности
Затем, конечно, нужно проверить созданный SDS в работе.


Для этого нужно в соответствующем разделе выбрать виртуальную машину и перенести ее на созданный том. В ручном режиме выбираем пул ресурсов для миграции, режим с переносом локальных дисков, сеть, к которой будет подключена виртуальная машина и запускаем процесс миграции.

Миграция при этом происходит бесшовно, она продолжает работать во время переноса.

Отказоустойчивость
В такой конфигурации отказоустойчивость обеспечивается на двух уровнях: за счет локальных RAID-массивов на каждом сервере и за счет кластерной репликации данных между узлами. Это позволяет переживать отказ отдельных дисков или одного сервера без потери данных и остановки сервисов при соблюдении требований к кворуму кластера.

Как видим, процесс создания SDS-хранилища в среде SpaceVM укладывается в типовой рабочий сценарий администратора. Все основные операции выполняются через интерфейс управления и не требуют ручной настройки на уровне CLI. В демонстрационной конфигурации развертывание занимает минимальное время, тогда как в продакшене сроки и параметры могут варьироваться в зависимости от архитектуры, оборудования и требований к отказоустойчивости.

spacevm.ru/space-vm/
spacevm.ru/spacevm-essentials-plus-kit/
spacevm.ru/space-cloud/

GFS2 — файловая система для новой виртуализации: наш опыт интеграции в SpaceVM




Облачные среды, отказоустойчивые кластеры и платформы виртуализации требуют от хранилищ не только надежности, но и поддержки одновременного доступа. В этих условиях традиционные файловые системы (EXT4, NTFS, XFS и др.) оказываются недостаточными — они не рассчитаны на работу с общими блочными устройствами между несколькими узлами. Одним из решений может стать кластерная файловая система, и одной из самых зрелых в этом классе является GFS2 (Global File System 2).

Современные ИТ-инфраструктуры часто строятся вокруг виртуализации и облаков, где несколько серверов одновременно обращаются к одним и тем же данным. В таких системах ключевым становится не просто объем или скорость хранилища, а способ доступа к данным — общий или локальный, файловый или блочный. От того, как именно организовано взаимодействие с хранилищем, зависит архитектура всего решения: от производительности виртуальных машин до отказоустойчивости кластера.

Локальные хранилища привычны для одиночных серверов: диск или массив принадлежит конкретному узлу, который управляет им напрямую. Общие (shared) хранилища, напротив, предоставляют единое пространство данных для нескольких серверов. Именно они лежат в основе высокодоступных кластеров и виртуализационных платформ, где важно, чтобы виртуальные машины могли мигрировать между узлами без потери доступа к своим дискам.

Но общий доступ — это не только вопрос архитектуры, но и способа взаимодействия с данными. Файловые протоколы (NFS, SMB и др.) дают возможность работать с файлами на уровне операционной системы, но вносят дополнительные задержки и ограничения. Блочные протоколы (iSCSI, Fibre Channel) предоставляют более низкоуровневый доступ — сервер видит удаленное устройство как локальный диск. Однако при этом возникает другая проблема: как синхронизировать работу нескольких узлов с одним и тем же блочным устройством, не разрушив файловую систему?

Ответ на этот вызов дают кластерные файловые системы, специально разработанные для совместного блочного доступа. Одна из самых зрелых и функциональных среди них — GFS2 (Global File System 2). В нашем опыте ее интеграция в собственный продукт — платформу виртуализации SpaceVM — позволила приблизиться к созданию устойчивой, масштабируемой и по-настоящему отказоустойчивой среды.

SpaceVM — собственная разработка компании, платформа виртуализации на базе гипервизора KVM. Своего рода аналог vSphere от VMware, адаптированный под отечественные реалии и высокую степень автоматизации, это программный комплекс для управления вычислительными кластерами, автоматизации развертывания виртуальных машин и балансировки ресурсов между узлами. В его основе — идея унифицированного управления инфраструктурой: от гипервизора до сетевых и дисковых подсистем, с акцентом на прозрачность процессов и возможность интеграции с существующими ИТ-ландшафтами.

С использованием GFS2 достигается эффект, сопоставимый по удобству и стабильности с использованием VMFS в продуктах VMware — с открытым исходным кодом и возможностью глубокой адаптации под нужды отечественных заказчиков.

В архитектуре платформы стояла задача обеспечить общий доступ к блочному хранилищу между узлами кластера — без потери целостности данных и с возможностью одновременной работы виртуальных машин. При этом многие заказчики ожидали получить функциональность, сопоставимую с VMFS, используемой в продуктах VMware. Эти два требования сошлись в одной точке: для реализации такой модели доступа мы выбрали GFS2 — кластерную файловую систему, по принципам работы близкую к VMFS, но основанную на открытом коде и допускающую глубокую адаптацию под особенности отечественной инфраструктуры.

GFS2: преимущества архитектуры и механизма блокировок
GFS2 — это POSIX-совместимая кластерная файловая система, разработанная для работы с общими блочными устройствами, подключенными по Fibre Channel или iSCSI. Ее ключевая особенность — координация доступа к метаданным и содержимому файлов при помощи распределенного менеджера блокировок DLM (Distributed Lock Manager).

Это позволяет гарантировать целостность данных даже при одновременном доступе с нескольких узлов. В отличие от NFS или SMB, где блокировки файлов координируются через сеть, GFS2 использует механизм локальных блокировок. Это принципиальное отличие: при сетевых файловых системах каждая операция блокировки требует удаленного вызова — будь то RPC-запрос или SMB-пакет — и ожидания ответа от сервера. Такие сетевые транзакции неизбежно добавляют задержку, особенно при высокой нагрузке или нестабильных сетевых условиях.



В GFS2 же блокировки реализованы на уровне узлов кластера с использованием локальных ресурсов ОС и специализированных сервисов. Это значит, что большинство операций синхронизации выполняется без сетевых вызовов, напрямую внутри ядра или через быстрые механизмы обмена между узлами. Благодаря этому GFS2 обеспечивает более предсказуемое время отклика и лучшую масштабируемость при росте количества клиентов, чем файловые протоколы NFS или SMB.

По сравнению с прямым пробросом блочных устройств в виртуальные машины, GFS2 предлагает более безопасный и управляемый способ совместного доступа к данным, не жертвуя скоростью и устойчивостью файловой системы.

GFS2 демонстрирует сбалансированный и технологически обоснованный подход к организации доступа к общим данным, выгодно отличаясь как от сетевых решений вроде NFS или SMB, так и от схем прямого подключения блочных устройств без кластеризации.

В сетевых файловых системах вся работа с данными происходит через удаленный сервер — каждая операция чтения, записи или блокировки требует сетевого запроса и подтверждения. Это упрощает администрирование, но создает точку отказа и ограничивает масштабирование: при росте нагрузки сервер становится узким местом, а задержки на уровне сети напрямую влияют на производительность.

В противоположность этому, при прямом пробросе блочного устройства (или подход называемый SharedLVM) в несколько узлов вся логика управления данными перекладывается на хосты. Такой подход обеспечивает высокую скорость, но лишен механизмов согласования и защиты целостности: две машины могут записать разные данные в один и тот же блок, разрушив файловую систему.

GFS2 решает обе проблемы одновременно. Она обеспечивает одновременный блочный доступ к устройству, но при этом использует встроенные кластерные механизмы — журналирование, распределенный менеджер блокировок (DLM) и систему метаданных, общую для всех узлов. За счет этого данные остаются согласованными, а операции синхронизации происходят быстрее, чем в сетевых файловых системах, поскольку выполняются на уровне ядра и не требуют посредничества сервера. Таким образом, GFS2 сочетает надежность и консистентность сетевых решений с низкими задержками и эффективностью блочного доступа.

Второе важное преимущество — масштабируемость. Архитектура GFS2 допускает одновременный доступ к файловой системе с большого числа узлов, не требуя специальных клиентских или серверных реализаций. Это делает ее пригодной для использования как в компактных конфигурациях с 2–3 серверами, так и в полноценных кластерах с десятками узлов.

При этом поддержка iSCSI и Fibre Channel дает гибкость в выборе СХД и не требует полной перестройки инфраструктуры.

Третье — отказоустойчивость. В отличие от решений, где потеря одного узла может повлечь за собой повреждение данных или зависание всей файловой системы, GFS2 умеет корректно обрабатывать сбои.

Механизмы fencing и quorum позволяют изолировать некорректно работающий узел, предотвращая split-brain и обеспечивая консистентность хранилища. Это особенно важно в условиях непрерывной работы платформ виртуализации, где потеря доступности даже части пула данных может повлечь каскадный отказ сервисов.

Наконец, GFS2 упрощает администрирование за счет единого пространства имен и поддержки различных форматов данных. Это позволяет централизованно управлять пулами хранения и использовать привычные средства резервного копирования, миграции и диагностики. Для конечного пользователя это выражается в предсказуемом поведении системы и возможности разворачивать кластерные решения без глубокого погружения в особенности конкретных СХД или драйверов.

На фоне альтернатив — GlusterFS, CEPH, Lustre — GFS2 занимает уникальное положение: это именно кластерная файловая система, работающая поверх одного общего устройства хранения, а не распределенная система с репликацией. Что делает ее особенно актуальной для сценариев, где важна экономия места, контроль над изоляцией данных и высокая предсказуемость поведения I/O.

Для чего мы используем GFS2 в SpaceVM
Одной из ключевых архитектурных задач в SpaceVM стало обеспечение полноценного доступа к общему хранилищу с возможностью запуска и миграции виртуальных машин на любых узлах кластера. Без использования внешней кластерной файловой системы это невозможно реализовать корректно.



В виртуализированной инфраструктуре, где диски ВМ хранятся на сетевых LUN, только кластерная файловая система обеспечивает безопасный параллельный доступ с нескольких узлов, защиту от повреждения данных и поддержание высокой доступности. Именно в этом контексте в архитектуру SpaceVM была интегрирована GFS2 как штатный компонент хранилищ виртуальных машин.

Благодаря GFS2, платформа получает следующие возможности, критически важные для промышленного использования:
  • Хранение образов ВМ в виде файлов (формата qcow2) на общем устройстве, доступном всем серверам одновременно;
  • Реализация высокой доступности (HA) за счет возможности мгновенного запуска виртуальной машины на любом из узлов без предварительной миграции её диска;
  • Поддержка динамического перераспределения ресурсов (DRS), включая live migration, без необходимости вручную управлять блочными устройствами;
  • Использование моментальных снимков, клонов и тонких дисков, с одновременной защитой от потерь данных при overcommit-сценариях — благодаря механизмам блокировок GFS2;
  • Выполнение требований безопасности, предъявляемых заказчиками: например, возможность использовать атрибуты безопасности на уровне файлового слоя, чего невозможно достичь при прямом пробросе блочных устройств в ВМ.

GFS2 в SpaceVM — не просто еще один способ монтировать хранилище, а полноценный архитектурный уровень, обеспечивающий устойчивость, управляемость и безопасность всей платформы.

Однако простая интеграция GFS2 в SpaceVM оказалась невозможной. Нужно было добиться не только корректной работы файловой системы, но и органичной интеграции в архитектуру SpaceVM, где свои требования к кластерному транспорту, управлению ограждением узлов и мониторингу.

Архитектура и технические сложности
Файловая система GFS2 не существует в изоляции — она требует работы в составе кластера и взаимодействует с рядом системных компонентов, формирующих так называемый кластерный транспорт. В этой архитектуре важны не только сама файловая система, но и сопутствующий ИТ-ландшафт, обеспечивающий согласованность операций, отказоустойчивость и синхронизацию между узлами.

В первую очередь, GFS2 включает в себя менеджер DLM, который отвечает за координацию доступа к метаданным и содержимому файлов. Чтобы избежать ситуаций типа split-brain и гарантировать консистентность, применяется механизм ограждения (fencing), реализуемый через SBD (Storage-Based Death), чаще всего с использованием аппаратного watchdog-интерфейса IPMI.

Файловая система GFS2 не работает автономно — она является частью кластерной инфраструктуры и требует взаимодействия с рядом системных сервисов, которые обеспечивают согласованность доступа и защиту данных. В отличие от обычных файловых систем, где единственный узел управляет диском, в кластере одновременно несколько машин читают и записывают данные на одно и то же блочное устройство. Это создает типичные распределенные проблемы — от гонок за блокировки до рассинхронизации метаданных при сбоях узлов.

Чтобы избежать подобных ситуаций, GFS2 использует DLM. Он координирует доступ к метаданным и содержимому файлов, гарантируя, что ни один узел не изменит данные, пока другой с ними работает. Механизм блокировок распределенный, но выполняется внутри кластера, без участия центрального сервера, что снижает задержки и устраняет единую точку отказа.

Однако даже с DLM остаются риски, связанные с частичными сбоями — например, когда узел теряет связь с сетью, но продолжает считать себя активным. Чтобы предотвратить разрушение данных в таких сценариях, применяется механизм fencing — изоляции или «отключения» проблемного узла. В GFS2 это реализуется через SBD (Storage-Based Death), который хранит управляющие метки на общем хранилище и при необходимости инициирует аппаратный перезапуск узла через интерфейс IPMI или watchdog. Таким образом, система сохраняет консистентность даже в условиях сетевых сбоев и частичных отказов, что критически важно для кластерной файловой системы.

Кластерный транспорт GFS2 опирается на стек Corosync — это системный уровень, обеспечивающий коммуникацию между узлами и согласование их состояний. Важной частью надежной работы всей системы является синхронизация времени на всех узлах, обеспечиваемая через NTP: даже небольшие расхождения могут привести к рассогласованию в блокировках или ложным срабатываниям watchdog-механизма.


Кроме того, для подключения LUN в инфраструктуре используются утилиты multipath-tools (в случае Fibre Channel) и open-iscsi (для iSCSI). Они обеспечивают корректное определение, маршрутизацию и управление путями к блочным устройствам, поверх которых и разворачивается файловая система GFS2.

GFS2 — целостная кластерная подсистема, в которой управление доступом, синхронизацией, диагностикой и восстановлением после сбоев вынесено на уровень кластера.

К системе/кластеру предъявляется ряд требований: строгое время синхронизации между узлами, устойчивость к потере сетевого трафика и возможность автоматического fencing'а при ошибках. Любые отклонения ведут к перезагрузкам узлов или развалу кластера.

Трудности при развертывании GFS2: от теории к полевым реалиям
Хотя GFS2 — зрелая и мощная технология, ее внедрение в реальной инфраструктуре связано с рядом инженерных сложностей. Эти проблемы не всегда очевидны на этапе проектирования, но проявляются в момент масштабирования, нагрузки или интеграции в существующую платформу. Наш опыт развертывания GFS2 в составе SpaceVM показал: надежная работа кластерной файловой системы требует учета множества низкоуровневых факторов.



  • Один из критических аспектов — синхронизация времени между узлами. GFS2 использует DLM и SBD, которые чувствительны даже к незначительным расхождениям во времени. Практика показала: если разница между узлами превышает 60 секунд, возможны некорректные решения по кворуму или ошибочные fencing-сценарии. Поэтому требуется жесткая настройка NTP-инфраструктуры с контролем точности синхронизации вплоть до миллисекунд.
  • Следующая проблема — сетевые коллизии. При использовании iSCSI поверх общей инфраструктуры наблюдались случаи, когда трафик от виртуальных машин перекрывал каналы кластерного транспорта. Это приводило к задержкам, потере пакетов и, как следствие, рассинхронизации между узлами, развалу кворума и перезагрузкам. Особенно остро это проявлялось при объединении сетевых интерфейсов по LACP: реализация агрегации каналов у разных производителей оборудования иногда конфликтовала с работой iSCSI, вызывая нестабильные и трудноотлавливаемые ошибки. Мы отказались от LACP в пользу Active-Backup-режима, обеспечив тем самым предсказуемую работу с минимальной зависимостью от поведения сетевого оборудования.
  • Отдельного внимания требует механизм ограждения через аппаратный watchdog. В нашем случае это IPMI-интерфейс, который должен реагировать на команды от SBD каждые 5 секунд. Однако в ряде инсталляций IPMI не успевал обработать запросы вовремя — из-за параллельных обращений от других сервисов или под нагрузкой. Это приводило к ложным fencing-сценариям: узел перезагружался без реальной причины. Решение — настройка возможности изменения таймаута watchdog’а и тщательное тестирование поведения IPMI на каждом типе оборудования.

Также важно отметить трудности, возникающие при блокировке монтирования LUN. В случае некорректного завершения работы или проблем с доступом к СХД, файловая система могла зависать в состоянии ожидания, блокируя операции на уровне ядра. Требовались либо перезагрузка узла, либо использование низкоуровневых утилит для разблокировки ресурса.

Подобные случаи невозможно игнорировать в продуктивной системе, и мы встроили в SpaceVM механизмы предиктивной диагностики, позволяющие заранее идентифицировать потенциальные блокировки по косвенным признакам.

Интеграция GFS2 в платформу виртуализации
Интеграция GFS2 в платформу виртуализации SpaceVM потребовала глубокого осмысления архитектуры кластерного транспорта и адаптации логики GFS2 под централизованную модель управления. В отличие от классического использования GFS2 в кластерах с ручной настройкой, здесь требовалось встроить файловую систему в оркестратор, который сам управляет вычислительными узлами, хранилищами и службами мониторинга через API и веб-интерфейс.

Одна из ключевых проблем заключалась в несовместимости базовой логики GFS2 с концепцией SpaceVM. GFS2 ставит во главу угла сохранность данных: при любых ошибках, нарушениях кворума или сбоях с доступом к хранилищу система инициирует ограждение узла, то есть его принудительную перезагрузку. Напротив, SpaceVM ориентирован на непрерывную доступность ВМ и динамическую работу с узлами — даже при частичных деградациях инфраструктуры.

В результате потребовалось реализовать механизм точной настройки поведения GFS2 через интерфейс платформы, чтобы у администратора была возможность балансировать между отказоустойчивостью хранения и живучестью вычислительного пула.

Также было необходимо централизовать управление кластерным транспортом. В классическом варианте администратор вручную настраивает corosync, DLM, SBD, конфигурирует кольца, задает пороги кворума и поведение watchdog. В SpaceVM же вся эта конфигурация задается через API и визуальный мастер (wizard) создания GFS2-пула. Он позволяет в одном окне:
  • выбрать диски,
  • указать тип монтирования,
  • настроить кластерный транспорт и fencing,
  • развернуть файловую систему.

Эта автоматизация особенно важна, поскольку GFS2 имеет высокий порог входа в плане требований к администратору. Ручная настройка — сложна и не масштабируется. Внедрение через интерфейс SpaceVM снимает барьер для широкого использования технологии.


Мы внедрили централизованную валидацию настроек, автоматическое создание кластерного транспорта, подключение или отключение ограждений узлов, а также поддержку резервных сетей на базе протокола SCTP — они выбираются из UI и позволяют без прерывания работы переключаться между каналами связи.

На уровне гипервизора также произошла серьезная интеграция. Контроллер SpaceVM передает вычислительным узлам команды через GRPC, синхронизируя настройки кластера, хранилищ и дисков. Все компоненты — от планировщика задач и очередей до сервисов синхронизации — взаимодействуют через собственную распределенную архитектуру. В этом окружении GFS2 стала частью общей системы: она управляется не вручную, а автоматически, через механизмы модулей Puppet, SSH-контроллеров и специализированных микросервисов.

Особое внимание мы уделили типам монтирования и поведению ограждений. В GFS2 предусмотрены два основных сценария fencing’а:
  • При потере кворума кластерного транспорта (split-brain).
  • При ошибках записи или потере связи с блочным хранилищем.

Мы реализовали возможность включать или отключать каждый из этих типов независимо, а также контролировать режим монтирования LUN (например, errors=panic или debug). В результате администратор получает не «чёрный ящик», а управляемую систему, где последствия сбоев можно смоделировать и задать заранее.

Также были предприняты меры по валидации некорректных состояний:
  • перед созданием нового транспорта проверяются конфигурации всех оставшихся узлов;
  • при попытке монтирования система автоматически выявляет заблокированные LUN и предотвращает зависание задачи;
  • по умолчанию отключена устаревшая опция создания дисков с полным выделением пространства (full), вместо неё используется falloc — это снижает нагрузку на GFS2 и исключает ошибки при записи.

Таким образом, мы не просто подключили GFS2 как файловую систему — мы встроили её в архитектуру платформы виртуализации, превратив в управляемый, безопасный и масштабируемый компонент. Получилась не просто интеграция, а полноценная унификация двух миров: надёжного хранения и гибкой оркестрации вычислений.

Оптимизация производительности
Однако даже после корректной настройки GFS2 может демонстрировать нестабильную производительность. В процессе внедрения мы протестировали и включили ряд оптимизаций:
  • BFQ-алгоритм планирования ввода-вывода, сглаживающий пики нагрузки между ВМ;
  • Обязательное использование virtio и hyper-v оптимизаций для улучшения взаимодействия между хостом и гостевыми ОС;
  • Отказ от метода выделения диска full в пользу falloc — это устраняет ошибки записи и уменьшает нагрузку на подсистему хранения.

Итоги: GFS2 — зрелое решение с инженерной спецификой
GFS2 — мощный инструмент, который требует глубокого понимания. Его сила — в контроле над данными, гибкости и отказоустойчивости. Чтобы получить все преимущества его использования нужно глубокое понимание принципов его работы, особенно если разворачивать его «сбоку», не связывая с платформой.

Сложность GFS2 — это не недостаток, а плата за мощь. Осознавая это, разработчики SpaceVM провели кропотливую работу по ее комплексной интеграции в свою платформу.

В результате, то, что в изоляции воспринималось как слабость (чувствительность к среде, сложность настройки), было устранено. Пользователь получает всю силу GFS2 — контроль, гибкость, отказоустойчивость — через доступный интерфейс, автоматизацию и диагностику SpaceVM.

Мы добились того, чего ждали от VMFS в отечественном исполнении: общего хранилища, совместимого с кластерами, виртуальными машинами и требованиями безопасности. А главное — доказали, что даже сложные opensource-компоненты могут органично встраиваться в коммерческие платформы, если подойти к этому как инженеры.

spacevm.ru/space-vm/
spacevm.ru/spacevm-essentials-plus-kit/
spacevm.ru/space-cloud/

Рег.ру бесплатно перенесет сайты российских пользователей с cPanel и Plesk



Зарубежные панели управления хостингом cPanel и Plesk прекратят поддержку пользователей в России с 31 марта

Американская компания WebPros International LLC, выступавшая глобальным дистрибьютором лицензий на популярнейшие панели управления хостингом cPanel и Plesk, уведомила российских партнеров о полном прекращении обслуживания клиентов из России с 31 марта 2026 года. В этих условиях крупнейший российский хостинг-провайдер Рег.ру запустил программу бесплатного переноса сайтов для всех пользователей.

Совокупная доля использования cPanel и Plesk в РФ, по оценке ispmanager (по отпечаткам сервисов на IP-адресах), сократилась до 5%. Однако даже оставшиеся 5% представляют собой значительный массив данных: по данным Рег.ру, речь идет как минимум о 50 тысячах сайтов только в доменной зонах .ru и.рф, которые всё еще работают под управлением зарубежных платформ и теперь вынуждены срочно искать альтернативы.

Пользователи могут потерять не только доступ к панелям управления и API, но и рискуют столкнуться с остановкой работы ресурсов из-за сбоев в настроенных системах автоматизации. В Рег.ру сообщили о полной технической готовности к миграции не только своих клиентов, пользующихся cPanel и Plesk, но предложили всем владельцам любых сайтов бесплатную помощь.

«Мы запустили программу бесплатного переноса как на наш хостинг, так и на облачные и VPS-серверы. Пользователи смогут мигрировать свои проекты на альтернативные платформы, к примеру на ispmanager. Наша задача — помочь клиентам сохранить работоспособность их бизнеса и пройти переход с минимальными потерями без ущерба для доступности сайтов», — пояснил Валентин Бостанов, руководитель департамента хостинга Рег.ру.
www.reg.ru/hosting/transfer#cloud

В Рег.ру подчеркивают, что бесплатный перенос позволит минимизировать эти риски и сохранить работоспособность сайтов без перерывов в обслуживании. С подробной инструкцией по миграции можно ознакомиться на сайте.

GTHost подключил Милан к интернет-бирже MINAP



Компания GTHost рада сообщить, что наш дата-центр в Милане теперь подключен к нейтральной точке доступа Milan Neutral Access Point (MINAP), расположенной на территории кампуса Via Caldera в Милане, Италия.

Интеграция пиринга улучшает маршруты, снижает задержку и повышает общую производительность сети для трафика, исходящего из Милана или проходящего через него. Подключаясь к MINAP, GTHost расширяет локальную экосистему межсетевого взаимодействия и поддерживает более эффективный обмен трафиком со многими итальянскими и международными сетями, которые используют этот узел обмена.

Благодаря этому новому соединению GTHost продолжает расширять свое присутствие в Европе, предоставляя клиентам, которые зависят от низкой задержки и надежного подключения, более эффективную и отказоустойчивую сетевую инфраструктуру. Каждое улучшение производительности способствует более быстрой и отзывчивой работе — ведь в современных сетях миллисекунды имеют значение.

Новости



hosting-vds.com

8 Мар 2026
Плановые работы по техническому обслуживанию

Запланированы технические работы по обслуживанию и улучшению работы оборудования для Стандартные VDS KVM на NVMe в России
Мы планируем провести улучшение оборудования и обновить процессоры на Intel Xeon Gold 6240R
Для выполнения данной задачи, потребуется отключение серверов примерно на 20-30 минут каждый.
Все остальные сервера в Европе и Hi-CPU категории в Москве, продолжат свою работу без перерывов в обслуживании.

7 Фев 2026
Обновление стоимости тарифов

Мы обновляем стоимость наших услуг, но для наших постоянных пользователей подготовили «иммунитет» к изменениям на первое время. Вы можете продолжать пользоваться услугами по старой цене!

14 Дек 2025
C 1 января 2026 года мы будем включать 5% НДС в стоимость всех наших услуг.

Обращаем ваше внимание, что с 1 января 2026 года мы будем добавлять 5% НДС к стоимости всех наших услуг.

24 Ноя 2025
DNS хостинг — приглашаем к тестированию.

Мы запустили свой DNS хостинг и приглашаем к тестированию всех желающих. Доступен бесплатный заказ DNS хостинга для владельцев активных услуг VDS. Ожидаем ваши предложения и пожаления касательно DNS хостинга в тикетах на сайте.
DNS хостинг доступен к оформлению по ссылке my.hosting-vds.com/order/dns

26 Окт 2025
Локация в Нидерландах, Амстердам!

Открыли новую локацию в Нидерландах для услуг VDS серверов. Для всех стандартных тарифов в Европе my.hosting-vds.com/order/vds-kvm-ssd-de мы добавили выбор локации при заказе с указанием типа процессора который там используется.

9 Окт 2025
Локация в Болгарии, София!

Открыли новую локацию в Болгарии для услуг VDS серверов. Для всех стандартных тарифов в Европе my.hosting-vds.com/order/vds-kvm-ssd-de мы добавили выбор локации при заказе с указанием типа процессора который там используется.

19 Сен 2025
Локация в Польше, Варшава!

Открыли новую локацию в Польше для услуг VDS серверов. Для всех стандартных тарифов в Европе my.hosting-vds.com/order/vds-kvm-ssd-de мы добавили выбор локации при заказе с указанием типа процессора который там используется.

10 Сен 2025
Локация в Швеции, Стокгольм!

Открыли новую локацию в Швеции для услуг VDS серверов. Для всех стандартных тарифов в Европе my.hosting-vds.com/order/vds-kvm-ssd-de мы добавили выбор локации при заказе с указанием типа процессора который там используется.

21 Авг 2025
Увеличено количество трафика на некоторых тарифных планах.

Увеличили количество трафика на некоторых тарифных планах во всех категориях и локациях

2 Июл 2025
Плановые технические работы в Москве. Информация из дата-центра.

В целях улучшения качества наших услуг с 22:00 07.07.2025 по 02:00 08.07.2025 в стойке DX-1911 будут проводиться плановые работы по прогрессивной цепи электропитания

11 Мар 2025
Локация в Германии, Франкурт!

Открыли новую локацию в Германии для услуг VDS серверов.

12 Фев 2025
Важные изменения в резервном копировании серверов. Новая услуга резервного копирования.

Мы добавили новую услугу – резервное копирование серверов. Теперь вы можете защитить свои данные от потерь и неожиданных сбоев.

10.03.2026 Version 2.4.1



+ добавлена поддержка PHP 8.4.
+ интеграция с платежной системой ВТБ (эквайринг), vtb-ekv.ru.
+ интеграция с платежной системой SeverPay.io.
+ интеграция с платежной системой Spayon.io.
+ интеграция с платежной системой WATA.pro.
* админу: доменные зоны: возможность переопределить/указать ID регистратора, ID прайса, ID периода, которые необходимо использовать при регистрации/продлении доменов (только для Ardis).
* админу: обратная связь: устаревший блок ICQ-контактов заменен на Telegram.
* админу: настройки клиента: возможность отключить сохранение PDF-инвойсов персонально для клиента.
* админу: настройки клиента: api: добавлена настройка «Включить доступ к API (ссылка на оплату)».
* админу: шаблоны: для шаблонов о регистрации, продлении и напоминании об окончании оплаченного периода доменов добавлены макросы {startdate} и {todate}.
* админу: регистраторы: возможность для большинства EPP-регистраторов (hostmaster.ua, sunic.ua, coordinator.ua, nic.lviv.ua, v.ua, dns.pl, nic.dp.ua, nic.kz, drs.ua) автоматически подтверждать запросы на трансфер доменов к другим регистраторам + возможность настроить поведение при получении POLL-уведомления о завершении трансфера к другому регистратору (удалять домен или уведомлять админа; по умолчанию — домен будет удаляться) + добавлено уведомление в систему уведомлений при получении запроса на трансфер домена к другому регистратору.
* клиенту: автопродление: если в настройках тарифного плана или доменной зоны запрещено продление ранее указанного кол-ва дней до окончания, то не позволяем клиенту установить день автоматического продления больше указанного.
* клиенту: заказы: возможность управления устройствами (только для IPTVPortal).
* клиенту: мультиязычность: допереведены азербайджанский и польский языковые файлы.
* клиенту: обратная связь: устаревшее поле ICQ в форме заменено на Telegram.
* клиенту: оформление заказа (v2): добавлена поддержка проверки заказана ли доп. услуга из группы доп. услуг с активной настройкой «Заказ обязателен».
* api (тарифы): добавлены команды getBills (получение списка счетов) + createBillBalance (создание счета на пополнение внутреннего баланса) + getBillPaymentLink (получение ссылки на оплату счета через указанную платежную систему без авторизации в кабинете).
* 1ofd: добавлена поддержка НДС 5%, НДС 7%, НДС 5/105 и НДС 7/107.
* 4vps: добавлена возможность указать Panel ID в настройках сервера/локации + добавлен cron-скрипт, позволяющий автоматически управлять активностью тарифных планов (в зависимости от доступности их на стороне 4VPS) + обновляем активность тарифных планов при повторных импортах в админке.
* iptvportal: добавлена поддержка управления устройствами (просмотр, включение, выключение, удаление, изменение комментария).
* iptvportal: добавлена возможность использования логина от биллинга в качестве логина в iptvportal.
* monobank: в связи с изменениями на стороне сервиса, запрашиваем у клиента перед оплатой последние 4 номера карты для автоматического проведения платежа.
* onpay: удалена устаревшая форма выбора доступных к оплате валют.
* paykassa: обновлен список доступных криптовалют.
* stripe: возможность автоматического расчета налога на стороне Stripe на основании страны клиента + возможность расчета налога с использованием фиксированного Tax Rate.
* stripe: обновлена библиотека для корректной работы с PHP 8.x.
— безопасность: исправлена ошибка, когда авторизованный пользователь мог иметь доступ к своим тикетам даже если его аккаунт был заблокирован (только при условии, что разрешен доступ к тикетам для гостей).
— безопасность: исправлена ошибка в callback-обработчиках у всех платежных модулей, когда не выполнялась проверка суммы платежа для объединенных счетов.
— ядро: ряд исправлений в сборке для php 8.x.
— 1ofd: исправлена ошибка, возникающая когда в totalSum в копейках есть только десятые и нет сотых.
— 4vps: исправления в модуле интеграции, в связи с изменениями на стороне сервера.
— hetzner.cloud: исправлена ошибка, возникающая при попытке выделения дополнительных IP и дополнительных дисков.
— paykassa: исправлена ошибка, когда не работало получение курса для криптовалюты.
— virtualizor: обновлен класс интеграции.
— приват24 для бизнеса: исправление в модуле интеграции в связи с изменениями на стороне сервиса.
— рассылки: исправлена ошибка, когда при рассылке планировщиком задач в случае какой-либо ошибки smtp, возникающей у отдельного сообщения, она дублировалась в логах у всех последующих писем, отправляемых этим же скриптом.
— sms: исправлена ошибка, когда при преобразовании сообщения в транслит удалялся символ дефиса.
-d- pay54: удален модуль интеграции как утративший актуальность.

rootpanel.net/buy.php
rootpanel.net/price.php
rootpanel.net

cPanel и Plesk с 31 марта прекращают обслуживать клиентов из России



Затронутые ситуацией клиенты WebPros в РФ будут иметь доступ к услугам до 31 марта, и деньги за подписки в этот период взиматься не будут, но в тот день в конце марта все подписки будут прекращены.

Обновление API для соответствия требованиям NIXI (eKYC и проверка электронной почты



В продолжение нашего предыдущего сообщения об обязательных изменениях в политике соответствия требованиям NIXI для доменов .IN, доменов третьего уровня .IN и .BHARAT, а именно:
  • Требования к участникам: Регистрация, перенос данных и редактирование контактной информации возможны только для зарегистрированных лиц из Индии.
  • Ограничения на использование электронной почты: Запрет на использование одноразовых или временных почтовых сервисов для контактов зарегистрированных пользователей.
  • Ограничения VPN: Запрет на использование VPN или маскированных IP-адресов во время регистрации.
Примечание: Вы уже должны были учесть эти конкретные изменения и внедрить необходимые проверки на витрине вашего магазина.

Мы публикуем технические подробности интеграции обязательных процедур eKYC и проверки
электронной почты зарегистрированных пользователей (вступающих в силу с 31 марта 2026 года).

Если вы используете наши API для работы своего интернет-магазина, вам потребуется внедрить следующие обновления, чтобы обеспечить постоянное соответствие требованиям для ваших клиентов:

1. Улучшения API: Получение сведений о домене
API-интерфейсы для получения сведений о домене (api/domains/details.json и api/domains/details-by-name.json ) были улучшены и теперь возвращают новый объект VerificationInfo. Это позволит вам определить, соответствует ли домен требованиям, ожидает ли проверки или приостановлен, а также включает статусы для проверки электронной почты и проверки eKYC.

2. Новый API: повторная отправка письма с подтверждением.
Мы добавили новую конечную точку API (POST /api/domains/nixi/verification/resend.json ), которая позволяет вручную повторно отправлять электронные письма с подтверждением домена для доменов, у которых ожидается подтверждение электронной почты и/или eKYC.

3. График внедрения и тестирования
Чтобы помочь вам подготовиться, обратите внимание на следующий график внедрения API:
  • API демонстрационного сервера: доступны для тестирования с 25 марта 2026 года.
  • API для производственной среды: запуск 31 марта 2026 года.
Полную документацию по API вы найдете в прикрепленном к этому письму файле.

Прилагаемый документ содержит исчерпывающую информацию, в том числе:
  • Подробные структуры ответов и определения статусов для новых API.
  • Учетные данные и URL-адреса для доступа к демонстрационному серверу.
Мы настоятельно рекомендуем ознакомиться со всей прилагаемой документацией, чтобы подготовиться к предстоящим изменениям.
Если у вас возникнут какие-либо вопросы по внедрению, пожалуйста, создайте заявку через службу поддержки.
Благодарим вас за сотрудничество в обеспечении соблюдения рекомендаций NIXI.

С уважением,
команда ResellerClub.