用于 SAP Web Application Server 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

如何安装和配置 SAP Web Application Server

  1. 在群集的一个节点上安装 SAP Web Application Server 软件。

    请参阅 SAP 安装文档。

  2. 为 SAP 排队服务器和 SAP 拷贝服务器创建配置文件。

    请参阅 SAP 文档《SAP Web Application Server in Switchover Environments, UNIX Platforms》。


    注意 –

    SAP 排队服务器配置文件和 SAP 拷贝服务器配置文件中的 SAPSYSTEM 参数必须具有相同的值。


  3. 从 SAP 启动配置文件中删除有关 SAP 排队服务器的启动的部分。

    在 Sun Cluster 环境中,SAP 排队服务器资源启动 SAP 排队服务器应用程序。因此,如果 SAP 启动配置文件包含有关 SAP 排队服务器的启动的部分,请将其删除。否则,SAP 排队服务器将被多次启动。

  4. 如果结合使用进程监视工具 (PMF) 和 SAP Web Application Server,则必须在群集环境外部启动 saposcol 程序,以便使 PMF 在停止 SAP Web 应用服务器的资源时不会停止 saposcol 程序。

    所有正在运行 SAP Web Application Server 的节点必须都可以使用 saposcol 程序。因此,该程序必须位于每个节点的全局文件系统或本地文件系统中。

    1. 如果 saposcol 程序位于全局文件系统中,而您希望它位于本地文件系统中,请通过在每个节点上执行以下操作将程序复制到本地文件系统中:

      • 在安装节点上,如果 saposcol 程序是被单独启动的,则停止 saposcol 程序。

      • 如果 SAP 系统正在运行,则停止 SAP 系统。

      • 如果未安装文件系统,则将其安装到安装节点。

      • saposcol 可执行文件从安装节点复制到目标节点上的本地目录。


        # cp /usr/sap/SAPSID/SYS/exe/saposcol destination-directory
        

        其中,SAPSID 为 SAP 系统标识。

    2. 从已配置为使用 PMF 的 SAP Web 应用服务器资源的 SAP 启动脚本中删除有关 saposcol 程序的启动的部分。步骤 7 中也提到了此操作,以及对 SAP 启动和停止脚本的其他修改。

    3. 从每个节点的本地目录启动 saposcol 程序。

  5. 创建脚本以返回 SAP 消息服务器和 SAP Web 应用服务器组件的逻辑主机名。

    创建名为 loghost 的脚本,该脚本返回 SAP 消息服务器和 SAP Web 应用服务器组件的每个实例的逻辑主机名。该脚本必须位于 $HOME 目录中,其中 $HOME 指定 SAP 用户的起始目录。


    注意 –

    如果将 SAP Web 应用服务器组件配置为可伸缩资源,则需要按照后面的小节(如何修改可伸缩 SAP Web 应用服务器组件的安装)中的说明修改此脚本。



    实例 1–3 创建脚本以返回逻辑主机名


    if [ "$1" = "DVEBMGS00" ]; then
        echo loghost-1;
    fi
    if [ "$1" = "SCS01" ]; then
        echo loghost-2;
    fi
    if [ "$1" = "D02" ]; then
        echo loghost-3;
    fi

  6. 设置脚本的文件权限,从而使其可以执行。


    # chmod 755 $HOME/loghost
    
  7. 修改 SAP 启动和停止脚本,如下所示:

    1. 确保实例名称的唯一性。

      在 SAP 启动和停止脚本中,向以 INSTANCE= 开头的行的行尾添加 sort -u 命令。此命令对找到的所有实例名称进行排序,并且仅保留唯一的名称。

      原始行如下(其中 arg 为参数编号,例如 1 或 2):


      INSTANCE=`echo $arg | awk '/SCS[0-9][0-9]/{print $1}
      /ASCS[0-9][0-9]/{print $1} /DVEBMGS[0-9][0-9]/{print $1} 
      /JC[0-9][0-9]/{print $1} /D[0-9][0-9]/{print $1} 
      /J[0-9][0-9]/{print $1} /G[0-9][0-9]/{print $1}'`

      在向结尾处的 sort -u 命令添加一个管道后,该行如下(其中 arg 为参数编号,例如 1 或 2):


      INSTANCE=`echo $arg | awk '/SCS[0-9][0-9]/{print $1}
      /ASCS[0-9][0-9]/{print $1} /DVEBMGS[0-9][0-9]/{print $1} 
      /JC[0-9][0-9]/{print $1} /D[0-9][0-9]/{print $1} 
      /J[0-9][0-9]/{print $1} /G[0-9][0-9]/{print $1}' | sort -u`
    2. 更新 SAP 启动和停止脚本以调用返回逻辑主机名的脚本。

      在设置 HOSTNAME 的部分中,插入您在步骤 5 中创建的脚本 $HOME/loghost 的名称。通过将行 HOSTNAME='hostname' 替换为以下示例中的行即可完成此操作。


      实例 1–4 更改 SAP 启动和停止脚本以调用返回逻辑主机名的脚本


      < remove
      > add
      
      # Set HOSTNAME
      case `uname` in
         OS/390* | z/OS* | AIX* | BOS*)
           HOSTNAME=`hostname -s`
           ;;
         *)
      <    HOSTNAME=`hostname`
      >    if [ $# -eq 2 ]; then
      >         HOSTNAME=`$HOME/loghost $2`
      >    else
      >         HOSTNAME=`hostname`
      >    fi
           ;;
      esac

    3. 为了获得用户配置文件从而也获得特定于 SAP 的环境文件,请将以下行作为 SAP 启动和停止脚本的第二行添加。

      . $HOME/.profile

    4. 从 SAP 启动脚本中删除用于 SAP 中心服务组件的 DB 检查。SAP 中心服务组件包括 SAP 排队服务器、SAP 拷贝服务器和 SAP 消息服务器。

    5. 如果结合使用 PMF 与 SAP Web 应用服务器,请从此 SAP Web 应用服务器 使用的 SAP 启动脚本中删除有关 saposcol 程序的启动的部分。另请参见步骤 4

  8. 修改文件名和文件内容以使用逻辑主机名(而不是物理主机名)。

    标准 SAP Web Application Server 安装使用安装 SAP 系统的节点的物理主机名。您必须修改 SAP Web Application Server 以使用逻辑主机名,以便使 SAP Web Application Server 能够在 Sun Cluster 环境中工作。


    注意 –

    如果将 SAP Web 应用服务器组件配置为可伸缩资源,则需要按照后面的小节(如何修改可伸缩 SAP Web 应用服务器组件的安装)中的说明进行其他修改。


    1. 从 SAP 用户的起始目录中的 “.” 文件的名称中删除物理主机名。

      在以下示例中,physical-hostname 表示物理主机名。


      实例 1–5 从文件名中删除物理主机名


      # for i in .*physical-hostname.*
        > do
        > mv $i `echo $i | sed "s/_physical-hostname//"`
        > done

    2. 更改数据库 “.” 文件以引用逻辑主机名(而不是物理主机名)。

    3. 更改配置文件的文件名和文件内容以使用逻辑主机名(而不是物理主机名)。

      这些文件位于 /usr/sap/SAPSID/SYS/profile,其中 SAPSID 为 SAP 系统标识。

    4. 向位于 SAP 配置文件目录中的逻辑主机名文件 SAPSID_INSTANCE_NAMESYSTEM_NUMBER_logical-hostname 中添加以下逻辑主机名条目。注意,SAPSID 为 SAP 系统标识,INSTANCE_NAME 为 SAP 实例名称,SYSTEM_NUMBER 为 SAP 系统编号。

      SAPLOCALHOST=logical-hostname

      SAPLOCALHOSTFULL=logical-hostname.domain

    5. 在文件 /usr/sap/SAPSID/INSTANCE_NAME/igs/conf/igs.xml 中,使用逻辑主机名替换物理主机名。注意,SAPSID 为 SAP 系统标识,INSTANCE_NAME 为 SAP 实例名称。