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节点。
架构总览
资源规划
网络规划
用途 | 位置 | 分配网段 | 交换机 | 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如下:
按照规划创建业务网段:
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的访问 |
按照前面的规划,创建或修改磁盘的数据和大小,关于云盘的相关产品文档和性能请参见 块存储性能。
推荐系统盘使用高效云盘,数据盘使用SSD云盘,单独创建SSD云盘作为SWAP盘:
选择带宽和镜像
从镜像市场选择需要的镜像版本
根据规划和需求选择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文件系统:
添加挂载点,选择刚才创建的VPC、交换机和权限组:
2.记录NAS地址
根据规划为/hana/shared 和/hana/backup创建2个NAS文件系统,示例如图:
本示例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文件添加如下信息:
192.168.10.4 hana01
192.168.10.5 hana02
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点并加入开机自动挂载
fdisk -l
pvcreate /dev/vdb /dev/vdc /dev/vdd
vgcreate hanavg /dev/vdb /dev/vdc /dev/vdd
lvcreate -L 384G -n datalv -i 3 -I 64 hanavg
lvcreate -L 64G -n loglv -i 3 -I 64 hanavg
mkfs.xfs /dev/hanavg/datalv
mkfs.xfs /dev/hanavg/loglv
mkdir -p /hana/data
mkdir -p /hana/log
vi编辑 /etc/fstab文件如下:
/dev/mapper/hanavg-datalv /hana/data xfs nobarrier,noatime,nodiratime,logbsize=256k 0 0
/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如下:
mkswap /dev/vde
swapon /dev/vde
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文件如下:
/hana/shared -rw,hard,intr,noresvport,timeo=60,retrans=2 194874b95d-qgi86.cn-beijing.nas.aliyuncs.com:/
/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
通过如下命令检查是否安装成功:
zypper se 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
Tune system according to SAP and SUSE notes:
saptune note [ list | verify ]
saptune note [ apply | simulate | verify | customise | revert ] NoteID
SAP Solution
Tune system for all notes applicable to your SAP solution:
saptune solution [ list | verify ]
saptune solution [ apply | simulate | verify | revert ] SolutionName
由于本例安装HANA所以安装结果如下:
激活daemon进程#saptune daemon start
关于saptune更多信息请参考 Prepare your Linux for your SAP solution with saptune 或SLES官方文档。
安装HANA
1.主节点安装
hana01:/sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64 # ./hdblcm
SAP HANA Lifecycle Management - SAP HANA Database 2.00.020.00.1500920972
************************************************************************
Scanning software locations...
Detected components:
SAP HANA Database (2.00.020.00.1500920972) in /sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64/server
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
SAP HANA EML AFL (2.00.020.0000.1500932993) in /sapcd/HANA2.0_SPS02_THIN/HDB_EML_AFL_10_LINUX_X86_64/packages
SAP HANA Database Client (2.2.23.1499440855) in /sapcd/HANA2.0_SPS02_THIN/HDB_CLIENT_LINUX_X86_64/client
Choose an action
Index | Action | Description
-----------------------------------------------
1 | install | Install new system
2 | extract_components | Extract components
3 | Exit (do nothing) |
Enter selected action index [3]: 1
SAP HANA Database version '2.00.020.00.1500920972' will be installed.
Select additional components for installation:
Index | Components | Description
-------------------------------------------------------------------------------------------------
1 | all | All components
2 | server | No additional components
3 | client | Install SAP HANA Database Client version 2.2.23.1499440855
4 | afl | Install SAP HANA AFL (incl.PAL,BFL,OFL,HIE) version 2.00.020.0000.1500932993
5 | eml | Install SAP HANA EML AFL version 2.00.020.0000.1500932993
Enter comma-separated list of the selected indices [3]: 2,3
Enter Installation Path [/hana/shared]: /hana/shared
Enter Local Host Name [hana01]:
Do you want to add hosts to the system? (y/n) [n]:
Enter SAP HANA System ID: BWS
Enter Instance Number [00]: 00
Enter Local Host Worker Group [default]:
Index | System Usage | Description
-------------------------------------------------------------------------------
1 | production | System is used in a production environment
2 | test | System is used for testing, not production
3 | development | System is used for development, not production
4 | custom | System usage is neither production, test nor development
Select System Usage / Enter Index [4]: 4
Enter Location of Data Volumes [/hana/data/BWS]:
Enter Location of Log Volumes [/hana/log/BWS]:
Restrict maximum memory allocation? [n]:
Enter Certificate Host Name For Host 'hana01' [hana01]:
Enter SAP Host Agent User (sapadm) Password:
Confirm SAP Host Agent User (sapadm) Password:
Enter System Administrator (bwsadm) Password:
Confirm System Administrator (bwsadm) Password:
Enter System Administrator Home Directory [/usr/sap/BWS/home]:
Enter System Administrator Login Shell [/bin/sh]:
Enter System Administrator User ID [1001]: 2000
Enter ID of User Group (sapsys) [79]: 2000
Enter System Database User (SYSTEM) Password:
Confirm System Database User (SYSTEM) Password:
Restart system after machine reboot? [n]:
Summary before execution:
=========================
SAP HANA Database System Installation
Installation Parameters
Remote Execution: ssh
Database Isolation: low
Installation Path: /hana/shared
Local Host Name: hana01
SAP HANA System ID: BWS
Instance Number: 00
Local Host Worker Group: default
System Usage: custom
Location of Data Volumes: /hana/data/BWS
Location of Log Volumes: /hana/log/BWS
Certificate Host Names: hana01 -> hana01
System Administrator Home Directory: /usr/sap/BWS/home
System Administrator Login Shell: /bin/sh
System Administrator User ID: 2000
ID of User Group (sapsys): 2000
SAP HANA Database Client Installation Path: /hana/shared/BWS/hdbclient
Software Components
SAP HANA Database
Install version 2.00.020.00.1500920972
Location: /sapcd/HANA2.0_SPS02_THIN/HDB_SERVER_LINUX_X86_64/server
SAP HANA AFL (incl.PAL,BFL,OFL,HIE)
Do not install
SAP HANA EML AFL
Do not install
SAP HANA Database Client
Install version 2.2.23.1499440855
Location: /sapcd/HANA2.0_SPS02_THIN/HDB_CLIENT_LINUX_X86_64/client
Do you want to continue? (y/n):
修改配置以满足Non-shared架构下的安装需要
vim /hana/shared/[SID]
/global/hdb/custom/config/global.ini
添加
basepath_shared=no
修改内部通讯模式,以root用户执行./hdblcm —action=configure_internal_network选择通讯网段,示例中的是192.168.10/24
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
#cd /hana/shared/BWS/hdblcm
#./hdblcm
SAP HANA Lifecycle Management - SAP HANA Database 2.2.18.0
**********************************************************
Choose an action
Index | Action | Description
-----------------------------------------------------------------------------
1 | add_hosts | Add Hosts to the SAP HANA Database System
2 | register_rename_system | Register and Rename SAP HANA Database System
3 | exit | Exit (do nothing)
Enter selected action index [3]: 1
Enter comma-separated host names to add: hana02
Enter SAP Host Agent User (sapadm) Password:
Select roles for host 'hana02':
Index | Host Role | Description
-------------------------------------------------------------------
1 | worker | Database Worker
2 | standby | Database Standby
3 | extended_storage_worker | Dynamic Tiering Worker
4 | extended_storage_standby | Dynamic Tiering Standby
5 | streaming | Streaming Analytics
6 | rdsync | Remote Data Sync
7 | ets_worker | Accelerator for SAP ASE Worker
8 | ets_standby | Accelerator for SAP ASE Standby
9 | xs_worker | XS Advanced Runtime Worker
10 | xs_standby | XS Advanced Runtime Standby
Enter comma-separated list of selected indices [1]: 1
Enter Host Failover Group for host 'hana02' [default]:
Enter Storage Partition Number for host 'hana02' [<<assign automatically>>]:
Enter Worker Group for host 'hana02' [default]:
Enter System Administrator (bwsadm) Password:
Enter Certificate Host Name For Host 'hana02' [hana02]:
Summary before execution:
=========================
Add Hosts to SAP HANA Database System
Add Hosts Parameters
Skip all SAP Host Agent calls: No
Remote Execution: ssh
Enable the installation or upgrade of the SAP Host Agent: Yes
Auto Initialize Services: Yes
Do not start added hosts and do not start SAP HANA Database System: No
Certificate Host Names: hana02 -> hana02
Do not Modify '/etc/sudoers' File: No
Additional Hosts
hana02
Role: Database Worker (worker)
High-Availability Group: default
Worker Group: default
Storage Partition: <<assign automatically>>
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实例
按本示例规划再安装一个worker节点,步骤同上
验证群集安装
1.切换到实例用户su –[sid]
adm
2.验证群集
cd /hana/shared/[SID]
/exe/linuxx86_64/hdb/python_support/
watch python landscapeHostConfiguration.py