Переход на СУБД Postgres Pro: опыт миграции ведомств Иркутской области
В 2024 году компания «Форус» успешно завершила проект по переводу инфраструктуры ОГАУ «Информационно-технический центр Иркутской области» на российское программное обеспечение. В кейсе расскажем об этапах проекта.
Заказчик
Областное государственное автономное учреждение «ИТЦИО» создано при министерстве цифрового развития и связи Иркутской области. ОГАУ «ИТЦИО» выполняет работы и оказывает услуги в области развития и обеспечения функционирования корпоративной информационной системы исполнительных органов государственной власти Иркутской области.
Партнёр
Группа компаний «Форус» — ведущий интегратор России в ИТ-сфере, предоставляющий услуги от аудита до технической поддержки. Занимается подбором и внедрением ИТ-решений, адаптируя их под потребности каждого клиента.
Проект
Проект затрагивал ключевую часть инфраструктуры заказчика, где функционировала информационная система, насчитывающая более 5 000 пользователей. Система была построена на платформе 1С:Фреш для ведения финансово-хозяйственной деятельности заказчика: около 40 органов власти, служб и более 600 подведомственных организаций.
В её состав входило: 24 информационных базы общим объёмом свыше 26 Тб. Техническая часть включала 19 хостов и 105 виртуальных машин на базе Microsoft Hyper-V и операционной системы Windows Server 2012 R2, управление базами данных осуществлялось через MS SQL Server 2014.
В 2023 году заказчик решил заменить ключевые компоненты иностранного ПО на аналоги российского производства. Это решение было принято в связи с необходимостью усилить информационную безопасность и соответствовать стратегии снижения рисков использования иностранного ПО.
«Когда заказчик обратился к нам с предложением помочь в реализации этого проекта, мы с удовольствием взялись за эту задачу, так как наша компания участвовала в развёртывании и сопровождении информационной системы на стадии её запуска», — рассказал руководитель Центра поддержки инфраструктур группы «Форус» Сергей Громов.
Для реализации проекта был разработан и согласован с заказчиком план, основные этапы которого включали:
- Аудит текущей инфраструктуры и определение потенциала для масштабирования.
- Выбор российского ПО и методов миграции данных.
- Подготовка инфраструктуры и миграция.
- Опытная и промышленная эксплуатация системы с усилением мониторинга.
«Для нас было критичным не нарушить работоспособность существующей информационной системы и обеспечить непрерывную работу всех пользователей в период миграции», — отметил Денис Чарчиди, директор ОГАУ ИТЦИО.
Аудит инфраструктуры: ключевой этап миграции
Перед началом реализации проекта миграции существенное значение имел аудит существующей ИТ-инфраструктуры. Основная цель аудита заключалась не только в оценке текущего состояния и эффективности системы, но и в выявлении потенциала для её дальнейшего масштабирования, что стало основой для планирования будущих улучшений.
- Анализ текущих мощностей
Подробное исследование показало, что хотя текущие мощности инфраструктуры были достаточны для поддержки непрерывной операционной деятельности, существовали значительные замечания по производительности, объёмам бэкапов и времени их восстановления. Учитывая планы по развитию информационной системы, было ясно, что существующие мощности уже не смогут удовлетворять будущим требованиям без дополнительного масштабирования.
- Рекомендации по увеличению мощностей
На основании проведённого аудита специалисты «Форус» разработали рекомендации, которые включали технические спецификации для обновления инфраструктуры. Эти спецификации были направлены на обеспечение бесперебойной работы информационной системы и подготовку к масштабированию в соответствии с долгосрочными планами развития. Эти рекомендации также способствовали формированию долгосрочного бюджета на приобретение необходимого оборудования.
- Настройка сбора показателей производительности
Настроенные механизмы мониторинга, включая APDEX, позволили оценить удовлетворённость пользователей при взаимодействии с системой, что является ключевым фактором успеха миграционного проекта.
- Настройка сбора количества сессий в 1С
Благодаря дополнительным мерам по сбору статистики сессий в конфигурации 1С, специалисты «Форус» получили возможность более тонко настроить систему для обеспечения её высокой производительности и стабильности.
- Подготовлены рекомендации
На основании проведённых исследований были подготовлены и реализованы рекомендации для поддержания высокой производительности системы на период работы над проектом по импортозамещению.
Выбор Российского ПО для реализации проекта
В процессе выбора программного обеспечения для реализации проекта специалисты «Форус» ориентируются не только на собственный опыт, но и на специфические требования и пожелания заказчика.
«Наши предыдущие проекты охватывали широкий спектр популярных программных решений, доступных на рынке, которые успешно справлялись с задачами в соответствии с критическими требованиями, такими как сертификация ФСТЭК, уровень защищённости и совместимость с продуктами 1С», — отмечает Андрей Толстиков, руководитель направления информационной безопасности группы «Форус».
Учитывая, что в инфраструктуре заказчика уже использовались программные продукты, такие как Альт и Postgres Pro Enterprise, было решено остановиться на них. Данный подход полностью соответствовал нашим критериям выбора, обеспечивая необходимую функциональность и безопасность, а также облегчал последующую поддержку информационной системы силами самого заказчика.
Postgres Pro Enterprise — российская СУБД для высоконагруженных систем крупных предприятий. Включает более 100 ключевых разработок, обеспечивающих максимальную надежность и безопасность, высокую производительность и легкую масштабируемость системы, а также облегченную миграцию с Oracle.
Среди основных решений и функций СУБД: расширение Multimaster, поддержка пакетов Oracle, система управления отказоустойчивым кластером BiHA (Built-In High Availability), администратор без доступа к данным, приоритизация ресурсов, адаптивный оптимизатор запросов AQO 2.0, 64-битные счетчики транзакций, маскирование данных, диагностический модуль pgpro_pwr, графическая платформа PPEM и многое другое.
Выбор средства и способа миграции Баз данных
Одним из определяющих этапов в проекте миграции был выбор метода миграции баз данных, который обеспечил бы минимальное время простоя и оптимальную загрузку оборудования.
«При рассмотрении различных методов мы искали решение, которое гарантирует высокую надёжность и скорость переноса данных, используя многопоточность», — поделился Сергей Громов.
Вот некоторые из них:
- Метод выгрузки-загрузки через DT (Data Transfer)
Плюсы: простота использования, типичный для 1С подход, многопоточная загрузка данных из DT.
Минусы: нет гарантии полной загрузки данных после выгрузки, отсутствие многопоточной выгрузки, длительность процедуры для больших баз данных, увеличенный риск сбоев на различных этапах миграции.
- Метод переноса данных через XML
Плюсы: гарантирует загрузку всех переносимых данных.
Минусы: отсутствие типовых решений от 1С для переноса, длительное время переноса данных для больших баз, повышенный риск точек отказа.
- Репликация баз данных через утилиту ibcmd
Плюсы: использует типовой функционал платформы 1С, экономия времени за счёт многопоточности, прямое взаимодействие с СУБД, не требует лицензий 1С.
Минусы: потенциальные ошибки механизма миграции из-за его новизны. Смущало то, что этим способом мало кто пользовался из-за его новизны.
- Перегрузка областей данных путём миграции
Плюсы: типовой функционал Платформы 1С, нет продолжительной блокировки пользователей.
Минусы: очень низкая скорость переноса данных. Не переносятся данные с расширениями, меняющими структуру, много точек отказа при переносе.
Исходя из сравнительного анализа, была выбрана миграция через утилиту ibcmd, как наиболее эффективный и надёжный метод. Этот способ позволил интерпретировать данные из одной базы в другую при минимальном времени простоя.
Чтобы понять, насколько правильным был метод использования конфигурации, специалисты провели тестовую миграцию. Для этого они использовали конфигурацию из трех виртуальных серверов.
В ходе тестирования миграции на трёх виртуальных серверах удалось достичь значительного улучшения производительности:
- Миграция базы данных ускорилась в четыре раза благодаря многопоточности.
- Благодаря оптимизации логов транзакций и индексации размер баз данных значительно уменьшился.
Также было выявлено несколько особенностей метода, которые учли при дальнейшей миграции:
- Важно проверять целостность баз в самом начале. Ibcmd позволяет проверить целостность структуры баз. Столкнулись с повреждёнными структурами и пришлось их предварительно исправлять.
- Обнаружили ошибки 1С платформы 8.3.22, из-за которых при аварийном завершении обновления расширений, меняющих структуру, области и информационные базы повреждались, что приводило к невозможности миграции. В результате плотной работы с разработчиком платформы в версии 8.3.24 ошибки были исправлены.
- Были выбраны критерии для определения необходимых серверных мощностей для миграции. Каждый из трех серверов по-разному потреблял мощности в процессе миграции.
- Сервер с 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 — проверенное решение с гибкими настройками. Настройка мониторинга включала все узлы хостов и виртуальных машин, что позволило своевременно реагировать на изменения состояния служб и загрузки ресурсов. В случае критических ситуаций система автоматически отправляет уведомления в Telegram-группу и на электронную почту администраторов. Благодаря интеграции с «1С Центром контроля качества» настроили сбор и анализ ключевых показателей операций, используя методику APDEX, что значительно упрощает процесс управления качеством ИТ-сервисов.
Результаты внедрения
Завершение проекта показало, что переход на Российское ПО не только возможен, но и приводит к улучшению общей производительности и надёжности системы. Благодаря грамотному планированию и выполнению работ, проект был реализован без длительных простоев, при этом была обеспечена полная сохранность данных и оптимизация производительности информационных баз.
В ходе миграции были выполнены следующие задачи:
- Обеспечена безотказная работа информационной системы на время миграции.
- Исправлены структурные ошибки в таблицах всех информационных баз.
- Исключена потеря данных пользователями.
- В 80% случаев размеры баз данных уменьшились на 15% за счёт перехода на Postgres Pro.
- Сохранена и адаптирована функциональность всех сервисных и служебных баз данных.
- Выполнена полная инвентаризация данных во всех базах, удалены все излишние или ошибочные данные.
- Повышена производительность информационных баз 1С на 30%.
- Произведена оптимизация инфраструктуры и обновлены требования к обслуживанию баз данных 1С для улучшения общей производительности системы.
- Система модернизирована для обеспечения комфортной работы более чем для 7 500 пользователей.
- Подготовлена вся необходимая документация и инструкции, проведено обучение заказчика.
- Разработаны регламенты для уточнения процессов сопровождения, включая реестр лицензий и правила создания резервных копий.
Основная задача — обеспечение непрерывной работоспособности пользователей и предотвращение длительных простоев в рабочее время — успешно решена.
Заключение
Проект продемонстрировал, что миграция на российское программное обеспечение не только возможна, но и способствует повышению производительности и уровня безопасности информационной системы.
Этот опыт стал ещё одним подтверждением того, что «Форус» — надёжный партнёр, который по праву имеет репутацию интегратора и эксперта в области ИТ-технологий и может справиться с задачами любой сложности.
Успешное завершение проекта по миграции на отечественное программное обеспечение для ОГАУ «Информационно-технический центр Иркутской области» открыло новые возможности для дальнейшего развития информационных технологий в регионе. Результаты этого проекта превзошли ожидания по многим параметрам, включая улучшение производительности системы и повышение уровня безопасности данных. Однако, более значимым является тот факт, что данный проект позволил накопить уникальные знания и опыт, которые будут способствовать оптимизации последующих проектов по импортозамещению.
Иркутск, ул. Ямская, 1/1
Т: +7 (3952) 78-19-98
e-mail: sales@forus.ru