Практикум RHEL 8 Beta: Устанавливаем Microsoft SQL Server

    Microsoft SQL Server 2017 был доступен для полноценного использования под RHEL 7 с октября 2017 года, и при работе над RHEL 8 Beta Red Hat тесно сотрудничала с Microsoft, чтобы повысить производительность и обеспечить поддержку большего числа языков программирования и прикладных фреймворков, предложить разработчикам более широкий выбор доступных инструментов для работы над их следующим приложением.



    Лучший способ понять внесенные изменения и их влияние на вашу работу – попробовать их в деле, но RHEL 8 все еще находится в бета-версии, и Microsoft SQL Server 2017 не поддерживается для использования в реальных приложениях. Что же делать?

    Если вы хотите опробовать SQL Server на бета-версии RHEL 8, этот пост поможет вам запустить его, но вы не должны использовать его в производственном окружении, пока версия Red Hat Enterprise Linux 8 не станет общедоступной, а Microsoft не предоставит свой официально поддерживаемый пакет для установки.

    Одна из основных задач Red Hat Enterprise Linux заключается в создании стабильного, однородного окружения для запуска сторонних приложений. Для этого в RHEL реализована совместимость приложений на уровне отдельных API и интерфейсов ядра. Когда мы переходим к новому большому релизу, обычно существуют специальные различия в именах пакетов, новых версий библиотек и новых утилит, которые могут вызвать сложности при запуске уже существующих приложений, собранных для предыдущего релиза. Поставщики программного обеспечения могут, следуя рекомендациям Red Hat, создавать исполняемые файлы в Red Hat Enterprise Linux 7, которые будут работать в Red Hat Enterprise Linux 8, но работа с пакетами – это другое дело. Пакет программного обеспечения, созданный для Red Hat Enterprise Linux 7, не будет поддерживаться в Red Hat Enterprise Linux 8.

    Сервер SQL Server 2017 на Red Hat Enterprise Linux 7 использует python2 и OpenSSL 1.0. Следующие шаги позволят получить рабочее окружение, которое совместимо с этими двумя компонентами, которые уже мигрировали на более свежие версии в RHEL 8 Beta. Включение старых версий было сделано Red Hat специально для сохранения обратной совместимости.

    sudo  yum install python2
    sudo  yum install compat-openssl10
    

    Теперь необходимо разобраться с исходными настройками python в этой системе. Red Hat Enterprise Linux 8 может одновременно работать с python2 и python3, но по умолчанию в системе отсутствует /usr/bin/python. Нам необходимо сделать python2 интерпретатором по умолчанию, чтобы SQL Server 2017 мог видеть /usr/bin/python там, где он ожидает его увидеть. Для этого необходимо выполнить следующую команду:

    sudo alternatives —config python
    

    Вам будет предложено выбрать версию Python, после чего будет создана символьная ссылка, которая будет сохраняться и после обновления системы.

    Существует три различных исполняемых файла для работы с python:

     Selection    Command
    ———————————————————————-
    *  1         /usr/libexec/no-python
    + 2           /usr/bin/python2
      3         /usr/bin/python3
    Enter to keep the current selection[+], or type selection number: 
    

    Тут нужно выбрать второй вариант, после чего будет создана символьная ссылка с /usr/bin/python2 на /usr/bin/python.

    Теперь можно продолжить конфигурирование системы для работы с программным репозиторием Microsoft SQL Server 2017 с помощью команды curl:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
    

    Затем следует загрузить установочные файлы SQL Server 2017 с помощью новой функции загрузки в yum. Сделать это нужно таким образом, чтобы можно было выполнить установку без необходимости разрешать зависимости:

    sudo yum download mssql-server
    

    Теперь установим сервер без разрешения зависимостей с помощью команды rpm:

    sudo rpm -Uvh —nodeps mssql-server*rpm
    

    После этого можно продолжить обычную установку SQL Server, как это описано в руководстве Microsoft «Быстрый старт: установка SQL Server и создание базы данных в Red Hat» с шага №3:

    3. После завершения установки пакета выполните команду mssql-conf setup и следуйте подсказкам для установки пароля системного администратора (SA) и выбора вашей версии.
    


    sudo /opt/mssql/bin/mssql-conf setup 
    

    После завершения установки можно проверить версию установленного SQL сервера с помощью команды:

    # yum list —installed | grep mssql-server
    

    Поддержит контейнеры


    С выпуском SQL Server 2019 установка обещает стать еще проще, так как эта версия, как ожидается, будет доступна в RHEL в виде контейнера. Сервер SQL Server 2019 уже доступен в бета-версии. Чтобы попробовать его в RHEL 8 Beta потребуется всего три шага:

    Во-первых, создадим директорию базы данных, где будут храниться все наши SQL данные. Для этого примера мы будем использовать директорию /var/mssql.

    sudo mkdir /var/mssql
    sudo chmod 755 /var/mssql
    

    Теперь необходимо загрузить контейнер с SQL 2019 Beta из репозитория Microsoft Container Repository командой:

    sudo podman pull mcr.microsoft.com/mssql/rhel/server:2019-CTP2.2
    

    Наконец, необходимо сконфигурировать SQL сервер. В данном случае мы установим пароль администратора (SA) для базы данных под названием sql1, работающей с портами 1401 — 1433.

    sudo podman run -e 'ACCEPT_EULA=Y' -e \
    'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>'  \ 
    —name 'sql1' -p 1401:1433 -v /var/mssql:/var/opt/mssql:Z -d \ 
    mcr.microsoft.com/mssql/rhel/server:2019-CTP2.2
    

    Более подробную информацию о podman и контейнерах в Red Hat Enterprise Linux 8 Beta можно найти здесь.

    Работает за двоих


    Попробовать связку RHEL 8 Beta и SQL Server 2017 можно как с помощью традиционной установки, так и с помощью установки контейнерного приложения. В любом случае, теперь в вашем распоряжении будет работающий экземпляр SQL Server, и можно заняться наполнением базы данных или изучать доступные в RHEL 8 Beta инструменты для создания стека приложений, автоматизации процесса настройки или оптимизации производительности.

    В начале мая обязательно послушайте выступление Боба Уорда (Bob Ward), старшего архитектора в подразделении Microsoft Database Systems Group, на саммите Red Hat Summit 2019, где будет обсуждаться развертывание современной платформы для работы с данными на базе SQL Server 2019 и Red Hat Enterprise Linux 8 Beta.

    А уже 8 мая ожидается официальный релиз, открывающих использование SQL Server в реальных приложениях.
    Red Hat
    75,00
    Программные решения с открытым исходным кодом
    Поделиться публикацией

    Комментарии 6

      0
      Интересно, а как MS SQL будет лицензироваться?
        0
        Мне лично интересен вопрос: «Зачем?».
        Зачем запускать mssql на red hat. С таким же успехом можно поднять виртуалки с виндой или контейнер какой нибудь. Последнее время Microsoft позволяет перемешать Linux и Windows приложения в компот. Зачем? Чтобы добавить проблем администратору? Подскажите, может я не в курсе чего?
          +1
          А по моему все идет в правильном направлении. Уже сейчас в Windows встроенна полноценная среда linux, не работают разве что низкоуровневые вызовы вроде контейнеризации. И если вместо WS Core с его чисто виндовыми приложениями у меня будет стоять RH8 в котором будет крутиться MS SQL и какие то еще контейнеры рядом я буду только рад. Другой вопрос, как это админить через AD, придется пользоваться уже линуксовыми средствами которые не так удобны, но я думаю и их допилят как минимум для интерпрайз среды.

          P.S. А самой MS это надо для того чтобы в облаке Azure можно было поднять любую службу не разливая для этого копию винды. Все кто разворачивал в облаках Windows поймут о чем я, это очень долгий процесс по сравнению с разворачиванием cloud-native линукса.
          0
          И ещё интересно, RHEL 8 планируется распространять для двух архитектрур x86_64 и ARM 64.
          Вопрос: MS SQL на rhel 8 будет работать под ARM 64?
          В этом случае появляется вариант сэкономить на хостинге, как я понимаю.
            0
            Принесли немного про RHEL8 — по этой ссылке можно вкусить подробностей red.ht/2VVUO5u
              0
              Ага. Уже.
              Всех с релизом RHEL 8!
              Однако это не совсем ответ на вопрос.

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

          Самое читаемое