В этом посте я не буду акцентировать внимание на значимости перехода на Российское ПО в государственном секторе, поскольку об этом написано уже множество статей. Вместо этого, хочется поделиться опытом реализации одного из наших проектов, в рамках которого мы успешно перевели клиента с иностранных решений виртуализации и СУБД на российские аналоги, подтвердив нашу экспертизу и возможность реализации критически важных частей IT-инфраструктуры на базе отечественных разработок.
Вводная по проекту
Проект затрагивал ключевую часть инфраструктуры заказчика, где функционировала информационная система, насчитывающая более 5000 пользователей. Система была построена на платформе 1С Фреш для ведения финансово-хозяйственной деятельности заказчика и более 600 подведомственных организаций. В её состав входило: около 24 информационных баз общим объемом свыше 26 Тб. Техническая часть включала 105 виртуальных машин на базе Microsoft Hyper-V и операционной системы Windows Server 2012 R2, управление базами данных осуществлялось через MS SQL Server 2014.
В 2023 году в рамках стратегии снижения рисков от использования иностранного ПО и усиления информационной безопасности заказчиком было принято решение о необходимости замены всех ключевых компонентов иностранного ПО на аналоги российского производства. При этом важно было не нарушить работоспособность существующей информационной системы.
Когда заказчик обратился к нам с предложением помочь в реализации этого проекта, мы с удовольствием взялись за эту задачу, так как наша компания участвовала в развёртывании и сопровождении информационной системы на стадии её запуска.
Для реализации проекта нами был разработан и согласован с заказчиком план, основные этапы которого включали:
- Аудит текущей инфраструктуры и определение потенциала для масштабирования.
- Выбор российского ПО и методов миграции данных.
- Подготовка инфраструктуры и миграция.
- Опытная и промышленная эксплуатация системы с усилением мониторинга.
Далее по некоторым пунктам пробежим подробнее.
Аудит инфраструктуры: ключевой этап миграции
Перед началом реализации проекта миграции существенное значение имел аудит существующей IT-инфраструктуры. Основная цель аудита заключалась не только в оценке текущего состояния и эффективности системы, но и в выявлении потенциала для её дальнейшего масштабирования, что стало основой для планирования будущих улучшений.
- Анализ текущих мощностей: Подробное исследование показало, что хотя текущие мощности инфраструктуры были достаточны для поддержки непрерывной операционной деятельности, существовали значительные замечания по производительности, объёмам бэкапов и времени их восстановления. Учитывая планы по развитию информационной системы, было ясно, что существующие мощности уже не смогут удовлетворить будущие требования без дополнительного масштабирования.
- Рекомендации по увеличению мощностей: На основании проведённого аудита специалистами нашей компании были разработаны рекомендации, которые включали технические спецификации для обновления инфраструктуры. Эти спецификации были направлены на обеспечение бесперебойной работы информационной системы и подготовку к масштабированию в соответствии с долгосрочными планами развития. Эти рекомендации также способствовали формированию долгосрочного бюджета на приобретение необходимого оборудования.
- Настройка сбора показателей производительности: Настроенные механизмы мониторинга, включая APDEX, позволили нам оценить удовлетворенность пользователей при взаимодействии с системой, что является ключевым фактором успеха миграционного проекта.
- Настройка сбора количества сессий в 1С: Благодаря дополнительным мерам по сбору статистики сессий в конфигурации 1С, мы получили возможность более тонко настроить систему для обеспечения её высокой производительности и стабильности.
- Подготовлены рекомендации: На основании проведённых исследований были подготовлены и реализованы рекомендации для поддержания высокой производительности системы на период работы над проектом по импортозамещению.
Выбор Российского ПО для реализации проекта
В процессе выбора программного обеспечения для реализации проекта мы ориентируемся не только на собственный опыт, но и на специфические требования и пожелания заказчика. Наши предыдущие проекты охватывали широкий спектр популярных программных решений, доступных на рынке, которые успешно справлялись с задачами в соответствии с критическими требованиями, такими как сертификация ФСТЭК, уровень защищенности и совместимость с продуктами 1С. Учитывая, что в инфраструктуре заказчика уже использовались программные продукты такие как Альт и Postgres Pro, было решено остановиться на них. Данный подход полностью соответствовал нашим критериям выбора, обеспечивая необходимую функциональность и безопасность, а также облегчал последующую поддержку информационной системы силами самого заказчика.
Выбор средства и способа миграции Баз данных
Одним из определяющих этапов в проекте миграции был выбор метода миграции баз данных, который обеспечил бы минимальное время простоя и оптимальную загрузку оборудования. При рассмотрении различных методов мы искали решение, которое гарантирует высокую надежность и скорость переноса данных, используя многопоточность.
Вот некоторые из них:
- Метод выгрузки-загрузки через DT (Data Transfer)
Плюсы: Простота использования, типичный для 1С подход, многопоточная загрузка данных из DT.
Минусы: Нет гарантии полной загрузки данных после выгрузки, отсутствие многопоточной выгрузки, длительность процедуры для больших баз данных, увеличенный риск сбоев на различных этапах миграции. - Метод переноса данных через XML
Плюсы: Гарантирует загрузку всех переносимых данных.
Минусы: Отсутствие типовых решений от 1С для переноса, длительное время переноса данных для больших баз, повышенный риск точек отказа. - Репликация баз данных через утилиту ibcmd
Плюсы: Использует типовой функционал платформы 1С, экономия времени за счет многопоточности, прямое взаимодействие с СУБД, не требует лицензий 1С.
Минусы: Потенциальные ошибки механизма миграции из-за его новизны. Смущало то, что этим способом до нас мало кто пользовался из-за его новизны. - Перегрузка областей данных путем миграции
Плюсы: Типовой функционал Платформы 1С и нет продолжительной блокировки пользователей
Минусы: Медлительность (очень) переноса данных. Не переносятся данные с расширениями, меняющими структуру и много точек отказа при переносе.
Исходя из сравнительного анализа, была выбрана репликация через утилиту ibcmd как наиболее эффективный и надежный метод. Этот способ позволил интерпретировать данные из одной базы в другую без дополнительных лицензионных затрат и при минимальном времени простоя.
Для проведения тестовой миграции, чтобы понять, насколько правильным был наш выбор метода использовали следующую конфигурацию из 3 виртуальных серверов.
В ходе тестирования миграции на трех виртуальных серверах, мы достигли значительного улучшения производительности:
- Миграция базы данных ускорилась в четыре раза благодаря многопоточности.
- Благодаря оптимизации логов транзакций и индексации размер баз данных значительно уменьшился.
Сравнительные данные в таблице ниже
Так же выявили несколько особенностей нашего метода, которые учли при дальнейшей миграции:
- Важно проверять целостность баз в самом начале. Ibcmd позволяет проверить целостность структуры баз. Столкнулись с повреждёнными структурами и пришлось их предварительно исправлять.
- Обнаружили ошибки 1С платформы 8.3.22 из-за которой при аварийном завершении обновления расширений, меняющих структуру, области и информационные базы повреждались, что приводило к невозможности миграции. В результате плотной работы с разработчиком платформы в версии 8.3.24 ошибки были исправлены.
- Нам пришлось выработать критерии для определения необходимых серверных мощностей для миграции. Каждый из 3 серверов по-разному потреблял мощности в процессе миграции.
Сервер с ibcmd нагружал CPU на 90% и утилизировал RAM (в нашем случае не более 14 гб на ИБ в 1,3 ТБ)
Сервер MS SQL нагружал CPU на 90% и производил операции чтения с диска, но при этом потреблял минимум ОЗУ.
Сервер Postgres нагружал CPU только в момент создания индексов (финальный этап) и производил операции записи на диск.На основании этих наблюдений получилось более эффективно перераспределить мощности виртуальных серверов в процессе дальнейшей миграции.
Выработка методики деления информационных баз 1С
В текущей эксплуатации информационной системы у заказчика возникало много проблем связанных с большим размером баз данных (размер доходил до 5 Тб). Мы решили учесть этот опыт в новом проекте и устранить моменты, которые не нравились. А именно:
- Длительное время недоступности информационной базы при обслуживании
- Чем больше учреждений и пользователей, тем больше жалоб на первую линию поддержки в случае отказа одного из серверов информационной системы
- Длительное время недоступности сервиса, в случае отказа или обслуживания информационной базы
- Длительное время создания резервной копии и восстановления. База данных блокируется для изменения структуры
- В случае отказа области данных риск потери данных в других областях увеличивается
- Длительное время процесса подготовки тестирования базы данных на тестовом стенде
Для достижения этой цели уменьшения размера баз данных нами была разработана специализированная методика, позволяющая оптимизировать структуру данных и улучшить производительность системы. Основные этапы методики:
- Анализ текущего состояния баз данных: Проведение аудита существующих баз для оценки объема данных, частоты обращений и критичности информации.
- Определение критериев для деления: Выработка параметров, по которым будет происходить разделение баз, включая объем данных, нагрузку на систему и специфику работы пользователей.
- Разработка алгоритма деления: Составление технического плана, описывающего процедуры и инструменты для разделения баз данных на более мелкие и управляемые части.
- Тестирование и оптимизация: Проведение испытаний разделенных баз данных для проверки их функциональности и производительности, корректировка методики на основе полученных результатов.
В результате после проведения достаточно простых регламентных процедур получили хорошие результаты:
- Провели инвентаризацию всех областей и убрать лишнее (удалили около 2500 лишних областей)
- Провели регламентные работы по обслуживаю баз, что привело к уменьшению размера в 2 раза.
- Все прикреплённые файлы вынесли в отдельные тома и получили уменьшение размера баз ещё на 30%-40%. Самая большая база в результате стала весить 1,6 Тб. Правда для этого пришлось разработать функционал выгрузки файлов, так как типового функционала не было.
- Поделили большие базы на более мелкие
- На будущее ввели регламенты по размеру файлов, разрешению сканов.
- Для контроля комфортной работы пользователей и обеспечения максимальной производительности обновлений и регламентных работ) ввели критерии наполненности сервера (не более 450 пользователей, 150 областей данных, 500 Гб на базу данных)
- Ввели регламент производить периодическую чистку от ненужных областей, которые плодятся по мере работы.
Подготовка инфраструктуры на Российском ПО
В рамках подготовки инфраструктуры проекта был собран кластер из 14 хост-серверов, работающих под управлением "Альт Сервер виртуализации 10". На этих серверах развернуто 193 виртуальные машины с операционной системой "Альт Сервер 10" и 33 СУБД "Postgres Pro Enterprise", что обеспечило надежную и эффективную работу всех компонентов информационной системы.
Замену виртуальных машин делали по очереди в режиме замены сервер за сервером. Это позволило провести процесс миграции виртуальных машин без дополнительных затрат на серверное оборудование. Для упрощения процесса миграции все операции выполнялись с помощью подготовленных заранее скриптов.
Конфигурация информационной системы получилась следующая
Настройка мониторинга системы
Для обеспечения непрерывного контроля за состоянием системы мы выбрали Zabbix — проверенное решение с гибкими настройками. Настройка мониторинга включала все узлы хостов и виртуальных машин, что позволило своевременно реагировать на изменения состояния служб и загрузки ресурсов. В случае критических ситуаций система автоматически отправляет уведомления в телеграм-группу и на электронную почту администраторов. А благодаря интеграции с "1С Центром контроля качества" мы настроили сбор и анализ ключевых показателей операций, используя методику APDEX, что значительно упрощает процесс управления качеством IT-сервисов.
Коротко о результатах проекта
Завершение проекта показало, что переход на Российское ПО не только возможен, но и приводит к улучшению общей производительности и надежности системы. Благодаря грамотному планированию и выполнению работ, проект был реализован без длительных простоев, при этом была обеспечена полная сохранность данных и оптимизация производительности информационных баз.
В ходе миграции были выполнены следующие задачи:
- Обеспечена безотказная работа информационной системы на время миграции.
- Исправлены структурные ошибки в таблицах всех информационных баз.
- Исключена потеря данных пользователями.
- В 80% случаев размеры баз данных уменьшились на 15% за счёт перехода на Postgres Pro.
- Сохранена и адаптирована функциональность всех сервисных и служебных баз данных.
- Выполнена полная инвентаризация данных во всех базах, удалены все излишние или ошибочные данные.
- Повышена производительность информационных баз 1С на 30%.
- Произведена оптимизация инфраструктуры и обновлены требования к обслуживанию баз данных 1С для улучшения общей производительности системы.
- Система модернизирована для обеспечения комфортной работы более чем для 7 500 пользователей.
- Подготовлена вся необходимая документация и инструкции, проведено обучение заказчика.
- Разработаны регламенты для уточнения процессов сопровождения, включая реестр лицензий и правила создания резервных копий.
- Основная задача — обеспечение непрерывной работоспособности пользователей и предотвращение длительных простоев в рабочее время — успешно решена!
Заключение
Проект доказал, что миграция на Российское ПО — это не только возможно, но и приводит к улучшению производительности и безопасности информационной системы. Этот опыт подтверждает нашу репутацию надежного партнера и интегратора, способного решать задачи любой сложности.