Настройка SAP ERP с LVM и High Availability
Пошаговая инструкция по настройке SAP ERP в кластере высокой доступности с использованием LVM (Logical Volume Manager) и Pacemaker для обеспечения отказоустойчивости критически важных компонентов SAP.
Базовая конфигурация LVM
Создание физических томов и групп томов
Начните с создания физических томов и логических томов для SAP:
# Создание физического тома
pvcreate /dev/sdb
# Создание группы томов
vgcreate sap-vg /dev/sdb
# Создание логических томов
lvcreate -L 10G -n sap-lv sap-vg
lvcreate -L 5G -n log-lv sap-vg
# Форматирование файловых систем
mkfs.ext4 /dev/sap-vg/sap-lv
mkfs.ext4 /dev/sap-vg/log-lv
# Создание точек монтирования
mkdir -p /usr/sap
mkdir -p /var/log/sap
# Добавление в fstab
echo "/dev/sap-vg/sap-lv /usr/sap ext4 defaults 0 2" >> /etc/fstab
echo "/dev/sap-vg/log-lv /var/log/sap ext4 defaults 0 2" >> /etc/fstab
# Монтирование файловых систем
mount -a
Настройка кластера высокой доступности
Установка и настройка Pacemaker
Установите необходимые пакеты для кластера:
# Установка pacemaker и corosync
yum install -y pacemaker corosync pcs
# Включение и запуск pcsd
systemctl enable pcsd
systemctl start pcsd
# Установка пароля для пользователя hacluster
passwd hacluster
Создание кластера
Настройте кластер на всех узлах:
# Аутентификация узлов кластера
pcs host auth node1 node2
# Создание кластера
pcs cluster setup sap-cluster node1 node2
# Запуск кластера
pcs cluster start --all
pcs cluster enable --all
Настройка ресурсов кластера
Создайте ресурсы для SAP в Pacemaker:
# Создание LVM ресурса
pcs resource create sap-lvm ocf:heartbeat:LVM volgrpname=sap-vg exclusive=true
# Создание ресурса файловой системы
pcs resource create sap-fs ocf:heartbeat:Filesystem \
device=/dev/sap-vg/sap-lv \
directory=/usr/sap \
fstype=ext4
# Создание ресурса экземпляра SAP
pcs resource create sap-instance ocf:heartbeat:SAPInstance \
InstanceName=PRD_ASCS00_sapnode1 \
START_PROFILE=/usr/sap/PRD/SYS/profile/START_ASCS00_sapnode1
# Создание группы ресурсов
pcs resource group add sap-group sap-lvm sap-fs sap-instance
# Установка ограничения местоположения
pcs constraint location sap-group prefers node1=100
Мониторинг и диагностика
Команды проверки статуса
Проверьте состояние кластера и ресурсов:
# Проверка статуса кластера
pcs status
# Просмотр ресурсов
pcs resource show
# Просмотр ограничений
pcs constraint show
# Просмотр статуса узлов
pcs node show
Логи
Мониторинг логов для диагностики проблем:
# Логи Pacemaker
tail -f /var/log/pacemaker/pacemaker.log
# Логи Corosync
tail -f /var/log/cluster/corosync.log
# Логи SAP
tail -f /usr/sap/PRD/ASCS00/work/dev_w0
Операции обслуживания
Перевод узла в режим ожидания
Для планового обслуживания:
# Перевод узла в режим ожидания
pcs node standby node1
# Вывод узла из режима ожидания
pcs node unstandby node1
Управление ресурсами
Управление ресурсами кластера:
# Остановка ресурса
pcs resource disable sap-group
# Запуск ресурса
pcs resource enable sap-group
# Перемещение ресурса на конкретный узел
pcs resource move sap-group node2
# Очистка ограничения перемещения
pcs resource clear sap-group
Детальный пример реализации
Начальная настройка кластера
Настройка кластера с несколькими узлами:
# Аутентификация узлов кластера
pcs host auth ha-node-1 ha-node-2 ha-node-3
# Создание кластера с указанием IP-адресов
pcs cluster setup sap-s4 ha-node-1 addr=16.2.0.11 ha-node-2 addr=16.2.0.12 --enable --start
# Отключение STONITH (только для тестирования - в production включить!)
pcs property set stonith-enabled=false
Важно: В production окружении обязательно включите STONITH для предотвращения split-brain ситуаций.
Настройка Quorum
Для кластеров с четным количеством узлов настройте quorum device:
# Установка пакетов для quorum device
yum install pcs corosync-qnetd
# Запуск и включение сервисов
systemctl start pcsd.service
systemctl enable pcsd.service
# Настройка quorum device
pcs qdevice setup model net --enable --start
# Настройка firewall
firewall-cmd --permanent --add-service=high-availability
firewall-cmd --add-service=high-availability
# Добавление quorum device в кластер
pcs host auth ha-node-3.faz.local
pcs quorum device add model net host=ha-node-3.faz.local algorithm=ffsplit
Конфигурация хранилища для SAP компонентов
Создание физических томов
Создайте отдельные физические тома для различных компонентов SAP:
# Создание физических томов для различных компонентов SAP
pvcreate /dev/sdb # ASCS
pvcreate /dev/sdc # ERS
pvcreate /dev/sdd # SAP Trans
Ресурс SAP ASCS
Настройка ресурсов для ASCS (ABAP Central Services):
# Создание группы томов и логического тома для ASCS
vgcreate cluster_s4_ascs_vg /dev/sdb
lvcreate -l 100%FREE -n ascs1_lv cluster_s4_ascs_vg
mkfs.xfs /dev/cluster_s4_ascs_vg/ascs1_lv
# Создание ресурсов Pacemaker для ASCS
pcs resource create cl_s4_ascs_vg ocf:heartbeat:LVM-activate \
vgname=cluster_s4_ascs_vg \
activation_mode=exclusive \
vg_access_mode=system_id \
--group ASCS_GROUP
pcs resource create cl_s4_ascs_fs ocf:heartbeat:Filesystem \
device=/dev/cluster_s4_ascs_vg/ascs1_lv \
directory=/usr/sap/DEV/ASCS1 \
fstype=xfs \
--group ASCS_GROUP
pcs resource create cl_s4_ascs_ip IPaddr2 \
ip=16.2.0.15 \
cidr_netmask=24 \
--group ASCS_GROUP
Ресурс SAP ERS
Настройка ресурсов для ERS (Enqueue Replication Server):
# Создание группы томов и логического тома для ERS
vgcreate cluster_s4_ers_vg /dev/sdc
lvcreate -l 100%FREE -n ers1_lv cluster_s4_ers_vg
mkfs.xfs /dev/cluster_s4_ers_vg/ers1_lv
# Создание ресурсов Pacemaker для ERS
pcs resource create cl_s4_ers_vg ocf:heartbeat:LVM-activate \
vgname=cluster_s4_ers_vg \
activation_mode=exclusive \
vg_access_mode=system_id \
--group ERS_GROUP
pcs resource create cl_s4_ers_fs ocf:heartbeat:Filesystem \
device=/dev/cluster_s4_ers_vg/ers1_lv \
directory=/usr/sap/DEV/ERS1 \
fstype=xfs \
--group ERS_GROUP
pcs resource create cl_s4_ers_ip IPaddr2 \
ip=16.2.0.16 \
cidr_netmask=24 \
--group ERS_GROUP
Ресурс SAP Transport с NFS
Настройка ресурсов для SAP Transport Directory с NFS:
# Создание группы томов и логического тома для SAP Trans
vgcreate cluster_s4_saptrans_vg /dev/sdd
lvcreate -l 100%FREE -n saptrans_lv cluster_s4_saptrans_vg
mkfs.xfs /dev/cluster_s4_saptrans_vg/saptrans_lv
# Создание ресурсов Pacemaker для SAP Trans
pcs resource create cl_s4_saptrans_vg ocf:heartbeat:LVM-activate \
vgname=cluster_s4_saptrans_vg \
activation_mode=exclusive \
vg_access_mode=system_id \
--group TRANS_GROUP
pcs resource create cl_s4_saptrans_fs ocf:heartbeat:Filesystem \
device=/dev/cluster_s4_saptrans_vg/saptrans_lv \
directory=/mnt/trans/ \
fstype=xfs \
--group TRANS_GROUP
pcs resource create cl_s4_saptrans_ip IPaddr2 \
ip=16.2.0.17 \
cidr_netmask=24 \
--group TRANS_GROUP
# Настройка NFS сервера
pcs resource create cl_s4_saptrans_nfs nfsserver \
nfs_no_notify=true \
--group TRANS_GROUP
pcs resource create cl_s4_saptrans_nfs_export exportfs \
clientspec=16.2.0.0/255.255.255.0 \
options=rw,sync,no_root_squash \
directory=/mnt/trans/ \
fsid=1 \
--group TRANS_GROUP
Ресурс NFS клиента
Настройка NFS клиента для монтирования Transport Directory:
# Создание ресурса NFS клиента
pcs resource create cl_s4_saptrans_nfs_client Filesystem \
device='16.2.0.17:/mnt/trans/' \
directory='/usr/sap/trans' \
fstype='nfs' \
interleave=true \
--group TRANS_FS_GROUP
pcs resource clone TRANS_FS_GROUP interleave=true
Конфигурация общего хранилища GFS2
Настройка DLM и lvmlockd
Для общего хранилища необходимо настроить DLM (Distributed Lock Manager):
# Создание ресурсов DLM для общего хранилища
pcs resource create cl_s4_dlm ocf:pacemaker:controld \
op monitor interval=30s on-fail=fence \
--group DLM_GROUP
pcs resource clone DLM_GROUP interleave=true
pcs resource create cl_s4_lvmlockd ocf:heartbeat:lvmlockd \
op monitor interval=30s on-fail=fence \
--group DLM_GROUP
# Создание общей группы томов
vgcreate --shared cl_s4_sap_etc /dev/sdf
vgchange --lockstart cl_s4_sap_etc
# Создание логических томов
lvcreate --activate sy -L10G -n sapmnt_lv cl_s4_sap_etc
lvcreate --activate sy -l+100%FREE -n sapsys_lv cl_s4_sap_etc
# Форматирование с GFS2
mkfs.gfs2 -j2 -p lock_dlm -t sap_s4_dev:sapmnt /dev/cl_s4_sap_etc/sapmnt_lv
mkfs.gfs2 -j2 -p lock_dlm -t sap_s4_dev:sapsys /dev/cl_s4_sap_etc/sapsys_lv
# Создание ресурсов Pacemaker для общего хранилища
pcs resource create cl_s4_sapmnt ocf:heartbeat:LVM-activate \
lvname=sapmnt_lv \
vgname=cl_s4_sap_etc \
activation_mode=shared \
vg_access_mode=lvmlockd \
--group ETC_GROUP
pcs resource create cl_s4_sapsys ocf:heartbeat:LVM-activate \
lvname=sapsys_lv \
vgname=cl_s4_sap_etc \
activation_mode=shared \
vg_access_mode=lvmlockd \
--group ETC_GROUP
pcs resource clone ETC_GROUP interleave=true
pcs constraint order start DLM_GROUP-clone then ETC_GROUP-clone
Примечание: GFS2 позволяет нескольким узлам одновременно монтировать одну и ту же файловую систему, что необходимо для общих каталогов SAP.
Настройка STONITH
Конфигурация SBD для STONITH
Настройте STONITH (Shoot The Other Node In The Head) для предотвращения split-brain:
# Включение SBD для STONITH
pcs stonith create sbd fence_sbd \
devices=/dev/sdc \
pcmk_reboot_timeout=10
# Включение STONITH в кластере
pcs property set stonith-enabled=true
Важно: STONITH критически важен для production окружений. Он гарантирует, что в случае проблем с сетью или узлом, проблемный узел будет отключен, предотвращая конфликты данных.
Конфигурационные файлы LVM
Настройка списка томов
Добавьте в /etc/lvm/lvm.conf:
activation {
lock_start_list = [ "cl_s4_sap_etc" ]
# ... другие настройки ...
}
volume_list = [ "cluster_s4_ascs_vg", "cluster_s4_ers_vg", "cluster_s4_saptrans_vg" ]
Эта конфигурация гарантирует, что указанные группы томов будут активированы при загрузке системы, а общая группа томов будет заблокирована через lvmlockd.
Заключение
После выполнения всех шагов у вас будет настроенный кластер высокой доступности для SAP ERP с:
- Отказоустойчивым хранилищем на базе LVM
- Автоматическим переключением ресурсов при сбоях
- Общим хранилищем GFS2 для общих каталогов SAP
- Настроенным STONITH для предотвращения split-brain
- Мониторингом и управлением через Pacemaker
Кластер готов к развертыванию SAP приложений и обеспечивает высокую доступность критически важных компонентов.