Переход на 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 Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

23.12.2024    1194    capitan    7    

14

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

Александр Кириллов, руководитель группы разработки компании «ИТ-Экспертиза», на конференции INFOSTART TECH EVENT 2024 выступил с докладом на тему «Как найти и устранить платформеннозависимый код менее, чем за 5 лет». Материал получился интересным и объемным, поэтому мы решили сделать на базе выступления Александра цикл статей. В первой части начнем с особенностей работы информационных систем 1С под управлением ОС Linux.

06.12.2024    1281    it-expertise    6    

20

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

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

29.11.2024    1387    kirill.skoromykin    1    

7

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

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

31.10.2024    1534    capitan    0    

0

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

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

18.10.2024    2043    capitan    5    

12

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

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

01.07.2024    6157    AlOkt    30    

20

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

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

18.06.2024    1685    MOleg82    1    

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

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

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

Как понимаю, 1С не особо заинтересована внедрять поддержку протокола sFTP в платформу, так как используется довольно редко. За всю свою историю работы с 1С только единожды приходилось для клиента писать выгрузку файлов на sFTP партнера, тоже использовал WinSCP. Обычно всё-таки банки используют http-сервисы с аутентификацией по сертификатам. В случае с sFTP только искать кросс-платформенные Native API компоненты для 1С или, как в вашем случае, городить промежуточные сервисы (в свое время натыкался тут на поделку на java)
2. starik-2005 3094 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 1830 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 1830 15.11.24 07:29 Сейчас в теме
(5) вам вряд ли скажут, оформила статью Виктория Дорохина - пост 3, а не Алексей.
У Алексея есть подробное видео-интервью в подкасте "Готовые решения" - кажется среди первых интервью, там он рассказывает, сколько разработчиков 1с в его команде. Рекомендую.
7. RustIG 1830 15.11.24 08:02 Сейчас в теме
Статья супер!
Спасибо Алексею, что поделился подобным опытом, спасибо ИС - что выложили доклад. В мире 1С мало руководителей, которые открыто и публично делятся опытом (находят время и имеют желание поделиться).

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


Ни слова о свертке регламентированной базы (ЗУП, УХ), ни слова о том, что можно для реготчетности перегнать данные в пустые базы за последний год (N-лет). Запасной план все-таки есть в мире 1С...
10. artbear 1565 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 Ответить
16. SirAlex 04.12.24 13:00 Сейчас в теме
(12) Это вряд ли в ближайшие 3 года (пока срок давности соглашения не пройдёт), а там уже и неинтересно будет. :)
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 все просто, наглядно и быстро ))).
17. SirAlex 04.12.24 14:56 Сейчас в теме
Спасибо за прекрасный материал!
Тема актуальная, соглашусь с 1-ым комментарием, пораньше бы этот доклад.

Редактору отдельный плюс за оформление! :)
Оставьте свое сообщение