SAP R3
Установка 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.
Вероятно, подбором правильных параметров, можно повысить производительность системы.
Вероятно, такие параметры можно включить по умолчанию при сборке дистрибутива.