全部产品
云市场

SAP HANA Scale-Out 部署最佳实践

更新时间:2019-09-19 20:27:00

SAP HANA Scale-Out 部署最佳实践

版本管理

版本 修订日期 变更类型 生效日期
1.0 2018/5/14
1.1 2018/5/31 1.增加Metrics Collector的安装
2.部分页面样式调整
2018/6/1
1.2 2019/7/4 1.优化NAS参数 2019/7/4
1.3 2019/7/30 1.更新部分链接 2019/7/30

概述

本文档描述了如何在阿里云环境中,SAP HANA Scale-Out安装部署。本次部署架构基于Non-shared的3+0架构,使用ECS故障自动恢复功能,满足故障节点自动恢复的需要,因此不需要额外购买和维护SAP HANA实例的standby节点。

架构总览

createvpc-1

资源规划

网络规划

用途 位置 分配网段 交换机 VPC
业务网 华北2可用区F 192.168.10.0/24 sap_business SAP_Network

SAP及主机规划

SAP HANA SID:BWS

主机名 IP 地址 类型 实例编号 SID 备注
hana01 192.168.10.4 Master 00 BWS 安装在本地
hana02 192.168.10.5 Worker 00 BWS 安装在本地
hana03 192.168.10.6 Worker 00 BWS 安装在本地

用户及组规划

HANA集群中的各个节点中的HANA用户和组ID要保持一致。
用户:本示例[sid]adm ID统一设置为2000
组:本示例sapsys ID统一设置为2000

SWAP规划

SAP应用及HANA的安装都需要创建SWAP空间,推荐在创建ECS实例的时候单独创建SSD云盘作为SWAP盘,关于SWAP空间的推荐请参见
SAP Note 1597355 - Swap-space recommendation for Linux [需要SAP Service账号访问]

Physical Memory (RAM) Recommended Swap-Space
< 32 GByte 2 x RAM
32 - 63 GByte 64 GByte
64 - 127 GByte 96 GByte
128 - 255 GByte 128 GByte
256 - 511 GByte 160 GByte
512 - 1023 GByte 192 GByte
1024 - 2047 GByte 224 GByte
2048 - 4095 GByte 256 GByte
4096 - 8191 GByte 288 GByte
> 8192 GByte 320 GByte

文件系统规划

对于global文件系统,推荐使用autofs的方式挂载。关于HANA文件系统sizing,请参照SAP HANA Storage Requirements ,本示例选用的ECS机型内存128G,以下文件系统划分仅供参考。

/hana/data

Sizedata = 3 x RAM

/hana/log

systems ≤ 512GB Sizeredolog = 1/2 x RAM
systems > 512GB Sizeredolog(min) = 512GB

/hana/shared

Sizeinstallation(scale-out) = 1 x RAM_of_worker per 4 worker nodes

/hana/backup

Sizebackups ≥ Sizedata + Sizeredolog

文件系统 类型 LV VG 大小 云盘类型
/hana/data xfs datalv hanavg 384G SSD云盘
/hana/log xfs loglv hanavg 64G SSD云盘
/hana/shared NAS N/A N/A 128G SSD云盘
/hana/backup NAS N/A N/A 448G 高效云盘
SWAP SWAP N/A N/A 96G SSD云盘

前期准备

阿里云账号

如果您还没有阿里云账号,您可以在阿里云官网或阿里云 App 上,使用手机号码注册阿里云账号和完成账号实名认证。并且,后续您还可以在阿里云 App 上,管理云资源、监控资源状态、进行身份验证、及上云栖社区咨询、了解云知识等。具体如何开通,充值等操作请参考 注册账号.

VPC

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

按照规划创建VPC如下:
createvpc-1
按照规划创建业务网段:
businessnetwork-1

ECS实例

云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务您可以通过云服务器 管理控制台 或者 阿里云 App 配置您的ECS资源。关于阿里云认证的SAP Netweaver和SAP HANA相关信息请参考sap note: 1380654 - SAP support in public cloud environments.
1.创建ECS实例
在控制台选择创建ECS实例,选择付费方式和可用区
选择专有网络和安全组,需要填写之前创建或者已有的 VPC 和安全组信息,关于安全组的设置和信息请参考 安全组使用FAQ
本示例中的安全组策略如下:

协议类型 端口范围 使用场景
ICMP -1/-1 允许ICMP协议
SSH 22/22 Linux SSH远程访问
TELNET 23/23 Telnet默认端口
HTTPS 443/443 基于HTTPS的web访问
SAP HANA 30015-39915 SAP HANA
VNC 5801-5904 VNC viewer的访问

createinstance
按照前面的规划,创建或修改磁盘的数据和大小,关于云盘的相关产品文档和性能请参见 块存储性能。
推荐系统盘使用高效云盘,数据盘使用SSD云盘,单独创建SSD云盘作为SWAP盘:
swap
选择带宽和镜像
从镜像市场选择需要的镜像版本
suseimage

根据规划和需求选择RAM role(可选),关于RAM的相关信息请参考 RAM简介
检查所有的选项后创建ECS实例,根据本次部署的规划共创建3台ECS实例,创建完成后根据规划通过修改信息选项来修改主机名或私有IP地址。

ECS Metrics Collector的安装

ECS Metrics Collector监控代理程序,用于云平台上SAP系统收集需要的虚拟机配置信息和底层物理资源使用相关的信息。

当SAP系统运行在弹性计算服务器ECS上时,SAP Host Agent通过metadata服务和openAPI获取需要的信息,用于收集SAP系统监控所需信息(包括操作系统、网络、存储方面以及SAP架构方面等),并将其提供给SAP应用程序,用于事物分析和系统性能分析。

对于运行SAP系统的每个ECS实例(包括数据库和应用),都需要安装Metrics Collector for SAP监控代理程序。

关于ECS Metrics Collector的部署请参考 ECS Metrics Collector的部署指南

文件存储NAS

阿里云文件存储(Network Attached Storage,简称 NAS)是面向阿里云 ECS 实例、E-HPC 和 Docker 等计算节点的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。详细产品信息请参见阿里云上部署SAP推荐Global文件系统采用文件存储NAS。
1.创建NAS
选择地域和类型。本次部署采用SSD性能型,关于NAS的性能请参考 存储类型介绍
控制台->存储->文件存储NAS,创建文件系统,选择区域、存储类型、容量和可用区,选中“创建新文件系统并绑定存储包”,本示例如图:
nas-1
完成支付后,返回控制台刷新即可看到刚才新建的NAS文件系统:
nas-2
添加挂载点,选择刚才创建的VPC、交换机和权限组:
nas-3
2.记录NAS地址
根据规划为/hana/shared 和/hana/backup创建2个NAS文件系统,示例如图:
nas-4

本示例2个NAS文件系统如下:

NAS文件系统 挂载地址
/hana/shared 194874b95d-qgi86.cn-beijing.nas.aliyuncs.com
/hana/backup 1207e4a953-gus54.cn-beijing.nas.aliyuncs.com

ECS宕机迁移

宕机迁移是其中一种用于提升 ECS 实例可用性,降低物理故障对用户服务影响的功能。
当您的 ECS 实例所宿的物理机由于底层性能出现异常,或者其他原因导致物理机宕机时,宕机迁移功能通过技术检测确认机器无法恢复之后,会立刻发送短信通知 ECS 实例拥有者。
迁移完成后,阿里云会再次发送迁移完成的短信,且 ECS 实例的元数据,例如,实例 ID、私网 IP 地址、公网 IP 地址等,以及其他属性均保持不变。
其他说明请参考, ECS宕机迁移FAQ

安装HANA

维护主机名

SAP与HANA所有节点维护主机名
按照规划维护/etc/hosts文件添加如下信息:

  1. 192.168.10.4 hana01
  2. 192.168.10.5 hana02
  3. 192.168.10.6 hana03

创建文件系统

/hana/shared与/hana/backup文件系统采用NAS;/hana/data和/hana/log文件系统为本地xfs类型文件系统

1./hana/data和/hana/log文件系统:
1).首先检查磁盘
2).创建pv
3).创建hanavg
4).创建datalv和log
5).创建文件系统
6).创建mount点并加入开机自动挂载

  1. fdisk -l
  2. pvcreate /dev/vdb /dev/vdc /dev/vdd
  3. vgcreate hanavg /dev/vdb /dev/vdc /dev/vdd
  4. lvcreate -L 384G -n datalv -i 3 -I 64 hanavg
  5. lvcreate -L 64G -n loglv -i 3 -I 64 hanavg
  6. mkfs.xfs /dev/hanavg/datalv
  7. mkfs.xfs /dev/hanavg/loglv
  8. mkdir -p /hana/data
  9. mkdir -p /hana/log

vi编辑 /etc/fstab文件如下:

  1. /dev/mapper/hanavg-datalv /hana/data xfs nobarrier,noatime,nodiratime,logbsize=256k 0 0
  2. /dev/mapper/hanavg-loglv /hana/log xfs nobarrier,noatime,nodiratime,logbsize=256k 0 0


全部完成后mount -a将所有的文件系统挂载
2.创建SWAP
1).检查SWAP盘
`用lsblk命令查看磁盘,本示例/dev/vde作为单独的swap盘
2).配置SWAP如下:

  1. mkswap /dev/vde
  2. swapon /dev/vde
  3. swapon -s #检查swap大小#

3.Global文件系统
推荐/hana/shared与/hana/backup均采用autofs,所以不需要创建目录
配置autofs如下:
1).编辑auto.master文件
#vim /etc/auto.master
添加/- /etc/auto.nfs

2).创建并编辑/etc/auto.nfs文件如下:

  1. /hana/shared -rw,hard,intr,noresvport,timeo=60,retrans=2 194874b95d-qgi86.cn-beijing.nas.aliyuncs.com:/
  2. /hana/backup -rw,hard,intr,noresvport,timeo=60,retrans=2 1207e4a953-gus54.cn-beijing.nas.aliyuncs.com:/

3).启动autofs服务
#systemctl start autofs
4).添加到开机自启动
#systemctl enable autofs
此时cd到这2个文件系统进行访问即可看到文件系统挂载情况

准备OS以及安装包

如下的配置都需要在群集节点中配置和添加,本例只描述在其中一个节点的操作。

1.安装HA配置以及优化所需的包
安装sap_cluster_connector/saptune包
#zypper install -y saptune
通过如下命令检查是否安装成功:

  1. zypper se saptune

saptune

2.检查ntp服务
#ntpq -p
使用阿里云提供的ECS服务器自动开启NTP服务,如果时区设置不是“Asia/Shanghai”,请参考 修改 ECS Linux 实例时区与设置 NTP 服务 来确保所有的机器开启NTP服务并在相同的时区。

4.安装saptune
saptune是SLES12 SP2之后进化升级版的sapconf工具,用来帮助您调优OS与DB的参数,从而使您的Netweaver或HANA更优化的运行。
使用语法如下:
SAP Note

  1. Tune system according to SAP and SUSE notes:
  2. saptune note [ list | verify ]
  3. saptune note [ apply | simulate | verify | customise | revert ] NoteID

SAP Solution

  1. Tune system for all notes applicable to your SAP solution:
  2. saptune solution [ list | verify ]
  3. saptune solution [ apply | simulate | verify | revert ] SolutionName

由于本例安装HANA所以安装结果如下:
installsummary

激活daemon进程
#saptune daemon start

关于saptune更多信息请参考 Prepare your Linux for your SAP solution with saptune 或SLES官方文档。

安装HANA

1.主节点安装

  1. hana01:/sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64 # ./hdblcm
  2. SAP HANA Lifecycle Management - SAP HANA Database 2.00.020.00.1500920972
  3. ************************************************************************
  4. Scanning software locations...
  5. Detected components:
  6. SAP HANA Database (2.00.020.00.1500920972) in /sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64/server
  7. SAP HANA AFL (incl.PAL,BFL,OFL,HIE) (2.00.020.0000.1500932993) in /sapcd/HANA2.0_SPS02_THIN/HDB_AFL_LINUX_X86_64/packages
  8. SAP HANA EML AFL (2.00.020.0000.1500932993) in /sapcd/HANA2.0_SPS02_THIN/HDB_EML_AFL_10_LINUX_X86_64/packages
  9. SAP HANA Database Client (2.2.23.1499440855) in /sapcd/HANA2.0_SPS02_THIN/HDB_CLIENT_LINUX_X86_64/client
  10. Choose an action
  11. Index | Action | Description
  12. -----------------------------------------------
  13. 1 | install | Install new system
  14. 2 | extract_components | Extract components
  15. 3 | Exit (do nothing) |
  16. Enter selected action index [3]: 1
  17. SAP HANA Database version '2.00.020.00.1500920972' will be installed.
  18. Select additional components for installation:
  19. Index | Components | Description
  20. -------------------------------------------------------------------------------------------------
  21. 1 | all | All components
  22. 2 | server | No additional components
  23. 3 | client | Install SAP HANA Database Client version 2.2.23.1499440855
  24. 4 | afl | Install SAP HANA AFL (incl.PAL,BFL,OFL,HIE) version 2.00.020.0000.1500932993
  25. 5 | eml | Install SAP HANA EML AFL version 2.00.020.0000.1500932993
  26. Enter comma-separated list of the selected indices [3]: 2,3
  27. Enter Installation Path [/hana/shared]: /hana/shared
  28. Enter Local Host Name [hana01]:
  29. Do you want to add hosts to the system? (y/n) [n]:
  30. Enter SAP HANA System ID: BWS
  31. Enter Instance Number [00]: 00
  32. Enter Local Host Worker Group [default]:
  33. Index | System Usage | Description
  34. -------------------------------------------------------------------------------
  35. 1 | production | System is used in a production environment
  36. 2 | test | System is used for testing, not production
  37. 3 | development | System is used for development, not production
  38. 4 | custom | System usage is neither production, test nor development
  39. Select System Usage / Enter Index [4]: 4
  40. Enter Location of Data Volumes [/hana/data/BWS]:
  41. Enter Location of Log Volumes [/hana/log/BWS]:
  42. Restrict maximum memory allocation? [n]:
  43. Enter Certificate Host Name For Host 'hana01' [hana01]:
  44. Enter SAP Host Agent User (sapadm) Password:
  45. Confirm SAP Host Agent User (sapadm) Password:
  46. Enter System Administrator (bwsadm) Password:
  47. Confirm System Administrator (bwsadm) Password:
  48. Enter System Administrator Home Directory [/usr/sap/BWS/home]:
  49. Enter System Administrator Login Shell [/bin/sh]:
  50. Enter System Administrator User ID [1001]: 2000
  51. Enter ID of User Group (sapsys) [79]: 2000
  52. Enter System Database User (SYSTEM) Password:
  53. Confirm System Database User (SYSTEM) Password:
  54. Restart system after machine reboot? [n]:
  55. Summary before execution:
  56. =========================
  57. SAP HANA Database System Installation
  58. Installation Parameters
  59. Remote Execution: ssh
  60. Database Isolation: low
  61. Installation Path: /hana/shared
  62. Local Host Name: hana01
  63. SAP HANA System ID: BWS
  64. Instance Number: 00
  65. Local Host Worker Group: default
  66. System Usage: custom
  67. Location of Data Volumes: /hana/data/BWS
  68. Location of Log Volumes: /hana/log/BWS
  69. Certificate Host Names: hana01 -> hana01
  70. System Administrator Home Directory: /usr/sap/BWS/home
  71. System Administrator Login Shell: /bin/sh
  72. System Administrator User ID: 2000
  73. ID of User Group (sapsys): 2000
  74. SAP HANA Database Client Installation Path: /hana/shared/BWS/hdbclient
  75. Software Components
  76. SAP HANA Database
  77. Install version 2.00.020.00.1500920972
  78. Location: /sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64/server
  79. SAP HANA AFL (incl.PAL,BFL,OFL,HIE)
  80. Do not install
  81. SAP HANA EML AFL
  82. Do not install
  83. SAP HANA Database Client
  84. Install version 2.2.23.1499440855
  85. Location: /sapcd/HANA2.0_SPS02_THIN/HDB_CLIENT_LINUX_X86_64/client
  86. Do you want to continue? (y/n):

修改配置以满足Non-shared架构下的安装需要
vim /hana/shared/[SID]/global/hdb/custom/config/global.ini

添加

  1. basepath_shared=no

hanaprofile

修改内部通讯模式,以root用户执行./hdblcm —action=configure_internal_network选择通讯网段,示例中的是192.168.10/24
hanaprofile

2.worker节点安装(这里只提供一个worker节点安装的示例,其他节点类似)
创建实例路径
mkdir -p /hana/data/[HANA SID]
mkdir -p /hana/log/[HANA SID]
修改目录权限
chmod -R 777 /hana/data/[HANA SID]
chmod -R 777 /hana/log/[HANA SID]

worker节点安装
root用户切换到安装路径cd /hana/shared/[HANA SID]/hdblcm

  1. #cd /hana/shared/BWS/hdblcm
  2. #./hdblcm
  3. SAP HANA Lifecycle Management - SAP HANA Database 2.2.18.0
  4. **********************************************************
  5. Choose an action
  6. Index | Action | Description
  7. -----------------------------------------------------------------------------
  8. 1 | add_hosts | Add Hosts to the SAP HANA Database System
  9. 2 | register_rename_system | Register and Rename SAP HANA Database System
  10. 3 | exit | Exit (do nothing)
  11. Enter selected action index [3]: 1
  12. Enter comma-separated host names to add: hana02
  13. Enter SAP Host Agent User (sapadm) Password:
  14. Select roles for host 'hana02':
  15. Index | Host Role | Description
  16. -------------------------------------------------------------------
  17. 1 | worker | Database Worker
  18. 2 | standby | Database Standby
  19. 3 | extended_storage_worker | Dynamic Tiering Worker
  20. 4 | extended_storage_standby | Dynamic Tiering Standby
  21. 5 | streaming | Streaming Analytics
  22. 6 | rdsync | Remote Data Sync
  23. 7 | ets_worker | Accelerator for SAP ASE Worker
  24. 8 | ets_standby | Accelerator for SAP ASE Standby
  25. 9 | xs_worker | XS Advanced Runtime Worker
  26. 10 | xs_standby | XS Advanced Runtime Standby
  27. Enter comma-separated list of selected indices [1]: 1
  28. Enter Host Failover Group for host 'hana02' [default]:
  29. Enter Storage Partition Number for host 'hana02' [<<assign automatically>>]:
  30. Enter Worker Group for host 'hana02' [default]:
  31. Enter System Administrator (bwsadm) Password:
  32. Enter Certificate Host Name For Host 'hana02' [hana02]:
  33. Summary before execution:
  34. =========================
  35. Add Hosts to SAP HANA Database System
  36. Add Hosts Parameters
  37. Skip all SAP Host Agent calls: No
  38. Remote Execution: ssh
  39. Enable the installation or upgrade of the SAP Host Agent: Yes
  40. Auto Initialize Services: Yes
  41. Do not start added hosts and do not start SAP HANA Database System: No
  42. Certificate Host Names: hana02 -> hana02
  43. Do not Modify '/etc/sudoers' File: No
  44. Additional Hosts
  45. hana02
  46. Role: Database Worker (worker)
  47. High-Availability Group: default
  48. Worker Group: default
  49. Storage Partition: <<assign automatically>>
  50. Do you want to continue? (y/n): y

3.修改参数,让HANA开机自启动
用root用户登录HANA主机,修改所有HANA实例参数
vim /hana/shared/[SID]/profile/[SID]_HDB[instance number]_[host name]
将Autostart = 0 修改成 Autostart = 1,保存参数并重启HANA实例
本示例共涉及三个HANA实例
autostart

按本示例规划再安装一个worker节点,步骤同上

验证群集安装

1.切换到实例用户su -[sid]adm
2.验证群集
cd /hana/shared/[SID]/exe/linuxx86_64/hdb/python_support/
watch python landscapeHostConfiguration.py
landscapehost