Создание SAP-программы в Yandex Cloud
Важно
Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.
Вы научитесь настраивать сервер с установленной средой SAP и напишете первую программу. В ней будет реализована выгрузка существующих в системе пользователей в виде таблицы.
Чтобы создать SAP-программу в Yandex Cloud:
- Подготовьте облако к работе.
- Создайте ВМ для SAP.
- Подготовьте файловую систему ВМ.
- Подготовьте конфигурацию установки.
- Установите SAP.
- Настройте SAP.
- Проверьте работу программы.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость установки SAP входят:
- Плата за постоянно запущенную виртуальную машину (см. тарифы Yandex Compute Cloud).
- Плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Создайте ВМ для SAP
Создайте ВМ с публичным IP-адресом:
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина
. -
В блоке Образ загрузочного диска выберите образ SLES for SAP 15 SP2.
-
В блоке Расположение выберите зону доступности:
ru-central1-d
. -
В блоке Диски и файловые хранилища:
-
В блоке Вычислительные ресурсы перейдите на вкладку
Своя конфигурация
и укажите необходимую платформу, количество vCPU и объем RAM:- Платформа —
Intel Ice Lake
. - vCPU —
2
. - Гарантированная доля vCPU —
100%
. - RAM —
8 ГБ
.
- Платформа —
-
В блоке Сетевые настройки:
- В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
- В поле Публичный адрес оставьте значение
Автоматически
, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
- В поле Логин введите имя пользователя. Не используйте имя
root
или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.
- В поле Логин введите имя пользователя. Не используйте имя
-
В блоке Общая информация задайте имя ВМ:
vhcalnplci
. На этот hostname завязан скрипт установки SAP. -
Нажмите Создать ВМ.
Подготовьте файловую систему ВМ
Подготовьте файловую структуру созданной ВМ к установке SAP.
-
Подключитесь по протоколу SSH к созданной ВМ с помощью PuTTY
. -
Переключитесь в режим root, чтобы получить привилегии суперпользователя:
sudo su
-
Посмотрите список всех дисков:
lsblk
Результат:
vda 254:0 0 40G 0 disk ├─vda1 254:1 0 4M 0 part └─vda2 254:2 0 40G 0 part / vdb 254:16 0 90G 0 disk
Где:
vda
— загрузочный диск.vdb
— диск для данных.
-
Создайте на диске для данных (
vdb
) два раздела: 20 ГБ под дистрибутив и 70 ГБ под SAP.-
Чтобы управлять разделами жесткого диска, запустите утилиту
fdisk
:fdisk /dev/vdb
Если при вызове утилиты
fdisk
появляется ошибкаcommand not found
, добавьтеfdisk
вPath
:PATH=/sbin:$PATH
-
Чтобы добавить первый раздел, введите команду
n
и нажмите Enter. -
Чтобы выбрать тип по умолчанию
primary
, нажмите Enter. -
Чтобы выбрать номер по умолчанию
1
, нажмите Enter. -
Чтобы выбрать первый сектор по умолчанию
2048
, нажмите Enter. -
Укажите размер
+20G
и нажмите Enter. -
Добавьте второй раздел аналогичным образом. Не указывайте его размер на последнем шаге. По умолчанию он займет все оставшееся пространство — 70 ГБ.
-
Чтобы сохранить созданные разделы, введите команду
w
и нажмите Enter.Результат:
Welcome to fdisk (util-linux 2.33.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xb58ce40a. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-182452223, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-182452223, default 182452223): +20G Created a new partition 1 of type 'Linux' and of size 20 GiB. Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (41945088-182452223, default 41945088): Last sector, +/-sectors or +/-size{K,M,G,T,P} (41945088-182452223, default 182452223): Created a new partition 2 of type 'Linux' and of size 70 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
-
Проверьте структуру дисков:
lsblk
Результат:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 254:0 0 40G 0 disk ├─vda1 254:1 0 4M 0 part └─vda2 254:2 0 40G 0 part / vdb 254:16 0 90G 0 disk ├─vdb1 254:17 0 20G 0 part └─vdb2 254:18 0 70G 0 part
-
-
Настройте на разделах
vdb1
иvdb2
файловую системуext4
:mkfs.ext4 /dev/vdb1 mkfs.ext4 /dev/vdb2
Результат:
mke2fs 1.43.8 (1-Jan-2018) Creating filesystem with 5242880 4k blocks and 1310720 inodes Filesystem UUID: e878b21b-da84-42f9-ba9f-b6ad3c6edab6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done ... mke2fs 1.43.8 (1-Jan-2018) Creating filesystem with 17563392 4k blocks and 4390912 inodes Filesystem UUID: 14be2468-6a99-4178-a77b-26096c3fcad4 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done
-
Создайте директории под дистрибутив и SAP Application Server. Примонтируйте к ним разделы
vdb1
иvdb2
:mkdir /usr/sap mkdir /distr mount /dev/vdb1 /distr mount /dev/vdb2 /usr/sap
-
Чтобы монтирование восстанавливалось при перезагрузке, отредактируйте файл
/etc/fstab
:vi /etc/fstab
Приведите его к виду:
LABEL=ROOT / xfs defaults 0 1 /dev/vdb1 /distr ext4 defaults 1 1 /dev/vdb2 /usr/sap ext4 defaults 1 1
Настройте параметры установки
Добавьте установочные файлы SAP на ВМ и настройте конфигурацию для дальнейшей инсталляции.
-
Скачайте 11 архивов с установочными файлами SAP NetWeaver AS ABAP Developer Edition 7.52 SP04
и извлеките их содержимое в одну папку на локальном компьютере. -
Сохраните текущую сессию подключения к ВМ в PuTTY. Название можно указать любое.
-
Установите и запустите программу WinSCP
. -
Импортируйте в WinSCP настройки из сохраненной сессии в PuTTY.
- В окне
Login
нажмите Tools. - Выберите Import Sites.
- В поле
Import from
выберите PuTTY и отметьте сохраненную ранее сессию.
- В окне
-
Подключитесь к ВМ через WinSCP.
- Выберите сессию, импортированную из PuTTY.
- Нажмите Login.
- Введите имя пользователя на ВМ.
-
Импортируйте в каталог
/distr
на ВМ установочные файлы SAP, которые вы извлекли из загруженных ранее архивов.- В левом окне откройте папку с извлеченными файлами SAP.
- Выделите их и нажмите Upload.
- Укажите каталог для импорта —
/distr/*.*
на ВМ.
Для импорта файлов нужно быть владельцем каталога
/distr
. Другой вариант — подключиться через WinSCP как пользователь с root-правами или настроить использование sudo при входе в систему . -
На ВМ установите и запустите UUIDD. Это демон UUID
— universally unique identifiers. Он требуется для работы SAP:zypper install uuidd service uuidd start
-
Проверьте наличие библиотек
libaio
иlibaio1
:rpm -qa | grep libaio rpm -qa | grep libaio1
В ответе будут указаны версии библиотек, которые предустановлены на дистрибутиве.
-
Узнайте внутренний IP-адрес ВМ:
ip addr show
Результат:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether d0:0d:11:31:ee:a6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.29/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::d20d:11ff:fe31:eea6/64 scope link valid_lft forever preferred_lft forever
-
Добавьте внутренний IP-адрес в файл
/etc/hosts
.-
Откройте файл:
vi /etc/hosts
-
Добавьте в него строку вида:
<inet> vhcalnplci vhcalnplci.ru-central1.internal.
Используйте значение
inet
из блокаeth0
.Результат:
127.0.0.1 localhost 10.0.0.29 vhcalnplci vhcalnplci.ru-central1.internal
-
-
Проверьте имя хоста:
hostname
Результат:
vhcalnplci
Установите SAP
-
Измените разрешения на папку с установочными файлами SAP:
chmod -R 777 /distr
-
Перейдите в каталог
/distr
:cd /distr
-
Запустите скрипт для установки SAP:
./install.sh
-
Согласитесь с условиями лицензионного соглашения.
-
Задайте мастер-пароль для пользователей, которые будут созданы при установке SAP.
Требования к паролю:
- Не менее 7 символов на латинице.
- Содержит заглавные буквы и цифры.
- Не используются специальные символы.
-
Дождитесь завершения установки.
При установке может появиться сообщение об ошибке:
Abort execution because of Step returns modlib.jslib.caughtException Error: sapinst has finished with an error code, please find logs in /tmp/sapinst_instdir Error code: 20
Ошибка связана с истекшим сроком лицензии. Чтобы устранить ее:
- Скачайте файл
SAP ABAP AS Part License
для SAP NetWeaver AS ABAP Developer Edition 7.52 SP04 с официального сайта . - Распакуйте его и перенести в директорию
server/TAR/x86_64/
на ВМ. Можно сделать это с помощью программы WinSCP. - Заново запустите файл
./install.sh
, чтобы установить SAP.
- Скачайте файл
Запустите и настройте SAP
-
Установите на компьютер фронтенд-клиент SAP Logon
. -
Запустите SAP Logon и настройте подключение к ВМ:
- Application Server — публичный IPv4-адрес.
- Instance number —
00
. - System ID —
NPL
.
После входа в SAP в левой части экрана вы увидите меню пользователя SAP Easy Access
. Это специфичная для пользователя точка входа. Меню пользователя содержит только те элементы, которые необходимы для выполнения ежедневных задач.Настройка SAP выполняется через коды транзакций
. Они связаны с функциями в системе SAP. Коды транзакций необходимо вводить в командной строке SAP . Для быстрого доступа можно добавить их в закладки . -
Поменяйте стандартные пароли в целях безопасности:
- Через интерфейс SAP Easy Access запустите транзакцию
SU01
. - Перейдите в раздел
Logon Data
. - Выберите пользователя, пароль которого хотите изменить.
- Введите новый пароль.
- Через интерфейс SAP Easy Access запустите транзакцию
Обновите лицензию
Чтобы продолжить работу с SAP, необходимо обновить лицензию:
- Через интерфейс SAP Easy Access запустите транзакцию
SLICENSE
. - Скопируйте значение поля
Active Hardware Key
. - Откройте страницу SAP с лицензионными ключами
. - Выберите пункт
NPL — SAP NetWeaver 7.x (Sybase ASE)
. - Укажите, как к вам обращаться. Впишите имя, фамилию, e-mail и значение
Active Hardware Key
, которое скопировали ранее. - Примите условия лицензионного соглашения и скачайте файл с лицензией
NPL.tx
. - Перенесите скачанный файл с лицензией на ВМ и добавьте в транзакцию
SLICENSE
.
Создайте первую программу
Чтобы проверить работоспособность системы, создайте простую программу, которая будет выгружать список пользователей.
-
Авторизуйтесь под учетной записью
DEVELOPER
. -
Запустите транзакцию
SE38
. Это программаABAP Editor
. -
Назовите программу
ZTEST
. -
Добавьте код:
TYPE-POOLS: slis. *&---------------------------------------------------------------------* *& Data Declaration *&---------------------------------------------------------------------* DATA: it_usr01 TYPE TABLE OF USR01. DATA: it_fieldcat TYPE slis_t_fieldcat_alv, wa_fieldcat TYPE slis_fieldcat_alv.` *&---------------------------------------------------------------------* *& START-OF-SELECTION` *&---------------------------------------------------------------------* START-OF-SELECTION. *Fetch data from the database SELECT * FROM USR01 INTO TABLE it_usr01. *Build field catalog wa_fieldcat-fieldname = 'MANDT'. wa_fieldcat-seltext_m = 'MANDT'. APPEND wa_fieldcat TO it_fieldcat. wa_fieldcat-fieldname = 'BNAME'. wa_fieldcat-seltext_m = 'USER'. APPEND wa_fieldcat TO it_fieldcat. * display ALV list CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = it_fieldcat TABLES t_outtab = it_usr01 EXCEPTIONS program_error = 1 OTHERS = 2
Результат:
| MANDT| USER | | -----| ----------- | | 001 | BWDEVELOPER | | 001 | DDIC | | 001 | DEVELOPER | | 001 | SAP* |
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы:
- Удалите ВМ.
- Удалите статический публичный IP-адрес, если вы его зарезервировали специально для этого проекта.