Телефон +7 (812) 718-6184
СПб, Московский пр. 118
  1. О центре
  2. Статьи преподавателей
  3. Установка и запуск MS SQL 2017 нa Astra Linux

Установка и запуск MS SQL 2017 нa Astra Linux

05.06.2018

С выходом Microsoft SQL Server 2017 для платформы Linux появился интерес запустить и проверить работу этого продукта на Astra Linux.
MS SQL 2017 поддерживается на операционных системах RHEL 7.3, 7.4, SLES 12 SP2, Ubuntu 16.04. Проверено – работает на всех трех дистрибутивах.
На других операционных системах установка возможна, но не поддерживается Microsoft.
Изучив технические требования к продукту (https://docs.microsoft.com/ru-ru/sql/linux/sql-server-linux-setup?view=sql-server-linux-2017) и руководства по установке, стало понятно, что сервис MS SQL Server 2017 рассчитан на работу под управлением systemd.
Astra Linux Special Edition текущих версий (до 1.5 включительно) работает с базовым сервисом init, поэтому попытка установки MS SQL 2017 была неуспешной.
Astra Linux Common Edition версий 1.11 и 2.11 (релиз «Орёл») работают под управлением systemd, поэтому они были использованы в экспериментах.
За основу была принята документация по установке на операционную систему Ubuntu 16.04. Эксперименты начали проводиться с дистрибутивом Astra Linux Common Edition v. 1.11.15 релиз «Орёл». Во время проведения экспериментов вышла новая версия – 2.11.3 – и эксперименты продолжились на этой версии.
Для проверки возможности функционирования MSQ SQL Server 2017 на Astra Linux Common Edition были использованы виртуальные машины под управлением VMware Workstation в такой конфигурации:
Таблица 1. Конфигурация виртуальных машин для MS SQL на Astra Linux.
 

Параметр Значение
ЦПУ 2
ОЗУ 4 ГБ
Жесткий диск SCSI, 20ГБ
Сеть 1 сетевая карта, NAT
Конфигурация ОС Один дисковый раздел, EXT4
Набор ПО: Базовые средства
  Рабочий стол Fly
  Средства работы в Интернет

 
Было предпринято несколько попыток установить MS SQL 2017 на Astra Linux. В этом обзоре будет рассмотрен выверенный вариант установки в последовательности, которая приводит к успешной установке и запуску сервера MS SQL 2017. Из-за форматирования печатного текста некоторые однострочные команды перетекают на две или три строки в приведенных участках кода.  


apt-get install -y locales
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
locale-gen
LANG=en_US.UTF-8

Для некоторых утилит потребовалась английско-американская локализация рабочей среды, поэтому был установлен пакет locales, а системной переменной LANG было присвоено следующее значение: LANG=en_US.UTF-8


echo "deb http://deb.debian.org/debian stretch main" > /etc/apt/sources.list.d/debian.list

Для установки некоторых пакетов, не входящих в состав операционной системы Astra Linux, был добавлен репозиторий Debian, совместимой версии Stretch:


apt-get install ca-certificates

В версии Astra Linux Common Edition 1.11.15 понадобилось установить пакет ca-certificates перед загрузкой сертификата от Microsoft: 


wget --no-check-certificate -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

А в версии Astra Linux Common Edition 2.11.3 можно сразу загрузить сертификат от Microsoft:


wget --no-check-certificate -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list > /etc/apt/sources.list.d/mssql-server-2017.list
 
wget --no-check-certificate -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/prod.list
 
#Update repository list
apt-get update

После этого можно подключать репозиторий Microsoft для SQL-сервера и дополнительных инструментов:


apt-get install libodbc1
apt-get install unixodbc
apt-get install msodbcsql
apt-get install mssql-tools
apt-get install unixodbc-dev

Предварительно стоит установить несколько пакетов и библиотек, которые будут нужны SQL-серверу: 


apt-get install 'libc++1'
apt-get install libsss-nss-idmap0
apt-get install hostname
apt-get install libcurl3
apt-get install gdb
apt-get install libunwind8

Также выяснилось, что инструменты тоже лучше установить до самого сервера:
По ходу установки три из них попросили принять лицензионное соглашение.  


echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

Для удобства последующего использования стоит добавить каталог с инструментами в переменную пути:


mv /etc/apt/sources.list.d/debian.list /etc/apt/sources.list.d/debian.list.old

Чтобы операционная система не стала получать обновления от Debian, в этом месте уже можно отключить репозиторий Debian:


cd /tmp
apt-get download mssql-server

Теперь можно закачать текущий вариант SQL-сервера:


dpkg --ignore-depends=openssl -i mssql-server_14.*.deb

Такие предварительные действия приходится делать потому, что у пакета mssql-server есть жесткая зависимость от версии пакета openssl, который должен быть версии не больше 1.1.0, а в Astra Linux версия 1.1.0f. Поэтому mssql-server лучше установить вручную с отключенной проверкой зависимости от openssl: 


/opt/mssql/bin/mssql-conf setup

После завершения установки сервера его необходимо первоначально настроить, ответив на несколько вопросов:


systemctl status mssql-server
systemctl start mssql-server

Затем необходимо проверить состояния сервиса mssql-server и, если он не запущен, то запустить его самостоятельно:  


ss -tln

Также желательно убедиться, что SQL-сервер будет принимать сетевые запросы по стандартному порту TCP 1433:  


sqlcmd -S localhost -U SA –P
или
sqlcmd -S localhost -U SA -Q 'select @@VERSION'

В конце стоит запустить утилиту командной строки, подключиться к SQL-серверу и выполнить несколько простых SQL-команд, чтобы убедиться, что все заработало.


Подготовил Павел Гарбар.