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 специально для сохранения обратной совместимости.
Теперь необходимо разобраться с исходными настройками python в этой системе. Red Hat Enterprise Linux 8 может одновременно работать с python2 и python3, но по умолчанию в системе отсутствует /usr/bin/python. Нам необходимо сделать python2 интерпретатором по умолчанию, чтобы SQL Server 2017 мог видеть /usr/bin/python там, где он ожидает его увидеть. Для этого необходимо выполнить следующую команду:
Вам будет предложено выбрать версию Python, после чего будет создана символьная ссылка, которая будет сохраняться и после обновления системы.
Существует три различных исполняемых файла для работы с python:
Тут нужно выбрать второй вариант, после чего будет создана символьная ссылка с /usr/bin/python2 на /usr/bin/python.
Теперь можно продолжить конфигурирование системы для работы с программным репозиторием Microsoft SQL Server 2017 с помощью команды curl:
Затем следует загрузить установочные файлы SQL Server 2017 с помощью новой функции загрузки в yum. Сделать это нужно таким образом, чтобы можно было выполнить установку без необходимости разрешать зависимости:
Теперь установим сервер без разрешения зависимостей с помощью команды rpm:
После этого можно продолжить обычную установку SQL Server, как это описано в руководстве Microsoft «Быстрый старт: установка SQL Server и создание базы данных в Red Hat» с шага №3:
После завершения установки можно проверить версию установленного SQL сервера с помощью команды:
С выпуском SQL Server 2019 установка обещает стать еще проще, так как эта версия, как ожидается, будет доступна в RHEL в виде контейнера. Сервер SQL Server 2019 уже доступен в бета-версии. Чтобы попробовать его в RHEL 8 Beta потребуется всего три шага:
Во-первых, создадим директорию базы данных, где будут храниться все наши SQL данные. Для этого примера мы будем использовать директорию /var/mssql.
Теперь необходимо загрузить контейнер с SQL 2019 Beta из репозитория Microsoft Container Repository командой:
Наконец, необходимо сконфигурировать SQL сервер. В данном случае мы установим пароль администратора (SA) для базы данных под названием sql1, работающей с портами 1401 — 1433.
Более подробную информацию о 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 в реальных приложениях.
Лучший способ понять внесенные изменения и их влияние на вашу работу – попробовать их в деле, но 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 в реальных приложениях.