SAPHana - SAP HANA 开启 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SAPHana

使用以下 SAP HANA 集群引导选项创建一个名为 “crm-saphana.txt” 的文件:

prihana:~ # cat crm-saphana.txt primitive rsc_SAPHana_HDB_HDB00 ocf:suse:SAPHana \ op start interval="0" timeout="3600" \ op stop interval="0" timeout="3600" \ op promote interval="0" timeout="3600" \ op monitor interval="60" role="Master" timeout="700" \ op monitor interval="61" role="Slave" timeout="700" \ params SID="HDB" InstanceNumber="10" PREFER_SITE_TAKEOVER="true" \ DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="true" ms msl_SAPHana_HDB_HDB00 rsc_SAPHana_HDB_HDB00 \ meta clone-max="2" clone-node-max="1" interleave="true"

InstanceNumber使用您的 SAP HANA 系统信息更新参数SID的值。此外,更新和msl_SAPHana<SID>_HDB<Instance Number>配置中提及的 SID rsc_SAPHana_<SID>HDB<Instance Number> 和实例号。

注意

您可以使用 “man ocf_suse_SAPHana” 命令找到有关所有参数的详细信息

使用以下命令将 SAP HANA 配置文件添加到集群:

prihana:~ # crm configure load update crm-saphana.txt

使用具有systemd集成功能的 SAP HANA 版本(SPS07 及更高版本)时,您必须运行以下步骤,以防止在故意停止 Amazon EC2 实例时节点被屏蔽。

  1. 验证 SAP HANA 是否已与集成systemd。如果已集成,则存在systemd服务名称SAP<SID>_XX.service,例如。例如,对于SIDHDB和实例编号00SAPHDB_00.service就是服务名称。

    以 root 用户身份使用以下命令查找 SAP systemd 服务。

    prihanadb:~ # systemctl list-units | grep SAP aws-dataprovider.service loaded active running AWS Data Provider for SAP pacemaker.service loaded active running pacemaker needs SAP instance service SAPHDB_00.service loaded active running SAP Instance SAPHDB_00 saphostagent.service loaded active running SAP Host Agent SAP.slice loaded active active SAP Slice
  2. 创建起搏器服务插件文件。

    # mkdir -p /etc/systemd/system/pacemaker.service.d/ cat <<_EOF > /etc/systemd/system/pacemaker.service.d/00-pacemaker.conf [Unit] Description=pacemaker needs SAP instance service Documentation=man:SAPHanaSR_basic_cluster(7) Wants=SAP<SID>_XX.service After=SAP<SID>_XX.service _EOF
  3. 通过重新systemd加载来启用插入式文件。

    # systemctl daemon-reload
  4. 验证更改是否处于活动状态。

    # systemctl show pacemaker.service | grep SAP<SID>_XX

    例如,对于SIDHDB和实例编号00,预计会有以下输出。

    # systemctl show pacemaker.service | grep SAPHDB_00 Wants=SAPHDB_00.service resource-agents-deps.target dbus.service After=system.slice network.target corosync.service resource-agents-deps.target basic.target rsyslog.service SAPHDB_00.service systemd-journald.socket sysinit.target time-sync.target dbus.service sbd.service