SAP R3

Материал из ALT Linux Wiki

Установка SAP R/3 на ALT Linux

Данная статья является обобщением опыта, полученного в результате лабораторной работы по установке нескольких систем SAP R/3.

Выбор дистрибутива

Исходя из того, что кроме систем SAP и их баз данных, других сервисов использоваться не будет, в качестве базового взят неофициальный серверный дистрибутив, собранный Rider. Используется последняя, на момент написания, сборка sisyphus-1.1.1-20101123-server-light-x86_64-ru-install-cd.iso

Я знаю, что данный дистрибутив не перечислен в списке совместимости. Я знаю, что при выборе дистрибутива, не перечисленного в PAM, теряю право на техническую поддержку SAP. Цель данной работы - определить возможность установки систем на платформу ALT Linux. Для специалистов: планируется установка Solution Manager Ehp1, IDES ERP, IDES BW+SEM. Программное обеспечение получено абсолютно легальным путем.

Планирование установки дистрибутива

В связи с тем, что будут устанавливаться тестовые системы, от которых не требуется особого быстродействия, при выборе серверной платформы отказались от дорогих SCSI, но взяли 4 SATA (5-й под систему). Сервер имеет следующую конфигурацию:

  • Intel® Server Board S5520HC
  • Процессор Intel Xeon E5506 2 шт + INTEL ACC HEATSINK ACTIVE /CPU BXSTS100A
  • 4gb KINGSTON (DDR3 SDRAM,8ГБ,1333МГц(PC3-10600) 6 шт.
  • Seagate 1TB SATA 7200RPM 3GB/S 32MB 5 шт
  • В корпусе INTEL PILOT POINT T/DP SC5650DP 900338 (весьма тихий)

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

В ходе установки были определены точки монтирования 4-х дисков в

/dev/sdb1 on /sapdb/sapdb1
/dev/sdc1 on /sapdb/sapdb2
/dev/sdd1 on /sapdb/sapdb3
/dev/sde1 on /sapdb/sapdb4

В будущем, я планирую "разнести" нагрузку БД по шпинделям дисков, симметрично.

В ходе установки дистрибутива нет необходимости устанавливать какие-либо сервисы (Apache, MySQL, etc.)

Сама установка не требует детального описания в данной статье.

Оптимизация установленной системы

Следует отметить, что требования SAP к системе весьма жесткие, иногда трудно объяснимые и не всегда кажутся разумными. Но нам нужно поставить систему, а не изменить этот мир к лучшему. По этому оставим способность удивляться дома.

Изменение hostname

Инсталлятор почему-то требует, чтобы hostname возвращала только имя, не FQDN. Правим /etc/sysconfig/network ...

Изменения в пакетной базе

Для начала нам потребуется установить несколько дополнительных пакетов (а некоторые - удалить).

  • Заменим postfix на ssmtp.
  • Установим xauth, он понадобится для работы инсталлятора SAP.
  • По вкусу добавим утилит наблюдения и мониторинга.
  • Обеспечим взаимодействие с UPS.

Маскировка release

Чтобы не нервировать программу проверки совместимости, которая перебирает все /etc/*-release на предмет "волшебных" строк, перечисленных в PAM, создадим файл /etc/redhat-release.

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.2 (Tikanga)

Теперь программа установки будет уверена, что у нас RHEL5. Иначе она будет жутко нервничать.

Настройка limits

Та же программа проверки требует некоторых изменений в /etc/security/limits.conf.

Добавим строки:

@sapsys   hard    nofile    4096
@sapsys   soft    nofile    4096
@sdba     hard    nofile    4096
@sdba     soft    nofile    4096
@sapsys   hard    locks     -1
@sapsys   soft    locks     -1
@sdba     hard    locks     -1
@sdba     soft    locks     -1
@sdba     hard    stack     -1
@sdba     soft    stack     -1
@sapsys   hard    stack     -1
@sapsys   soft    stack     -1
# End of file

Изменение параметров ядра

После продолжительного серфинга по форумам и чтения SAP Note 386605 и Note 790099 в /etc/sysctl.conf добавлены следующие строки:

kernel.shmmax=23136829430
kernel.shmall=5242880
kernel.sem=1250 256000 100 8192
kernel.msgmni=1024
vm.max_map_count=300000

Рекомендую разобраться с каждым значением и убедиться, что они соответствуют вашей системе.

Изменение I/O scheduler

В связи с отсутствием времени, доскональное тестирование I/O scheduler не проводилось. По ощущениям, система более шустрая с cfq. А посему, в /etc/rc.d/rc.local пишем

echo cfq > /sys/block/sda/queue/scheduler
echo cfq > /sys/block/sdb/queue/scheduler
echo cfq > /sys/block/sdc/queue/scheduler
echo cfq > /sys/block/sdd/queue/scheduler
echo cfq > /sys/block/sde/queue/scheduler

Создание системных пользователей

Создавать системных пользователей можно вручную, но лучше средствами инсталлятора SAP. Есть там Life Cycle Options. Но инсталлятор не знает про существование в природе таких shell, как sh и/или bash. А csh в системе отсутствует. Проще всего оказалось сделать символьную ссылку /bin/csh на /bin/bash.

Для вновь созданных пользователей созданы домашние каталоги, в которых есть файлы настройки рабочего окружения, которые, в свою очередь, игнорируются, так как вместо /bin/csh, на самом деле, используется /bin/bash.

Придется настроить .bashrc вручную.

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

N.B! Обязательно измените переменные окружения TMP и TMPDIR на каталоги, содержимое которых не удаляется при перезагрузке (на время установки систем). В $TMPDIR будут созданы временные каталоги установки. В случае непредвиденных ситуаций установка может быть продолжена с места остановки. Если же при перезагрузке временные данные будут удалены, то все придется начинать с начала, а фаза Import ABAP может продолжаться несколько суток. Залить в БД порядка 250Gb SQL-запросами, это далеко не dd...

Подготовка установочного комплекта SAP R/3

Список установочных дисков приведен в инструкции по установке каждой конкретной системы. К моему удивлению, архивы представлены многотомными самораспаковывающимися rar.

Распаковка их не вызывает проблем, если вы знаете про

unrar -x <последний_файл_в_списке>

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

Изменение профиля системы

Проверить профиль системы <SID>

/usr/sap/<SID>/SYS/exe/run/sappfpar pf=/usr/sap/<SID>/SYS/profile/DEFAULT.PFL check 

Мне достаточно было дописать в DEFAULT.PFL сразу, как только файл профиля был создан инсталлятором.

ipc/shm_psize_10 = 272000000
ipc/shm_psize_40 = 224000000

Установка Java

К сожалению, ни одна из представленных в Sisyphus, Java не "понравилась" инсталлятору.

Пришлось ставить IBM Java (Смотрим JCE Platforms на PAM)

И потом обеспечивать наличие переменной окружения IBM_JAVA_OPTIONS=-Xmx256M

Запуск инсталлятора

Процедура запуска sapinst описана подробно в соответствующем Installation Guide. Но рекомендации там отстают от реальной жизни на 3-4 года.

Мы не зря доустанавливали xauth.

Теперь с рабочей станции ssh -Y hostname, и далее, по инструкции.

Результат

В данный момент установлен и работает Solution Manager.

В процессе установки ERP IDES.

По сравнению с аналогичной конфигурацией железа и MS Windows, в качестве серверной ОС, имеем значительный прирост производительности. Чего только стоит (во время фазы Import ABAP)

# free
            total       used       free     shared    buffers     cached
Mem:      24683940   21708028    2975912          0     464328    9844264
-/+ buffers/cache:   11399436   13284504
Swap:    131066264          0  131066264

Там же была занята вся оперативная память и еще порядка 70 Gb виртуальной памяти.

P.S.

Вероятно, подбором правильных параметров, можно повысить производительность системы.

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