Переход на Linux+PostgreSQL для информационной базы 2 Tb

13.11.24

Администрирование - Linux

При многолетней эксплуатации 1С на Windows и MS SQL в базе накапливаются не самые оптимальные запросы, COM-объекты и скрипты, зависящие от ОС. Из-за этого процесс перехода на PostgreSQL и переноса сервера 1С на Linux неизбежно осложняется длительным исправлением кода и оптимизацией запросов. Расскажем о том, как с задачей такого рефакторинга справились в компании Avito.

Меня зовут Алексей Климашенко, я в компании Avito занимаюсь обеспечением качества продуктов на платформе 1С. Моя работа включает в себя QA, мониторинг, повышение стабильности и производительности – все, что нужно для обеспечения качества.

Расскажу о проекте по переходу на PostgreSQL и Linux у нас в компании.

Небольшая ремарка: до этого я во всех своих выступлениях делился опытом о том, что делал сам – разбирался, делал и потом об этом рассказывал. Этот же проект огромен: он длился 9-10 месяцев, его делала большая команда – несколько наших внутренних продуктовых команд, системные администраторы, подрядчики, даже фирма «1С» была туда вовлечена. И я сейчас с большим уважением и благодарностью ко всем, кто делал этот проект, попытаюсь о нем рассказать.

 

В докладе будет:

  • Техническая часть перехода на Linux+PostgreSQL – что делали и как настраивали.

  • Нюансы лицензирования и архитектуры – какое программное обеспечение мы выбрали, как оно лицензируется и что желательно учесть.

  • Опыт, опыт, опыт – что мы узнали за 10 месяцев реализации этого проекта в Avito.

Чего в докладе точно не будет:

  • Я не буду рассказывать о процессе управления этим проектом с точки зрения организации работы команд и их взаимодействия.

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

  • Не будет непреложной истины. Любое внедрение крупной информационной системы – это всегда уникальная история. Я расскажу о нашем опыте перехода. У вас что-то может не взлететь или будет работать по-другому – к этому нужно быть готовыми.

 

Подготовка к переходу

 

Проект перехода на Linux и PostgreSQL у нас стартовал летом 2022 года. Но зачем мы решили что-то менять, если все и так классно работало на MS SQL? Наверное, ответ очевиден, но я бы хотел его озвучить:

  • Мы боялись столкнуться с ограничениями на использование ПО – что в какой-то момент наши виндовые сервера с MS SQL превратятся в тыкву и вообще ничего не смогут обрабатывать.

  • Мы в тот момент уже столкнулись со сложностями при попытке оплатить продление лицензий MS SQL на ядра – у нас перестали ставиться обновления.

  • Мы боялись столкнуться с рисками остановки бизнес-процессов – если, не дай Бог, когда-нибудь неожиданно остановится MS SQL, у нас не будет возможности прыгнуть куда-то быстро с нашей базой 2 терабайта, и мы не сможем сдать вовремя какую-нибудь реготчетность.

  • И отдельно я упомянул здесь ценности компании, потому что Avito всегда старается действовать масштабно и смело – это записано у нас прямо в ценностях. К нам пришли руководители AvitoTech и сказали: «Мы переходим на PostgreSQL и Linux. Меняем все сразу и оптом – заверните, пожалуйста».

Вот так мы решаем проблемы – приняли решение и пошли делать.

 

 

Расскажу отправную точку – с чего проект начался.

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

  • Основная, самая большая и проблемная база – это Управление холдингом. Ее текущий размер – 1,77 терабайта. В начале проекта она была 2 терабайта, потом мы ее немного подрезали. Непосредственно в системе через тонкий клиент работает 300 пользователей.

  • В ДО по факту работают все сотрудники Avito – более 6000 человек. Но они в основном работают через интеграцию – для этого у нас есть отдельный фронт. А в саму систему ДО ходят только 500 пользователей.

  • Серверы приложений 1С были на Windows Server 2019. Они были не отказоустойчивые, не резервированные – просто 5 серверов, на которых располагались эти 6 баз.

  • И был MS SQL в виде отказоустойчивого кластера Always on – это такая связка серверов, где один работает, а при его падении подключается второй.

 

Мы собрались летом 2022 года и решили переходить. Наш план был таким:

  • переносим базы на PostgreSQL;

  • разворачиваем серверы 1С на Linux;

  • и идем праздновать, потому что PostgreSQL и Linux официально поддерживаются 1С, и проблем быть не должно.

Но, как оказалось, знали мы далеко не все.

 

PostgreSQL – тяжелые будни админов

 

Мы разделили проект на две крупных части:

  • переезд с СУБД MS SQL на PostgreSQL;

  • и перенос сервера 1С на Linux.

Как потом оказалось, такое разделение было правильным решением.

 

Свое погружение в обширный мир PostgreSQL мы начали с выбора редакции. Неожиданно оказалось, что у PostgreSQL есть как минимум два варианта, которые нам пришлось рассмотреть:

  • «Ванильный» PostgreSQL – непосредственно доступный всем open source проект, он еще называется Vanilla.

  • Postgres Pro – коммерческий продукт, разрабатываемый нашими российскими коллегами.

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

Забегая вперед, Postgres Pro работает хорошо. Основные его плюсы можно рассказать четырьмя пунктами:

  • Сжатие данных на уровне строк. Он очень хорошо жмет данные, база у нас не растет так, как на PostgreSQL, занимает меньше места на диске. Это очень хорошо – и с точки зрения бэкапирования, и для эксплуатации системы.

  • Postgres Pro намного лучше держит в СУБД большое количество соединений, когда сервер 1С создает их в огромных количествах.

  • Он лучше работает с бэкапами – у него есть встроенная утилита pg_probackup, об этом расскажу позже.

  • Главное в Postgres Pro – это русская поддержка 24/7. Когда вы будете внедрять новую СУБД для крупной информационной системы, вам обязательно понадобится поддержка. И когда есть люди, которые при проблемах с СУБД могут помочь здесь и сейчас – это суперценно.

Пару слов про деньги и ядра. Особенности лицензирования:

  • Postgres Pro – платный продукт. Наверное, это единственный его минус по сравнению с «ванильным» PostgreSQL.

  • При этом Postgres Pro стоит намного дешевле MS SQL, и лицензируется разово – мы платим только за ядра, которые хотим лицензировать.

  • Поддержка приобретается отдельно, и ее покупка не обязательна.

Когда мы выбирали СУБД, у нас было требование по отказоустойчивости – мы хотели иметь такой же отказоустойчивый кластер, как у нас был на MS SQL, чтобы при падении одной из нод подключалась вторая, и все продолжало работать. Забегая вперед, мы хотели сделать отказоустойчивое решение не только на уровне СУБД, но и на уровне сервера 1С.

 

Перед переносом базы 1С на PostgreSQL нужно будет проанализировать в ней производительность запросов. Правда информации об этом у самой фирмы «1С» совсем немного. На «ИТС» есть раздел «Особенности эксплуатации PostgreSQL», и там только две рекомендации касаемо кода:

  • Особенности использования виртуальной таблицы СрезПоследних – нам запрещают использовать соединение с виртуальной таблицей СрезПоследних. Совсем запрещают. Говорят, что в большинстве случаев это будет работать медленно и плохо. Если вспомнить самый холиварный вопрос, который постоянно всплывает на форумах: «Можно ли в запросе делать соединение с виртуальной таблицей?», то здесь дан ответ – нельзя.

  • Использование конструкции ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ – коллеги из фирмы «1С» рекомендуют не использовать полное внешнее соединение. Если честно, когда я это увидел, то пытался вспомнить, использовал ли я вообще когда-то за свою 15-летнюю практику полное внешнее соединение в запросе 1С и не смог такого вспомнить. Тем не менее, если у вас такое было, вам придется это переписать.

По поводу всего остального фирма «1С» ничего не говорит, подразумевая, что все должно работать на PostgreSQL так же, как и на MS SQL. Но, как обычно, есть нюансы – с этими нюансами мы столкнулись, когда перекатили базу на PostgreSQL.

Часть запросов, особенно больших и тяжелых, у нас стали работать медленнее. Они не отвалились, база не упала, все продолжало работать, но они стали работать медленнее.

И это самый важный момент, который нужно помнить при переходе – PostgreSQL гораздо требовательнее к качеству написания запросов по сравнению с MS SQL. PostgreSQL не прощает ошибок, которые прощает MS SQL – нельзя бездумно создавать в запросах десятки соединений или использовать составные поля. На PostgreSQL придется запросы оптимизировать.

Что мы сделали: Прогнали в тестах наши ключевые операции, посмотрели, где стало медленней и отрефакторили запросы. На этом подготовка и наш переход на PostgreSQL был завершен. Кроме рефакторинга запросов и настройки самого PostgreSQL (его окружения и настроечного файла), мы больше ничего с ним не делали.

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

У нас APDEX в готовом виде не было, поэтому мы делали просто сплошной тест, и по ощущениям искали, где стало медленнее.

База переносится на PostgreSQL через DT-шник, плюс сейчас фирма «1С» сделала в утилите ibcmd отдельную команду replicate, которая позволяет перенести данные напрямую из MS SQL в PostgreSQL, минуя конфигуратор и выгрузку в DT.

 

После запуска прода на PostgreSQL мы столкнулись с несколькими нюансами.

Первый нюанс – это бэкапы. У PostgreSQL есть утилита pg_dump, которая позволяет делать бэкапы. Причем ее возможности отличаются для «ванильного» PostgreSQL и для Postgres Pro.

  • В стандартном варианте pg_dump для ванильного PostgreSQL есть очень интересный нюанс – если у вас данные в одной ячейке превышают 512 мегабайт, бэкап никогда не выгрузится. А платформе 1С все равно, сколько сложить в ячейку – она в хранилище значений может сложить хоть сколько. Например, в типовых конфигурациях БП КОРП и УХ в хранилищах значений хранятся реготчеты, и один реготчет в виде двоичных данных может запросто занимать гигабайт, а то и полтора. При этом «ванильный» PostgreSQL не может выгрузить больше 512 мегабайт через pg_dump – у вас не будет бэкапа. База будет работать, все будет функционировать, но бэкапа не будет.

  • У Postgres Pro в 2022 году было ограничение в 1 гигабайт, в 2023 году они сделали 2 Гб – в принципе, все 1С-ные потребности покрываются.

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

Мы работали с настройками самого PostgreSQL. Здесь большое спасибо нашим админам, которые первые полгода после перехода прода на PostgreSQL крутили всевозможные настройки. Одна из них даже вынесена на слайд – random_page_cost, потому что она в какой-то момент нам очень сильно помогла. Этот параметр помогает планировщику запросов устанавливать цену для поиска оптимального запроса.

Мы разбирались с бэкапами. Наверное, на эту тему можно сделать отдельный доклад, но скажу очень коротко:

  • Утилита pg_probackup делает бэкапы целыми инстансами – например, в одном инстансе 5 баз, у вас будет бэкап всех 5 баз сразу. Таким же образом он его и разворачивает. Поэтому сначала у нас был один инстанс для всех баз, а потом мы разнесли его на несколько.

  • И утилита PTRACK, с которой пришлось разобраться, – это инкрементальный бэкап. Если в MS SQL инкрементальный бэкап настраивается внутри кора, то здесь это отдельные утилиты, с которыми вашим админам тоже придется поработать.

В целом мы перевели СУБД на PostgreSQL примерно за два месяца с небольшим. Полет был отличный.

Мы хорошо ускорили запросы – понятно, что тут сыграл роль рефакторинг, но без перехода на PostgreSQL мы вряд ли занялись бы им в таком объеме. Причем когда у нас система уже работала на PostgreSQL, мы смогли ее сделать в некоторых моментах еще быстрее.

 

Сервер 1С на Linux или суровые реалии разработки

 

Дальше начался переход сервера 1С на Linux. И тут разработчикам, конечно, досталось работы.

При переходе сервера 1С на Linux есть несколько важных моментов:

  • Отдельно отмечу, что мы перевели на Linux только серверную часть. Клиенты у нас работают кто откуда хочет – кто-то на Linux, кто-то на Windows, а кто-то даже на Mac OS. Плюс веб-клиент, естественно. Поэтому мы говорим о переходе только в контексте серверной части 1С.

  • Как бы это банально ни звучало, но когда вы переносите сервер 1С на Linux, вам нужен Linux-администратор. В большинстве компаний с 1С на Windows роль сисадминов выполняют сами 1С-ники, которые админят эти сервера, потому что Windows все кнопается, и все классно. Но когда вы запускаете сервер 1С на Linux, у вас в большинстве случаев нет даже графического интерфейса. При этом вам нужно подключать тома, смотреть логи, настраивать Apache. Об этом лучше подумать заранее – найти админа, взять на аутсорс или обучить своего.

  • Естественно, вместо IIS (Internet Information Services) нужно будет использовать Apache.

  • И, конечно же, потребуется рефакторинг кода. Если в контексте перехода на PostgreSQL мы говорили про возможное замедление системы, то при переезде сервера 1С на Linux у нас возможен полный отказ и неработоспособность кода, потому что он просто не предназначен для выполнения в среде Linux.

 

Так выглядит наша новая связка в части публикации веб-клиента:

  • Nginx;

  • Apache;

  • и авторизация пользователя на Keycloak и OpenID протокол.

Опять же, до свидания Active Directory и IIS – они больше не работают.

Теоретически возможна авторизация через AD-шный протокол на Apache плюс Kerberos, но, честно, мы всей командой не смогли ее настроить. Мы пытались, привлекали фирму «1С», но эта авторизация корректно так и не заработала. Это был суперинтересный эксперимент: когда пользователь пытался авторизоваться, он получал в системе рандомный логин. Мы даже в какой-то момент запустили это на проде, и там начался хаос и шатание.

Nginx здесь – это балансировщик для корректнрой работы отказоустойчивого кластера 1С, чтобы пользователи не замечали смену серверов для публикации баз, HTTP-сервисов или любой другой функциональности, которая торчит наружу через веб.

 

Мы провели обследование кода, посмотрели, что не будет работать на Linux, и определили для себя следующие направления рефакторинга:

  1. Конечно же, нужно рефакторить любую функциональность, которая реализована через вызов командной строки либо powershell – она на Linux работать не будет. VBS-скрипты для вызова паузы, батники и другие внешние программы, которые у вас вызывались из кода – все это сразу же отвалится.

  2. Любые внешние компоненты, зависящие от ОС – наверняка в ваших конфигурациях есть куча вызовов внешних компонент, которые привязаны к Windows. Для Linux им нужно искать альтернативу. У нас в ДО такой компонентой, например, был Image magic.

  3. COM-объекты. Наверняка их много кто еще использует. Соединение с другими базами через COM, работа с Excel через COM, работа с любым объектом через COM – все это работать перестанет.

  4. Использование локальных каталогов в серверном коде. Разработчики 1С очень любят написать в серверном коде: «Возьми файл в каталоге C:\Temp». Соответственно, никакого C:\Temp на Linux нет, и больше это использовать не получится.

  5. Отдельным пунктом выделено использование не универсальных разделителей пути. У Linux и у Windows разные разделители пути: «/» (прямой слэш) и «\» (обратный слэш). Если вы задаете разделители пути в коде, на Linux это работать не будет. Вместо этого используйте типовую функцию БСП «ПолучитьУниверсальныйРазделительПути» – она возвращает корректный слэш, потому что привязана к операционке.

  6. И рефакторинг работы с Excel/Word – это самые частоиспользуемые внешние компоненты, с которыми работает 1С. Здесь нужно либо использовать механизмы платформы, либо переходить на взаимодействие с этими продуктами через XML-формат без всяких COM-объектов.

 

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

Буквально несколько рекомендаций для руководителя разработки и тех, кто будет управлять разработкой в проекте:

  1. Заранее готовить библиотеки. Под библиотеками имеются в виду универсальные методы для часто используемых возможностей: пауза, работа с FTP и все остальное, что может быть в ваших системах. Эти библиотеки нужно приготовить заранее. Потому что потом, если библиотека у вас не готова, каждый начнет костылить свое, говорить: «Ой, они же не приготовили мне библиотеку, я сейчас напишу свою, она будет лучше».

  2. Максимально переиспользовать код. Раз уж мы начали рефакторинг, делаем максимально переиспользуемый код.

  3. Договориться, где и как разработчики синхронизируются. Это была боль на первых этапах, когда у нас разработчики разных систем придумывали свои методики для работы с чем-либо. Приходилось их синхронизировать. Это задача руководителя разработки либо того, кто этим управляет.

  4. Самые сложные участки нужно делать в первую очередь, их нельзя оставлять на потом – здесь принцип Парето не работает. По секрету вам скажу, что у нас интеграция с одним из банков жила на Windows еще полгода после перехода сервера 1С на Linux. Там выполнялся скрипт, и он с Linux не хотел работать до последнего. Мы этот кусок кода мучили, наверное, год, потому что вначале его пропустили и сказали: «Там же скрипт, мы его как-нибудь в Linux запустим». Обратите на это внимание, пожалуйста.

Как вы думаете, какая библиотека была самая жарко обсуждаемая? Пауза. Мы собрали, по-моему, пять совещаний, чтобы решить, как сделать паузу на Linux.

 

РКЛ и большой брат

 

Немного про нашего большого брата – фирму «1С».

Мы получаем КОРП-обслуживание в фирме «1С», и нам с ними, наверное, чуть проще общаться. Тем не менее в фирму «1С» обращаться надо. Есть кейсы, которые вы сами не решите никак. Ни вы, ни подрядчики, ни франчайзи. Есть проблемы, с которыми может вам помочь только фирма «1С».

На слайде приведены три кейса, которые фирма «1С» нам помогла решить на этом проекте:

  1. Проблемы с аутентификацией. Они настроили нам стенд, мы проработали все логи и решили проблему с аутентификацией через веб.

  2. Падение rphost.

  3. Зависание http-отладки в тех версиях платформы, которые мы сначала использовали.

 

Текущий статус и первые итоги эксплуатации спустя 6 месяцев

 

Итоговая схема, которая у нас получилась, показана на слайде. Мы завершили переход на Linux – у нас сейчас Linux Debian 11 и Postgres Pro.

  • У нас отказоустойчивый кластер серверов 1С в двух дата-центрах.

  • Для PostgreSQL у нас тоже отказоустойчивый кластер в двух дата-центрах – есть мастер и реплика.

  • Справа вы видите отдельный островок, который подписан как сервер для журнала регистрации и полнотекстового поиска. На самом деле это большая сеть виртуальных серверов на Linux, построенная на среде виртуализации Proxmos. Они также сделаны отказоустойчивыми и разнесены на два дата-центра. Туда через ТНФ вынесена функциональность журнала регистрации и сервиса полнотекстового поиска, плюс там живут всякие мелкие базы.

 

Заключение

 

Итак, что мы сделали?

  1. Перевели весь рабочий контур на PostgreSQL и Linux.

  2. Сделали отказоустойчивый кластер 1С.

  3. Сделали отказоустойчивый кластер Postgres Pro.

  4. Замерили производительность: она выросла, системы стали работать быстрее.

  5. Провели учения по отказоустойчивости.

Все это реально работает.

 

Здесь на слайде – мои рекомендации.

Самый важный пункт здесь – привлекайте экспертов, если есть возможность. С некоторыми проблемами вы будете разбираться неделями, если у вас нет человека, который это знает.

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

 

Вопросы и ответы

 

Расскажите подробнее про авторизацию – как вы ее в итоге сделали?

У нас большинство пользователей ходит в систему через веб-клиент, у них все просто:

  • Они переходят по единой ссылке, которая не привязана к конкретному серверу – эта ссылка живет в Nginx.

  • Потом они попадают на страницу авторизации Keycloak – это просто клиент авторизации, который соединен с OpenLDAP.

  • Вводят там свою обычную учетку от компа, и дальше токен пробрасывается в 1С и бесшовно авторизует пользователя.

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

Автоматизировали ли вы какое-то сценарное или нагрузочное тестирование?

Нагрузочное тестирование мы делали локально – какие-то куски кода, которые нам нужно было под нагрузкой протестить, под них писались отдельно обработки, чтобы нагрузить систему.

И дополнительно мы использовали дымовые тесты – Vanessa-ADD и Vanessa Automation, чтобы просто прогнать в системе и посмотреть, где чего отвалилось.

Вы сказали то, что «ванильный» PostgreSQL от 1С плохо работает с 1С. Но у нас в «Почтатехе» все работает на «ванильном» PostgreSQL от 1С. И у нас все работает хорошо. На основании чего сделаны такие выводы? Какое-то тестирование проводилось, какие-то замеры?

Именно здесь Postgres Pro оказалось очень эффективным решением. – мы просто попали в сценарий, где Postgres Pro лучше.

В «Управлении холдингом» есть особенность – две огромных таблицы. С ними «ванильная» PostgreSQL очень тяжело шевелилась, Postgres Pro Enterprise справился в разы лучше. Да, можно было изменить структуру базы данных, всем убиться, переписать все запросы, но по стоимости оказалось проще перейти на Enterprise-версию Postgres Pro.

Еще сыграло свою роль сжатие, потому что при переходе с MS SQL на PostgreSQL не столько страшен рефакторинг кода – его сделают, в любом случае все будет работать. Страшнее потом обслуживать без сжатия систему бэкапирования а-ля pro_backup для терабайтных баз. Вам для разработки придется закупить много 10-терабайтных полок – это просто застрелиться.

И стратегически Postgres Pro иногда быстрее – у него другой планировщик. Слава Богу, нам не пришлось применять pg_hint_plan и reload_plan, но думали, что придется еще и это делать – это то, чего вообще в «ванильной» версии в принципе не существует.

Самое главное – техподдержка. Потому что проблемы точно будут. Но если не будет, то отлично, повезло.

А как перетаскивали базу?

Через .dt.

Сколько времени заняла выгрузка?

Выгрузка самой большой базы у нас заняла 7 часов.

На тот момент работоспособной возможности выгрузки через ibcmd не было, но уже была многопоточная заливка .dt. Поэтому долго .dt сливался, но заливался гораздо быстрее.

7 часов – это нормальное техокно, база в 2 терабайта успела уехать.

Вы затронули у авторизации сервис Keycloak. Он у вас уже существовал или вы его разворачивали для интеграции?

Существовал, он изначально использовался клиент авторизации почти для всех сервисов внутри Avito.

Вы в докладе обратили особое внимание на параметр стоимости рандомного поиска. Вам помогло увеличение или уменьшение этого параметра? И как вы его меняли?

Нам помогло уменьшение с 4 до 1,1. У нас СХД было на твердотельных накопителях All-Flash, и производительность с уменьшением параметра резко выросла.

Вы сказали, что рефакторили код при переходе на Linux и оптимизировали запросы под PostgreSQL. А была ли работа именно по изменению структуры базы данных? Изменение полей объектов, может быть, создание новых вместо старых?

Разработчики 1С любят складывать в поля таблиц двоичные данные очень большого объема. Мы эту возможность ограничили на уровне кода – сделали из хранилища данных сжатое хранилище. По нему искать теперь нельзя, но зато оно занимает 80 мегабайт.

Рассматривали ли вы другие виды PostgreSQL? Например, у Astra Linux есть свой Tantor.

Нет, не рассматривали. На тот момент Tantor 1С-ом вообще не поддерживался. Он поддерживается только с платформы 8.3.22, а на момент перехода не поддерживался.

И Tantor идет в составе Astra, которая не является корпоративным стандартом у Avito. У Avito корпоративный стандарт – Debian 11, и отдельно нет особого смысла ставить Tantor.

Внедрение было в 2022 году, а тогда было намного меньше возможностей для внедрения чего-либо другого. И было меньше информации. Сейчас информации и поддерживаемых дистрибутивов больше.

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT.

См. также

Linux Системный администратор Программист Бесплатно (free)

Проект перевода 10+ систем 1С на 2000+ пользователей в Авито завершен успешно, преодолев технические трудности и «черных лебедей» в виде неопределенности, демотивации, потерь производительности и нереалистичных требований руководства. Расскажем об опыте проекта, в котором было «очень страшно», но в итоге всё получилось.

29.11.2024    821    kirill.skoromykin    1    

6

Облачные сервисы, хостинг Linux Тестирование QA Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Завершающая публикация цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием, отказоустойчивостью и прочая, прочая... В этой статье мы определяемся с быстродействием системы, проводим нагрузочное тестирование и отпускаем ее в свободное плавание (зачеркнуто) выпускаем ее в продуктовый контур, где, конечно же, придется отлавливать ошибки, мониторить состояние и т.п.

31.10.2024    1394    capitan    0    

0

Облачные сервисы, хостинг Linux Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая, прочая... На закуску разбираемся с отказоустойчивостью. В этой публикации для серверов 1С заодно попробуем подобно сериалу «Разрушители легенд» подтвердить или опровергнуть пару устойчивых мифов о требованиях назначения функциональности.

18.10.2024    1820    capitan    5    

12

Linux Системный администратор Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

1C > Postgres > (Linux) > мы (=проблемы в 2024). Информация будет полезна начинающим 1С программистам (и сисадминам). Без ИТС. Часть 1.

01.07.2024    5539    AlOkt    30    

20

Сканер штрих-кода Linux Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Драйвер сканера штрих-кодов в 1С выполнен по технологии NativeAPI, следовательно, поддерживается возможность работы в Linux, но сама настройка оказалось не такой простой, как в Windows, понадобились навыки администрирования linux. В данной публикации представлен опыт установки сканера Mercury CL-2200 P2D BT в ALT Linux.

18.06.2024    1451    MOleg82    1    

9

Облачные сервисы, хостинг Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана" в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая прочая... Это основное блюдо, на закуску разберемся с отказоустойчивостью. В этой публикации для PostgreSQL, заодно попробуем сделать это по новому.

17.06.2024    7807    capitan    18    

40

Сервера Linux Системный администратор Россия Бесплатно (free)

Тема Ubuntu, PostgreSQL и 1С уже избитая. Но все же, следуя инструкциям всех мануалов, пришлось потратить около 3-х дней. И как результат — готовые скрипты для установки сервера 1С и PostgreSQL на свежей Ubuntu за 5 минут.

14.06.2024    4078    user1389975    15    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. efin 14.11.24 02:42 Сейчас в теме
Вот бы эту статью 2 года назад, а так пришлось пройти тот же пусть (правда всего с 1ТБ базами) самому и в одиночку.

Один из моментов пришлось решать дорогим костылем, а именно, для интеграции с некоторыми банками использовался WinSCP, вызываемый через COM (иногда через батник). Пришлось делать на go http-сервис, который реализовал необходимое подмножество функций клиента WinSCP.

(0) Подскажите, сталкивались ли вы с замещением именно WinSCP, и если да, то как решили?
o.nikolaev; +1 Ответить
4. RocKeR_13 1366 14.11.24 17:49 Сейчас в теме
(1)
для интеграции с некоторыми банками использовался WinSCP

Как понимаю, 1С не особо заинтересована внедрять поддержку протокола sFTP в платформу, так как используется довольно редко. За всю свою историю работы с 1С только единожды приходилось для клиента писать выгрузку файлов на sFTP партнера, тоже использовал WinSCP. Обычно всё-таки банки используют http-сервисы с аутентификацией по сертификатам. В случае с sFTP только искать кросс-платформенные Native API компоненты для 1С или, как в вашем случае, городить промежуточные сервисы (в свое время натыкался тут на поделку на java)
2. starik-2005 3090 14.11.24 10:14 Сейчас в теме
«/» (обратный слэш) и «\» (прямой слэш).
Аффтор, не путайся и людей не путай.
1.
Возникновение слеша относят к временам Римской империи. На ранних стадиях современности, во Фрактуре [1], которая была широко распространена по всей Европе в средневековье, слеш (/) использовался вместо запятой, в то время как двойной слеш (//) использовался вместо тире. Двойной слеш, в конечном счете, превратился в символ похожий на знак равенства (=), а позже был еще больше упрощен до тире или дефиса [2].

2.
Боб Бемер ввел обратный слеш (\) в набор символов ASCII, 18 сентября 1961 года, как результат изучения частоты использования символов встречающихся в частности в программах на ALGOL’е. Тогда же вместе с обратным слешем в стандарт были включены и квадратные скобки.
В частности \ был введен, чтобы булевы операторы ALGOL’a AND и OR могли быть представлены с помощью ASCII символов как "/\" и "\/" соответственно [3,4].

https://habr.com/ru/articles/120652/
3. vikad 131 14.11.24 11:17 Сейчас в теме
(2) Спасибо за уточнение! В статье неточность исправили.
8. RustIG 1749 15.11.24 10:00 Сейчас в теме
(3)
Мы разделили проект на две крупных части:

переезд с СУБД MS SQL на PostgreSQL;

и перенос сервера 1С на Windows.


на Линукс , наверное
9. vikad 131 15.11.24 10:02 Сейчас в теме
(8) и это тоже поправили, спасибо!
5. Aphanas 92 15.11.24 06:56 Сейчас в теме
Сколько разработчиков было занято?
6. RustIG 1749 15.11.24 07:29 Сейчас в теме
(5) вам вряд ли скажут, оформила статью Виктория Дорохина - пост 3, а не Алексей.
У Алексея есть подробное видео-интервью в подкасте "Готовые решения" - кажется среди первых интервью, там он рассказывает, сколько разработчиков 1с в его команде. Рекомендую.
7. RustIG 1749 15.11.24 08:02 Сейчас в теме
Статья супер!
Спасибо Алексею, что поделился подобным опытом, спасибо ИС - что выложили доклад. В мире 1С мало руководителей, которые открыто и публично делятся опытом (находят время и имеют желание поделиться).

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


Ни слова о свертке регламентированной базы (ЗУП, УХ), ни слова о том, что можно для реготчетности перегнать данные в пустые базы за последний год (N-лет). Запасной план все-таки есть в мире 1С...
10. artbear 1563 18.11.24 12:30 Сейчас в теме
(0) Интересный кейс - есть ссылка на стандарт ИТС - https://infostart.ru/1c/articles/2235912/
Оптимизация использования виртуальной таблицы СрезПоследних при работе с PostgreSQL

этот стандарт был опубликован 15.12.2010, т.е. почти 24 года назад

неужели с тех пор у 1С этот кейс не изменился? )
11. DoReMi 18.11.24 13:53 Сейчас в теме
(10) 14 лет, не 24 года ) можно ещё потерпеть
15. TMV 14 21.11.24 04:42 Сейчас в теме
12. anchar007 19.11.24 07:51 Сейчас в теме
Было бы интересно посчитать сколько стоил этот «банкет» для компании!
Интересно оценить не только стоимость лицензий, но и работу внутренних разработчиков (которые если что на пол года - год отвлеклись от задач бизнеса), работу аутсорсеров и т.д.
Gilev.Vyacheslav; +1 Ответить
13. anchar007 19.11.24 08:22 Сейчас в теме
Столько успешных докладов на эту тему. По-моему, пора делать доклад «у нас база 10Тб, мы так и не смогли перейти на Postgres»
1) Выгрузка в dt для такой базы уже не работает
2) ibcmd работает, но тоже не идеально. Приходилось резать на уровне БД некоторые таблицы, в которых возникали ошибки при выгрузке. Два месяца ушло, чтобы просто найти оптимальный способ выгрузки базы из копии mssql в копию PostgreSQL. Обидно, когда ты думаешь, что разобрался с ошибкой выгрузки, а за следующие 10 часов база всё равно не выгружается
3) Самые критичные для бизнеса операции после перехода стали работать в 2-3 раза медленнее. Бедные Linux админы замучились крутить конфиги! На оптимизацию кода ушло бы очень много времени, что оказалось слишком дорого для бизнеса
4) Техокно 7 часов - для нас это очень критично, поэтому пришлось придумывать свой РИБ, который перекидывал данные с MS SQL на PostgreSQL, чтобы переход был более плавным. Последней каплей стало то, что РИБ занял всё свободное место на дисках и на некоторое время положил прод, после чего задачу решили отложить)

Этот переход - слишком дорогое удовольствие для бизнеса. А риски превращения серверов Microsoft в «тыкву» слишком преувеличены. На любые санкции в итоге найдётся способ эти санкции обойти
Gilev.Vyacheslav; +1 Ответить
14. Gilev.Vyacheslav 1917 20.11.24 09:17 Сейчас в теме
(13) Жизнь такова что ms sql server не продается, а pg pro замечательно продается, а кушать хочется каждый день, поэтому клиентам будут впарвить что нет ни какой ненадежности бэкапов pg, что нет ни каких проблем заранее просчитать сколько нужно исправлений в коде сделать, что в pg все просто, наглядно и быстро ))).
Оставьте свое сообщение