全部产品
云市场

SAP HANA同可用区高可用部署(基于 SLES HAE)

更新时间:2019-07-04 13:56:23

SAP HANA 同可用区高可用部署

版本管理

版本 修订日期 变更类型 生效日期
1.0 2018/9/7
2.0 2019/4/23 1.优化了部署过程和文档结构
2.更新了全部截图
3.增加了HANA文件系统LVM配置过程
2019/4/23
2.1 2019/7/4 1.部署架构图更新
2.NAS参数优化
2019/7/4

概述

本文档描述了如何在阿里云的同可用区内部署SAP HANA的高可用环境。

HANA HA架构

本次部署的架构设计如下:

mc-01

安装前准备

SAP系统安装介质

访问方式 访问原理 备注
直接上传 通过公网直接上传到ECS
OSS + ossutil 上传到OSS再下载到ECS ossutil工具使用

VPC网络规划

网络规划

网络 位置 用途 分配网段
业务网 华东2 可用区F For Business/SR 192.168.10.0/24
心跳网 华东2 可用区F For HA 192.168.20.0/24
主机名 角色 心跳地址 业务地址 高可用虚拟IP(HAVIP)
saphana-01 HANA主节点 192.168.20.19 192.168.10.168 192.168.10.12
saphana-02 HANA备节点 192.168.20.20 192.168.10.169 192.168.10.12

文件系统规划

本示例中,HANA的文件系统使用了LVM条带化,/usr/sap使用一块单独的云盘,实际文件系统划分如下:

属性 文件系统大小 文件系统 VG LVM条带化 挂载点
数据盘 800G XFS datavg /hana/data
数据盘 400G XFS datavg /hana/log
数据盘 300G XFS datavg /hana/shared
数据盘 50G XFS sapvg /usr/sap
数据盘 64G swap N/A N/A

VPC网络创建

专有网络VPC(Virtual Private Cloud)是基于阿里云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离。专有网络是您自己独有的的云上私有网络。您可以完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等。具体详细信息和文档请参考 产品文档

登录控制台->专有网络,点击“创建专有网络”。

mc-01

按规划创建专有网络及SAP业务子网和心跳子网:

创建业务网络

按照规划创建业务网段。

mc-01

创建心跳网络

按照规划创建心跳网段。

mc-01

HANA ECS实例创建

创建HANA主节点ECS

ECS 产品购买页面

访问 https://www.aliyun.com/product/ecs 购买页面,在SAP HANA下选择实例类型,点击立即购买。

选择付费方式

选择 付费方式:包年包月 或者 按量付费

选择对应区域和可用区

选择地域和可用区。系统默认随机分配可用区,您可以选择适用的可用区。如何选择地域和可用区,请参见 地域和可用区
本实例选择华东2可用区A。

选择实例规格

目前通过SAP HANA认证的实例规格如下:

实例规格 vCPU 内存(GiB) 架构
ecs.r5.8xlarge 32 256 Skylake
ecs.se1.14xlarge 56 480 Broadwell
ecs.re4.20xlarge 80 960 Broadwell
ecs.re4.40xlarge 160 1920 Broadwell
ecs.re4e.40xlarge 160 3840 Broadwell

想要查看所有SAP认证的HANA机型,请点击 这里

本示例选择 ecs.r5.2xlarge 作为测试实例。

选择镜像

您可以选择公共镜像、自定义镜像、共享镜像或从镜像市场选择镜像。
SAP HANA的镜像,可按实际需求选择对应的镜像类型和版本。

单击“从镜像市场选择”,进入镜像市场,输入“sap”关键字查询,本示例选择的是“SUSE linux Enterprise Server for SAP 12SP3”镜像。

mc-01

配置存储

系统盘:必选项,用于安装操作系统。指定系统盘的云盘类型和容量。
数据盘:可选项。如果在此时创建云盘作为数据盘,必须选择云盘类型、容量、数量,并设置是否 加密。您可以创建空云盘,也可以使用快照创建云盘。最多可以添加16块云盘作数据盘。
数据盘的大小需要根据HANA实例的需求做相应的调整。

本示例中, /hana/data,/hana/log,/hana/shared 使用三块同等容量的SSD云盘用LVM进行条带化处理以满足HANA的性能要求,文件系统为XFS。

mc-05

有关SAP HANA存储需求请参考 SAP HANA TDI-Storage Requirements

选择网络类型

单击 下一步:网络和安全组,完成网络和安全组设置:

1、选择网络类型
专有网络,必须选择专有网络和交换机。按创建并选择专有网络和业务网段交换机。

mc-06

2、设置公网带宽
不需要分配公网IP地址,当您的实例不需要访问公网或者您的VPC类型ECS实例 使用弹性公网IP(EIP)地址访问公网,您不需要分配公网IP地址。EIP地址随时能与实例解绑。

Note:项目实施阶段,为了方便实施商部署可以先临时放开公网访问,待系统部署完成后可随时取消EIP或外网带宽。

本示例为ECS实例分配了5M的临时外网带宽:

mc-06

选择安全组

选择安全组。如果您自己没有创建安全组,需要手工创建安全组用于管理ECS出和入的网络访问策略。默认创建安全组的规则,请参见默认安全组规则

网卡配置

Note:先不增加第二张弹性网卡,ECS创建成功之后再添加第二张网卡。

完成系统配置、分组设置,完成ECS的购买。

创建HANA备节点ECS

参考上述步骤按需求和规划创建备节点ECS实例。

配置共享存储

ECS共享块存储是一种支持多台ECS实例并发读写访问的数据块级存储设备,具备多并发、高性能、高可靠等特性,单块共享块存储最多支持同时挂载到16台ECS实例挂载共享块存储的操作,请参考视频 挂载共享块存储到多台ECS实例
本次部署使用共享块存储作为高可用集群的STNOITH设备。选择与ECS同一区域和可用区,并挂载在高可用集群中的ECS实例中。

创建共享块存储

在ECS同地域同可用区购买共享块存储,作为STONITH设备选择最小20G容量SSD类型。mc-06

创建成功后显示如下:

mc-11

挂载共享块存储

选择需要挂载的高可用集群中的两台ECS实例。

mc-12

点击共享块存储实例查看详情,已经成功挂载了两台ECS实例mc-13

配置弹性网卡

弹性网卡(ENI)是一种可以附加到专有网络VPC类型ECS实例上的虚拟网卡,通过弹性网卡,您可以实现高可用集群搭建、低成本故障转移和精细化的网络管理。所有地域均支持弹性网卡。具体说明请参见 弹性网卡

创建弹性网卡

本示例,按规划创建两块ENI,用于心跳网卡登录 ECS管理控制台,在左侧导航栏中,选择 网络和安全 > 弹性网卡。选择地域。单击 创建弹性网卡

mc-14

mc-15

ENI创建完成后,绑定对应的ECS实例,绑定成功后如下图:

mc-15

控制台创建完ENI后,还需要登录操作系统配置网卡,本示例的操作系统是SUSE linux,配置命令如下:
yast2 network

将新加的ENI的IP地址、子网掩码等按规划配置如下:

不要在操作系统上直接修改主网卡的IP地址,这会导致无法连接ECS。如一定要修改主网卡IP,请参考 修改私有IP地址。 如果已经修改并保存了主网卡的IP地址,可以通过控制台->ECS->远程连接,恢复为默认的设置即将主网卡再设置成DHCP并重启ECS。

nw_01

nw_02

配置HAVIP

高可用虚拟IP(Private High-Availability Virtual IP Address,简称HAVIP),是一种可以独立创建和释放的私网IP资源。这种私网IP的特殊之处在于,用户可以在ECS上使用ARP协议进行该IP的宣告。本次部署使用高可用虚拟IP作为集群中的虚拟IP挂载在集群中的每一个节点。

创建高可用虚拟IP

高可用虚拟IP作为HANA instance提供服务的虚拟IP,选择创建在业务网段。

havip_01

havip_02

关联HANA主、备节点

进入已创建的HAVIP实例的管理界面。

点击“+”号,添加后端关联的ECS,将HANA主节点和HANA备节点都关联到HAVIP。havip_03

HANA ECS配置

维护主机名

分别在 HA 集群两台 HANA 服务器上,实现两台 HANA 服务器之间的主机名称解析。
本示例的 /etc/hosts 文件内容如下:

  1. 127.0.0.1 localhost
  2. 192.168.10.168 saphana-01 saphana-01
  3. 192.168.10.169 saphana-02 saphana-02
  4. 192.168.20.19 hana-ha01 hana-ha01
  5. 192.168.20.20 hana-ha02 hana-ha02

ECS SSH互信配置

HA 集群的两台 HANA 服务器的需要配置 SSH互信,配置过程如下。

配置认证公钥

在hana主节点执行如下命令:

  1. saphana-01:~ # ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa): 直接回车
  4. Enter passphrase (empty for no passphrase): 直接回车
  5. Enter same passphrase again: 直接回车
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. SHA256:6lX54zFixfUF7Ni+yEn8+lzBjj4XSF4QoVjznKNx15M root@saphana-01
  10. The key's randomart image is:
  11. +---[RSA 2048]----+
  12. | o ++ |
  13. | o =.o.o|
  14. | . o XoEo|
  15. | o=o*oo|
  16. | S oo=.oo.|
  17. | . . ooo+..|
  18. | . . oo== oo|
  19. | . . . o=*oo |
  20. | . o+= |
  21. +----[SHA256]-----+
  22. saphana-01:~ # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.169
  23. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  24. The authenticity of host '192.168.10.169 (192.168.10.169)' can't be established.
  25. ECDSA key fingerprint is SHA256:iD5aepnspZcREGbGJpExnMd3YGXPM8FcmSq66KLCgsk.
  26. Are you sure you want to continue connecting (yes/no)? yes
  27. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  28. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  29. Password: 输入备节点root密码
  30. Number of key(s) added: 1
  31. Now try logging into the machine, with: "ssh 'root@192.168.10.169'"
  32. and check to make sure that only the key(s) you wanted were added.
  33. saphana-01:~ #

在hana备节点上执行如下命令:

  1. saphana-02:~ # ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. SHA256:116JLe/MTR494dejsZkgrtvfFdL6+WwGnmcc9QD38Zc root@saphana-02
  10. The key's randomart image is:
  11. +---[RSA 2048]----+
  12. | |
  13. | . .. |
  14. | o .+|
  15. | . ooE=|
  16. | S . +.+=+|
  17. | . . +=.*|
  18. | . ..+.X*|
  19. | o . o+@=%|
  20. | ooo.. *+B*|
  21. +----[SHA256]-----+
  22. saphana-02:~ # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.169
  23. /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
  24. The authenticity of host '192.168.10.169 (192.168.10.169)' can't be established.
  25. ECDSA key fingerprint is SHA256:iD5aepnspZcREGbGJpExnMd3YGXPM8FcmSq66KLCgsk.
  26. Are you sure you want to continue connecting (yes/no)? yes
  27. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  28. /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  29. Password:
  30. Number of key(s) added: 1
  31. Now try logging into the machine, with: "ssh 'root@192.168.10.169'"
  32. and check to make sure that only the key(s) you wanted were added.

验证配置结果

验证方法: 分别在两个节点上,使用 SSH 登录另外一个节点,如果不需要密码登录,则说明互信已经建立。
在hana主节点,进行验证。

  1. saphana-01:~ # ssh saphana-02
  2. Last login: Mon Apr 22 23:36:01 2019 from 192.168.10.168
  3. Welcome to Alibaba Cloud Elastic Compute Service !
  4. saphana-02:~ #

在hana备节点,进行验证。

  1. saphana-02:~ # ssh saphana-01
  2. Last login: Mon Apr 22 23:36:21 2019 from 192.168.10.169
  3. Welcome to Alibaba Cloud Elastic Compute Service !
  4. saphana-01:~ #

ECS Metrics Collector for SAP监控代理

ECS Metrics Collector监控代理程序,用于云平台上SAP系统收集需要的虚拟机配置信息和底层物理资源使用相关的信息,供日后做性能统计和问题分析使用。

每台SAP应用和数据库都需要安装Metrics Collector,监控代理的部署请参考 ECS Metrics Collector for SAP部署指南

HANA文件系统划分

按前面的文件系统规划,用LVM来管理和配置云盘(集群两个节点)

有关LVM分区的介绍,请参考 LVM HOWTO

  • 创建交换分区
  1. # mkswap /dev/vde
  2. swapon /dev/vde
  3. swapon -s
  4. Setting up swapspace version 1, size = 64 GiB (68719472640 bytes)
  5. no label, UUID=412df06c-535a-48bf-a567-540bbfdc96c7
  6. # swapon /dev/vde
  7. # swapon -s
  8. Filename Type Size Used Priority
  9. /dev/vde partition 67108860 0 -1
  • 创建PV和VG
  1. # pvcreate /dev/vdb /dev/vdc /dev/vdd /dev/vdg
  2. Physical volume "/dev/vdb" successfully created
  3. Physical volume "/dev/vdc" successfully created
  4. Physical volume "/dev/vdd" successfully created
  5. Physical volume "/dev/vdg" successfully created
  6. # vgcreate hanavg /dev/vdb /dev/vdc /dev/vdd
  7. Volume group "hanavg" successfully created
  8. # vgcreate sapvg /dev/vdg
  9. Volume group "sapvg" successfully created
  • 创建LV(将三块500G的SSD云盘做条带化)
  1. # lvcreate -l 100%FREE -n usrsaplv sapvg
  2. Logical volume "usrsaplv" created.
  3. # lvcreate -L 800G -n datalv -i 3 -I 64 hanavg
  4. Rounding size (204800 extents) up to stripe boundary size (204801 extents).
  5. Logical volume "datalv" created.
  6. # lvcreate -L 400G -n loglv -i 3 -I 64 hanavg
  7. Rounding size (102400 extents) up to stripe boundary size (102402 extents).
  8. Logical volume "loglv" created.
  9. # lvcreate -l 100%FREE -n sharedlv -i 3 -I 64 hanavg
  10. Rounding size (38395 extents) down to stripe boundary size (38394 extents)
  11. Logical volume "sharedlv" created.
  • 创建挂载点并格式化文件系统
  1. # mkdir -p /usr/sap /hana/data /hana/log /hana/shared
  2. # mkfs.xfs /dev/sapvg/usrsaplv
  3. # mkfs.xfs /dev/hanavg/datalv
  4. # mkfs.xfs /dev/hanavg/loglv
  5. # mkfs.xfs /dev/hanavg/sharedlv
  • 挂载文件系统并加到开机自启动项
  1. # vim /etc/fstab
  2. 添加下列项:
  3. /dev/mapper/hanavg-datalv /hana/data xfs defaults 0 0
  4. /dev/mapper/hanavg-loglv /hana/log xfs defaults 0 0
  5. /dev/mapper/hanavg-sharedlv /hana/shared xfs defaults 0 0
  6. /dev/mapper/sapvg-usrsaplv /usr/sap xfs defaults 0 0
  7. /dev/vdf swap swap defaults 0 0
  8. # mount -a
  9. # df -h
  10. Filesystem Size Used Avail Use% Mounted on
  11. devtmpfs 32G 0 32G 0% /dev
  12. tmpfs 48G 55M 48G 1% /dev/shm
  13. tmpfs 32G 768K 32G 1% /run
  14. tmpfs 32G 0 32G 0% /sys/fs/cgroup
  15. /dev/vda1 99G 30G 64G 32% /
  16. tmpfs 6.3G 16K 6.3G 1% /run/user/0
  17. /dev/mapper/hanavg-datalv 800G 34M 800G 1% /hana/data
  18. /dev/mapper/sapvg-usrsaplv 50G 33M 50G 1% /usr/sap
  19. /dev/mapper/hanavg-loglv 400G 33M 400G 1% /hana/log
  20. /dev/mapper/hanavg-sharedlv 300G 33M 300G 1% /hana/shared

HANA数据库安装

Note: HANA的主节点和备节点的System ID和Instance ID要相同。本示例的HANA的System ID为H01,Instance ID为00。

有关SAP HANA的安装和配置请参考 SAP HANA Platform

配置HANA System Replication

有关SAP HANA System Replication的配置请参考 How To Perform System Replication for SAP HANA

SLES Cluster HA安装配置

安装SUSE HAE软件

有关SUSE HAE操作手册请参考:SUSE Linux Enterprise High Availability Extension 12

在主、备节点,检查是否已经安装HAE组件和SAPHanaSR组件

本示例使用的是SUSE CSP(Cloud Service Provider)镜像,此镜像已经预置了阿里云SUSE SMT Server配置,可直接进行组件检查和安装。如果是自定义镜像或其他镜像,需要先购买SUSE授权以获得并注册到SUSE官方的SMT Server或者手工配置Zypper repository源。

配置HAE和集成HANA资源的管理,需要以下组件:

patterns-ha-ha_sles 包含:

  • Kernel,pacemaker,sbd,crm_mon,hawk2,corosync,fence-agent等

patterns-sles-sap_server 包含:

  • sapconf,uuidd,sap-locale,python等

patterns-sle-gnome-basic 包含:

  • gnome desktop等
  1. saphana-01:~ # zypper in patterns-sle-gnome-basic patterns-ha-ha_sles SAPHanaSR sap_suse_cluster_connector

配置集群

生成集群配置文件

本示例使用VNC打开图形界面,在HANA主节点上配置Corosync

  1. # yast2 cluster

配置communication channel

  • Channel选择心跳网段,Redundant Channel选择业务网段
  • 按正确的顺序依次添加Member address(前心跳地址,后业务地址)
  • Excepted Votes: 2
  • Transport: Unicast

coro_01

配置Security

勾选”Enable Security Auth”,并点击 Generate Auth Key Filecoro_02

配置Csync2

  • 添加Sync host
  • 点击Add Suggested Files
  • 点击Generate Pre-Shared-Keys
  • 点击Turn csync2 ONcoro_03

Configure conntrackd这一步使用默认,直接下一步coro_04

配置Service

  • 确认Cluster服务不要设成开机自启动

coro_05

配置完成后保存退出,将Corosync配置文件复制到hana备节点。

  1. # scp -pr /etc/corosync/authkey /etc/corosync/corosync.conf root@saphana-02:/etc/corosync/

启动集群
在两个节点里执行如下命令:

  1. # systemctl start pacemaker

查看集群状态

现在两个node都online了,resources后面做配置

  1. # crm_mon -r
  2. Stack: corosync
  3. Current DC: saphana-02 (version 1.1.16-4.8-77ea74d) - partition with quorum
  4. Last updated: Tue Apr 23 11:22:38 2019
  5. Last change: Tue Apr 23 11:22:36 2019 by hacluster via crmd on saphana-02
  6. 2 nodes configured
  7. 0 resources configured
  8. Online: [ saphana-01 saphana-02 ]
  9. No resources

启动WEB网页图形化配置

(1)激活两台ECS的Hawk2服务

  1. # passwd hacluster
  2. New password:
  3. Retype new password:
  4. passwd: password updated successfully
  5. # systemctl restart hawk.service

(2)访问Hawk2https://192.168.10.214:7630/ ,输入用户名 hacluster和密码登录。

coro_05

配置SBD仲裁盘

查看磁盘信息

  1. saphana-01:~ # lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. vda 253:0 0 100G 0 disk
  4. └─vda1 253:1 0 100G 0 part /
  5. vdb 253:16 0 500G 0 disk
  6. vdc 253:32 0 500G 0 disk
  7. vdd 253:48 0 500G 0 disk
  8. vde 253:64 0 64G 0 disk
  9. vdf 253:80 0 20G 0 disk
  10. saphana-02:~ # lsblk
  11. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  12. vda 253:0 0 100G 0 disk
  13. └─vda1 253:1 0 100G 0 part /
  14. vdb 253:16 0 500G 0 disk
  15. vdc 253:32 0 500G 0 disk
  16. vdd 253:48 0 500G 0 disk
  17. vde 253:64 0 64G 0 disk
  18. vdf 253:80 0 20G 0 disk

云盘 /dev/vdf 为共享块存储。

配置watchdog(集群的两个节点)

  1. # echo "modprobe softdog" > /etc/init.d/boot.local
  2. # echo "softdog" > /etc/modules-load.d/watchdog.conf
  3. # modprobe softdog
  4. **watchdog配置检查**
  5. saphana-01:~ # ls -l /dev/watchdog
  6. crw------- 1 root root 10, 130 Apr 23 12:09 /dev/watchdog
  7. saphana-01:~ # lsmod | grep -e wdt -e dog
  8. softdog 16384 0
  9. saphana-01:~ # grep -e wdt -e dog /etc/modules-load.d/watchdog.conf
  10. softdog

配置SBD(集群的两个节点)

  1. 主节点:
  2. saphana-01:~ # sbd -d /dev/vdf create
  3. Initializing device /dev/vdf
  4. Creating version 2.1 header on device 4 (uuid: e3874a81-47ae-4578-b7a2-4b32bd139e07)
  5. Initializing 255 slots on device 4
  6. Device /dev/vdf is initialized.
  7. saphana-01:~ # sbd -d /dev/vdf dump
  8. ==Dumping header on disk /dev/vdf
  9. Header version : 2.1
  10. UUID : e3874a81-47ae-4578-b7a2-4b32bd139e07
  11. Number of slots : 255
  12. Sector size : 512
  13. Timeout (watchdog) : 5
  14. Timeout (allocate) : 2
  15. Timeout (loop) : 1
  16. Timeout (msgwait) : 10
  17. ==Header on disk /dev/vdf is dumped
  18. 配置SBD参数:
  19. # vim /etc/sysconfig/sbd
  20. 修改以下参数:
  21. SBD_DEVICE="/dev/vdf" - 修改成SBD的云盘设备ID
  22. SBD_STARTMODE="clean"
  23. SBD_OPTS="-W"
  24. =======================================================
  25. 备节点:
  26. saphana-02:~ # sbd -d /dev/vdf create
  27. Initializing device /dev/vdf
  28. Creating version 2.1 header on device 4 (uuid: 9b620112-1031-48b8-9510-8e1b77032472)
  29. Initializing 255 slots on device 4
  30. Device /dev/vdf is initialized.
  31. saphana-02:~ # sbd -d /dev/vdf dump
  32. ==Dumping header on disk /dev/vdf
  33. Header version : 2.1
  34. UUID : 9b620112-1031-48b8-9510-8e1b77032472
  35. Number of slots : 255
  36. Sector size : 512
  37. Timeout (watchdog) : 5
  38. Timeout (allocate) : 2
  39. Timeout (loop) : 1
  40. Timeout (msgwait) : 10
  41. ==Header on disk /dev/vdf is dumped
  42. 配置SBD参数:
  43. # vim /etc/sysconfig/sbd
  44. 修改以下参数:
  45. SBD_DEVICE="/dev/vdf" - 修改成SBD的云盘设备ID
  46. SBD_STARTMODE="clean"
  47. SBD_OPTS="-W"

启动SBD服务
两个节点分别启动sbd

  1. #/usr/share/sbd/sbd.sh start

两个节点分别检查SBD状态

  1. #sbd -d /dev/vdf list

此时需要确保两个节点的状态都是clear如下:

  1. # /usr/bin # sbd -d /dev/vdf list
  2. 0 saphana-01 clear
  3. 1 saphana-02 clear

查看SBD进程和服务(集群的两个节点)

  1. # ps -ef | grep sbd
  2. root 16148 1 0 14:02 pts/0 00:00:00 sbd: inquisitor
  3. root 16150 16148 0 14:02 pts/0 00:00:00 sbd: watcher: /dev/vdf - slot: 1 - uuid: 9b620112-1031-48b8-9510-8e1b77032472
  4. root 16151 16148 0 14:02 pts/0 00:00:00 sbd: watcher: Pacemaker
  5. root 16152 16148 0 14:02 pts/0 00:00:00 sbd: watcher: Cluster
  6. root 16162 15254 0 14:05 pts/0 00:00:00 grep --color=auto sbd

验证SBD配置成功

Note:请确保备节点上重要的进程已关闭。

本示例,登录主节点saphana01

  1. saphana-01 # sbd -d /dev/vdf message saphana-02 reset

如果备节点saphana-02正常重启,表示SBD盘配置成功。

备节点重启后,还需要通过message将其设置为clear状态

  1. saphana-01:~ # sbd -d /dev/vdf list
  2. 0 saphana-01 clear
  3. 1 saphana-02 reset saphana-01
  4. saphana-01:~ # sbd -d /dev/vdf message saphana-02 clear
  5. saphana-01:~ # sbd -d /dev/vdf list
  6. 0 saphana-01 clear
  7. 1 saphana-02 clear saphana-01

SAP HANA与SUSE HAE集成

SAPHanaSR配置SAP HANA资源

在任何集群节点,新建脚本文件,替换脚本中的HANA SID、Instance Number和HAVIP三个参数:

本示例中,HANA SID:H01,Instance Number:00,HAVIP:192.168.10.12,脚本文件名HANA_HA_script.sh

  1. ###SAP HANA Topology is a resource agent that monitors and analyze the HANA landscape and communicate the status between two nodes##
  2. primitive rsc_SAPHanaTopology_HDB ocf:suse:SAPHanaTopology \
  3. operations $id=rsc_SAPHanaTopology_HDB-operations \
  4. op monitor interval=10 timeout=600 \
  5. op start interval=0 timeout=600 \
  6. op stop interval=0 timeout=300 \
  7. params SID=H01 InstanceNumber=00
  8. ###This file defines the resources in the cluster together with the Virtual IP###
  9. primitive rsc_SAPHana_HDB ocf:suse:SAPHana \
  10. operations $id=rsc_SAPHana_HDB-operations \
  11. op start interval=0 timeout=3600 \
  12. op stop interval=0 timeout=3600 \
  13. op promote interval=0 timeout=3600 \
  14. op monitor interval=60 role=Master timeout=700 \
  15. op monitor interval=61 role=Slave timeout=700 \
  16. params SID=H01 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false
  17. #This is for sbd setting##
  18. primitive rsc_sbd stonith:external/sbd \
  19. op monitor interval=20 timeout=15 \
  20. meta target-role=Started maintenance=false
  21. #This is for VIP resource setting##
  22. primitive rsc_vip IPaddr2 \
  23. operations $id=rsc_vip-operations \
  24. op monitor interval=10s timeout=20s \
  25. params ip=192.168.10.12
  26. ms msl_SAPHana_HDB rsc_SAPHana_HDB \
  27. meta is-managed=true notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true maintenance=false
  28. clone cln_SAPHanaTopology_HDB rsc_SAPHanaTopology_HDB \
  29. meta is-managed=true clone-node-max=1 target-role=Started interleave=true maintenance=false
  30. colocation col_saphana_ip_HDB 2000: rsc_vip:Started msl_SAPHana_HDB:Master
  31. order ord_SAPHana_HDB 2000: cln_SAPHanaTopology_HDB msl_SAPHana_HDB
  32. property cib-bootstrap-options: \
  33. have-watchdog=true \
  34. cluster-infrastructure=corosync \
  35. cluster-name=cluster \
  36. no-quorum-policy=ignore \
  37. stonith-enabled=true \
  38. stonith-action=reboot \
  39. stonith-timeout=150s
  40. op_defaults op-options: \
  41. timeout=600 \
  42. record-pending=true

用root用户运行如下命令:

  1. crm configure load update HANA_HA_script.sh

验证集群状态

登录Hawk2 web控制台,访问地址 https://192.168.10.168:7630

查看Cluster的Status和Dashboard

hanasr_05

hanasr_06

也可以登录任意一个节点,使用crmsh检查当前集群状态

  1. # crm_mon -r
  2. Stack: corosync
  3. Current DC: saphana-01 (version 1.1.16-4.8-77ea74d) - partition with quorum
  4. Last updated: Wed Apr 24 11:48:38 2019
  5. Last change: Wed Apr 24 11:48:35 2019 by root via crm_attribute on saphana-01
  6. 2 nodes configured
  7. 6 resources configured
  8. Online: [ saphana-01 saphana-02 ]
  9. Full list of resources:
  10. rsc_sbd (stonith:external/sbd): Started saphana-01
  11. rsc_vip (ocf::heartbeat:IPaddr2): Started saphana-01
  12. Master/Slave Set: msl_SAPHana_HDB [rsc_SAPHana_HDB]
  13. Masters: [ saphana-01 ]
  14. Slaves: [ saphana-02 ]
  15. Clone Set: cln_SAPHanaTopology_HDB [rsc_SAPHanaTopology_HDB]
  16. Started: [ saphana-01 saphana-02 ]

SAP HANA HA测试和维护