Дружба крепкая начинается… или мой опыт MS SQL Server на Linux для работы с 1С:Предприятие 8




На днях появилась новость о том, что MS SQL Server представлен для платформы LINUX.
Приятная новость. Проверил связку Сервер 1С:Предприятие 8 на Windows + MS SQL Server на Linux и вот что вышло…

Не так давно появилась весть о том, что в середине 2024 года мировое сообщество получит версию СУБД MS SQL Server для Linux. Такая новость порадовала, уверен, многих и упоминалась в ряде источников. Однако, неожиданно (для меня, по крайней мере) MS SQL Server для Linux появился пару дней назад… во всяком случае, инструкции по установке датированы 16.11.2024.

 

Можно по-разному относиться к этой новости:

вариант а — радоваться появлению возможности использовать MS SQL Server на Linux;

вариант б — плакать над тем, что в мир Linux прорвалась MS;

вариант в — ваш выбор :).

Но меня больше всего волновала возможность использования MS SQL Server на Linux для целей работы с 1С:Предприятие 8 в клиент-серверном варианте… и началось (вместе с воскресеньем 20.11.2024 🙂 )…

 

Шаг 1. Выбор компонентов системы

Выбрал версию ОС Linux (ту, что «по душе») среди представленных в описании инструкции по установке MS SQL Server — Red Hat Enterprise Linux 7.2.  Посмотрел системные требования платформы, RHEL 7.2 подходит.

 

Шаг 2. Выделение ресурсов для виртуальной среды

Системные требования RHEL 7.2 скромны, однако MS SQL Server для Linux требует минимум 3.2 Гб ОЗУ. Выделил 4Гб.

Процессоры: 1 шт 3.4ГГц (ну тестовая же среда 🙂 ).

Дисковое пространство: 8 Гб (для загрузки демо базы УНФ 1.4 хватило).

 

Шаг 3. Установка Red Hat Enterprise Linux 7.2

Здесь все оказалось достаточно просто:

1. Ознакомился с описанием системы, зарегистрировался для получения 30-дневной версии;

2. Скачал ISO DVD-дистрибутива: https://access.redhat.com/downloads/

3. Запустил установку, выбрал русский язык(!) и настроил основные параметры (сеть, имя машины, пароль root’а)

 

Шаг 4. Регистрация Red Hat Enterprise Linux 7.2

Как я понял, прежде, чем YUM будет доступен для взаимодействия с репозиториями, нужно:

1. Зарегистрировать ОС, выполнив команду: subscription-manager register

Потребовалось указать логин и пароль регистрации, которую проходил для получения 30 дневной версии RHEL 7.2

2. Подключить подписку, выполнив команду: subscription-manager attach

 

Шаг 5. Установка MS SQL Server

Здесь все по инструкции для RHEL 7.2: https://docs.microsoft.com/ru-ru/sql/linux/sql-server-linux-setup-red-hat

Статус работы службы mssql-server на Linux

 

При необходимости, можно воспользоваться скриптом конфигурирования экземпляра: https://docs.microsoft.com/ru-ru/sql/linux/sql-server-linux-configure-mssql-conf

Например, можно установить используемый порти, либо изменить параметр сортировки (Collation), однако нужного для 1С варианта нет 🙂

 

Шаг 6. Открытие порта 1433 для взаимодействия с MS SQL Server снаружи

Команды для RHEL:

sudo firewall-cmd —zone=public —add-port=1433/tcp —permanent
sudo firewall-cmd —reload

 

Шаг 7. Подключение SQL Server Management Studio

Скачал SSMS версии 16.5: https://msdn.microsoft.com/library/mt238290.aspx 

 

Шаг 8. Создание новой ИБ (УНФ Демо) и проверка перепроведением

Попробовал использовать сервер 1С:Предприятие 8 на Linux — естественно, безуспешно. Использование MS SQL Server в конфигурации с 1С сервером на Linux заблокирована на уровне платформы (ошибка при попытке создания ИБ). Это и понятно… ни компонентов доступа, ни чего… подождем 8.4

 

Воспользовался Сервером 1С:Предприятие 8 на Windows — все ОК. Работает:

Работа Сервера 1С:Предприятие 8 с MS SQL Server на Linux

Скрин монитора активности в процессе перепроведения документов:

Монитор активности MS SQL Server для Linux

 

Особенно удивил порядок указание путей к файлам :)))))))

Порядок указания путей расположения файлов в MS SQL Server для Linux

 

Что скажете? Если что нужно проверить, опробовать, сообщайте, дополню статью…

 

Итоги «поверхностного» замера производительности

Среда:

Сервер 1С:Предприятие 8 на отдельной машине. Здесь созданы 2 ИБ УНФ.

СУБД MS SQL Server на Lin и на Win на разных машинах (примерно одинаковое оборудование, слабая дисковая подсистема и сеть) 

Затраты времени в минутах на выполнение эталонного набора операций:

№* MSSQL на Lin  MSSQL на Win
1 3.52 2.46
2 3.02 2.45
3 2.52 2.49

* — Номер прогона проведения демо документов УНФ

47 Comments

  1. ansh15

    С почином.

    Тесты не пробовали запускать(Гилев, Fragster)?

    Reply
  2. zhenyat

    подписка

    Reply
  3. asved.ru

    Центось вместо Шляпы не?

    Reply
  4. bpc222

    (3) asved.ru,

    не пробовал, однако ж CentOS на RHEL и основана… попробовать надо

    Reply
  5. IfYouWant_YouCan

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

    Reply
  6. nixel

    Подпишусь.

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

    Reply
  7. корум

    подписка

    Reply
  8. fishca

    Очень интересно сколько это будет стоить: отказ от винды в пользу линуха.

    Reply
  9. ture

    (0) Молодец, с инсталяшкой разобрался. Ну погоняй что-ли на тестовом контуре немного, если не лень.

    Reply
  10. pbazeliuk

    Подписался

    Reply
  11. Fragster

    Будете делать тесты, пожалуйста, заполните комментарий и описание серверов (1с и добавьте второй строчкой сервер СУБД)

    Reply
  12. maxim4566

    «… Использование MS SQL Server в конфигурации с 1С сервером на Linux заблокирована на уровне платформы (ошибка при попытке создания ИБ)»

    Вот тут не совсем понятно. Какая разница на чем сервер…. У меня Сервер 1С на Linux. Отлично работатет с БД PostgreSQL (На этой же ВМ) и с Сервером MS SQL (На другой машине).

    Конкретно связку 1С Сервер на линукс + MS SQL на Linux — не пробовал. Но по сути если Виндовый Сервер 1С работает то и Линуксовый должен.

    Мне не совсем понятно для чего использовать MSSQL для Linux? В чем экономия? Или там схема лицензирования будет отличаться?

    Reply
  13. ansh15

    (3) Инсталлируется, работает.

    Reply
  14. ansh15

    (12) «Особенности рабочих серверов под управлением Linux

    — не могут взаимодействовать с СУБД Microsoft SQL Server»

    http://v8.1c.ru/overview/Term_000000666.htm

    Reply
  15. bpc222

    (12) maxim4566,

    Конкретно связку 1С Сервер на линукс + MS SQL на Linux — не пробовал.

    а я пробовал, говорю же — заблокировано такая возможность в 1С.

    Reply
  16. bpc222

    (9) ture,

    на днях закину одну ИБ, есть мысль подключить КИП

    Reply
  17. bpc222

    (11) Fragster,

    ок, скоро все будет 🙂

    Reply
  18. Andry.Boris

    + подписка

    Reply
  19. webester

    Как я понял имеет смысл, если сервер1С и серверБД разнесены на разные машины?

    Reply
  20. Tangram

    подпишусь…

    Reply
  21. shard

    подписка

    Reply
  22. Alltruist

    Подписка

    Reply
  23. Trucker

    подписка

    Reply
  24. andreask

    Подпишусь на тему!

    Reply
  25. tommadm

    Подписка

    Reply
  26. bpc222

    (3) asved.ru,

    да, как отметили ранее, работает…

    однако, есть особенность работы системы на centos…

    не знаю с чем связано, но на c MS SQL на Centos не редко прерывается («принудительно разрывается») связь с сервером, на RHEL такого не было… однако я мозгом понимаю, что Centos от RHEL отличается весьма незначительно…

    Reply
  27. bpc222

    (5) IfYouWant_YouCan,

    предварительные итоги в статье («однопоточное» исполнение).

    Вообще, замеры производительности средствами Fragster’а произвел. Неутешительные итоги готовлю к публикации…

    Reply
  28. mvsemenov

    Интересен вариант при установке 1С и MS SQL на 1 сервер и использовании технологии Shared Memory.

    На Linux это posix shared memory, вопрос будет ли это использоваться?

    Reply
  29. ture

    (28) mvsemenov, замена сокетов на общую память?

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

    Reply
  30. bpc222

    (28) mvsemenov,

    если я вас правильно понял, то такой возможности пока нет. Сервер 1С на Linux не работает с MS SQL а Linux

    Reply
  31. WellMaster

    Подписался

    Reply
  32. sorb

    Подписался

    Reply
  33. ansh15

    http://www.theregister.co.uk/2016/11/18/microsoft_running_windows_apps_on_linux/

    Краткий смысл:

    » Microsoft could have ported SQL Server to run as a native Linux application. Instead, it has chosen to use its Drawbridge application sandboxing technology.

    SQL Server for Linux runs atop a Drawbridge Windows library OS – a user-mode NT kernel – within a secure container called a picoprocess that communicates with the host Linux operating system through the Drawbridge application binary interface.

    In other words, Microsoft’s SQL Server for Linux is really the Windows SQL Server executable with a small Windows 8 kernel glued underneath, all running in a normal Linux process.»

    Reply
  34. bpc222

    (33)

    да, да… это и видно в итогах замеров… готовлю к публикации итоги замеров нескольких вариантов стендов

    Reply
  35. SimpleUser

    Подписался

    Reply
  36. artbear

    ОФФ. Ребята-подписанты, над комментариями добавили кнопку «Подписаться».

    УРА! Наконец-то.

    Reply
  37. Fragster

    (36) ну еще тема апается в списке тем

    Reply
  38. Fox-trot

    (36) логичнее внизу ее рисовать 😉

    Reply
  39. lustin

    (0) будет веселей если проверить работу файлов данных под

    * ZFS https://habrahabr.ru/post/153461/

    * BTRFS https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Gu­ide/ch-btrfs.html

    Reply
  40. user652314_sergio

    Ждем выхода новых версий платформы 1С поддерживающей новую версиюMSSQL под Linux.

    А пока активно пользуемся тем что работает «PostgreSQL».

    Подписался.

    Reply
  41. DjSpike

    А на Ubuntu кто-нибудь пробовал ставить ?

    Reply
  42. gadjik

    (41) На Ubuntu 16.04 в докере поднимается норм.

    Reply
  43. ansh15

    «Red Hat предлагает решения с Microsoft SQL Server 2017 Enterprise Edition»

    https://www.linux.org.ru/news/redhat/13370446

    В самом известии присутствует легкая ирония (5 и 6 %, «Покупайте наших слонов!»), но мне больше понравился подход к созданию стенда, просто и со вкусом, два одинаковых сервера с топовыми процессорами.

    Reply
  44. LineykaSBK

    Друзья, кто владеет информацией, связка 1С Linux + MS SQL Server на Linux готовится вообще на платформе 1С 8.4 нк или на свежих 8.3?

    Reply
  45. user736761

    А где можно найти инструкцию как установить на Линукс 1С?

    Reply
  46. bladeson

    (45)Просто в поисковике введите «как установить 1с на (название Вашего дистрибутива Linux). Ну или здесь можно поискать, есть несколько статей на эту тему.

    Reply
  47. родственник

    (14)

    не могут взаимодействовать с СУБД Microsoft SQL Server

    еще это написано здесь

    http://v8.1c.ru/requirements/

    Архитектура x86-64

    SQL Server 2016-2017

    Версия для Linux поддерживается в случае использования рабочих серверов платформы 1С:Предприятия на Microsoft Windows

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *