你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 SAP NetWeaver 的 Red Hat Enterprise Linux 上的 Azure VM 上的 GlusterFS
本文介绍了如何部署虚拟机、配置虚拟机以及安装可用于存储高可用性 SAP 系统的共享数据的 GlusterFS 群集。 本指南介绍了如何设置供两个 SAP 系统(NW1 和 NW2)使用的 GlusterFS。 示例中的资源名称(例如虚拟机、虚拟网络)假设你将 SAP 文件服务器模板与资源前缀 glust 配合使用。
请注意,如 Red Hat Gluster 存储生命周期中所述,Red Hat Gluster 存储将于 2024 年底结束生命周期。 在 Azure 上的 SAP 中,该配置将一直受支持,直到它达到生命周期结束阶段。 新部署中不应使用 GlusterFS。 建议将 SAP 共享目录部署在 Azure 文件存储或 Azure NetApp 文件卷上的 NFS 中,如使用 Azure 文件存储中的 NFS 时 RHEL 上的 SAP NW 的高可用性或使用 Azure NetApp 文件时 RHEL 上的 SAP NW 的高可用性中所述。
请先阅读以下 SAP 说明和文档
SAP 说明 1928533,其中包含:
- SAP 软件部署支持的 Azure VM 大小的列表
- Azure VM 大小的重要容量信息
- 支持的 SAP 软件、操作系统 (OS) 和数据库组合
- Microsoft Azure 上 Windows 和 Linux 所需的 SAP 内核版本
SAP 说明 2015553 列出了在 Azure 中 SAP 支持的 SAP 软件部署的先决条件。
SAP 说明 2002167 包含适用于 Red Hat Enterprise Linux 的建议 OS 设置
SAP 说明 2009879 包含适用于 Red Hat Enterprise Linux 的 SAP HANA 准则
SAP 说明 2178632 包含为 Azure 中的 SAP 报告的所有监控指标的详细信息。
SAP 说明 2191498 包含 Azure 中的 Linux 所需的 SAP 主机代理版本。
SAP 说明 2243692 包含 Azure 中的 Linux 上的 SAP 许可的相关信息。
SAP 说明 1999351 包含适用于 SAP 的 Azure 增强型监视扩展的其他故障排除信息。
SAP Community WIKI 包含适用于 Linux 的所有必需 SAP 说明。
Product Documentation for Red Hat Gluster Storage(Red Hat Gluster Storage 产品文档)
通用 RHEL 文档
Azure 特定的 RHEL 文档:
- Support Policies for RHEL High Availability Clusters - Microsoft Azure Virtual Machines as Cluster Members(RHEL 高可用性群集的支持策略 - Microsoft Azure 虚拟机作为群集成员)
- Installing and Configuring a Red Hat Enterprise Linux 7.4 (and later) High-Availability Cluster on Microsoft Azure(在 Microsoft Azure 上安装和配置 Red Hat Enterprise Linux 7.4 [及更高版本] 高可用性群集)
概述
若要实现高可用性,SAP NetWeaver 需要共享存储。 GlusterFS 配置在一个单独的群集中,可由多个 SAP 系统使用。
设置 GlusterFS
在此示例中,资源是通过 Azure 门户手动部署的。
通过 Azure 门户手动部署 Linux
本文档假定你已部署 Azure 虚拟网络资源组和子网。
为 GlusterFS 部署虚拟机。 选择 Gluster 存储支持的一个合适 RHEL 映像。 可以在任何一个可用性选项(规模集、可用性区域或可用性集)中部署 VM。
配置 GlusterFS
以下各项带有前缀 [A] - 适用于所有节点、[1] - 仅适用于节点 1、[2] - 仅适用于节点 2、[3] - 仅适用于节点 3。
[A] 设置主机名称解析
可以使用 DNS 服务器,或修改所有节点上的 /etc/hosts。 此示例演示如何使用 /etc/hosts 文件。 请替换以下命令中的 IP 地址和主机名
sudo vi /etc/hosts
将以下行插入 /etc/hosts。 根据环境更改 IP 地址和主机名
# IP addresses of the Gluster nodes 10.0.0.40 glust-0 10.0.0.41 glust-1 10.0.0.42 glust-2
[A] 注册
注册虚拟机,将其附加到包含适用于 RHEL 7 和 GlusterFS 的存储库的池
sudo subscription-manager register sudo subscription-manager attach --pool=<pool id>
[A] 启用 GlusterFS 存储库
为了安装所需的包,启用以下存储库。
sudo subscription-manager repos --disable "*" sudo subscription-manager repos --enable=rhel-7-server-rpms sudo subscription-manager repos --enable=rh-gluster-3-for-rhel-7-server-rpms
[A] 安装 GlusterFS 包
在所有 GlusterFS 节点上安装这些包
sudo yum -y install redhat-storage-server
安装后重新启动节点。
[A] 修改防火墙
添加防火墙规则以允许客户端流量流到 GlusterFS 节点。
# list the available zones firewall-cmd --get-active-zones sudo firewall-cmd --zone=public --add-service=glusterfs --permanent sudo firewall-cmd --zone=public --add-service=glusterfs
[A] 启用并启动 GlusterFS 服务
启动所有节点上的 GlusterFS 服务。
sudo systemctl start glusterd sudo systemctl enable glusterd
[1] 创建 GluserFS
运行以下命令创建 GlusterFS 群集
sudo gluster peer probe glust-1 sudo gluster peer probe glust-2 # Check gluster peer status sudo gluster peer status # Number of Peers: 2 # # Hostname: glust-1 # Uuid: 10d43840-fee4-4120-bf5a-de9c393964cd # State: Accepted peer request (Connected) # # Hostname: glust-2 # Uuid: 9e340385-12fe-495e-ab0f-4f851b588cba # State: Accepted peer request (Connected)
[2] 测试对等状态
测试第二个节点上的对等状态
sudo gluster peer status # Number of Peers: 2 # # Hostname: glust-0 # Uuid: 6bc6927b-7ee2-461b-ad04-da123124d6bd # State: Peer in Cluster (Connected) # # Hostname: glust-2 # Uuid: 9e340385-12fe-495e-ab0f-4f851b588cba # State: Peer in Cluster (Connected)
[3] 测试对等状态
测试第三个节点上的对等状态
sudo gluster peer status # Number of Peers: 2 # # Hostname: glust-0 # Uuid: 6bc6927b-7ee2-461b-ad04-da123124d6bd # State: Peer in Cluster (Connected) # # Hostname: glust-1 # Uuid: 10d43840-fee4-4120-bf5a-de9c393964cd # State: Peer in Cluster (Connected)
[A] 创建 LVM
在本示例中,GlusterFS 用于两个 SAP 系统(NW1 和 NW2)。 使用以下命令为这些 SAP 系统创建 LVM 配置。
对 NW1 使用这些命令
sudo pvcreate --dataalignment 1024K /dev/disk/azure/scsi1/lun0 sudo pvscan sudo vgcreate --physicalextentsize 256K rhgs-NW1 /dev/disk/azure/scsi1/lun0 sudo vgscan sudo lvcreate -l 50%FREE -n rhgs-NW1/sapmnt sudo lvcreate -l 20%FREE -n rhgs-NW1/trans sudo lvcreate -l 10%FREE -n rhgs-NW1/sys sudo lvcreate -l 50%FREE -n rhgs-NW1/ascs sudo lvcreate -l 100%FREE -n rhgs-NW1/aers sudo lvscan sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW1/sapmnt sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW1/trans sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW1/sys sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW1/ascs sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW1/aers sudo mkdir -p /rhs/NW1/sapmnt sudo mkdir -p /rhs/NW1/trans sudo mkdir -p /rhs/NW1/sys sudo mkdir -p /rhs/NW1/ascs sudo mkdir -p /rhs/NW1/aers sudo chattr +i /rhs/NW1/sapmnt sudo chattr +i /rhs/NW1/trans sudo chattr +i /rhs/NW1/sys sudo chattr +i /rhs/NW1/ascs sudo chattr +i /rhs/NW1/aers echo -e "/dev/rhgs-NW1/sapmnt\t/rhs/NW1/sapmnt\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW1/trans\t/rhs/NW1/trans\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW1/sys\t/rhs/NW1/sys\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW1/ascs\t/rhs/NW1/ascs\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW1/aers\t/rhs/NW1/aers\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab sudo mount -a
对 NW2 使用这些命令
sudo pvcreate --dataalignment 1024K /dev/disk/azure/scsi1/lun1 sudo pvscan sudo vgcreate --physicalextentsize 256K rhgs-NW2 /dev/disk/azure/scsi1/lun1 sudo vgscan sudo lvcreate -l 50%FREE -n rhgs-NW2/sapmnt sudo lvcreate -l 20%FREE -n rhgs-NW2/trans sudo lvcreate -l 10%FREE -n rhgs-NW2/sys sudo lvcreate -l 50%FREE -n rhgs-NW2/ascs sudo lvcreate -l 100%FREE -n rhgs-NW2/aers sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW2/sapmnt sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW2/trans sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW2/sys sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW2/ascs sudo mkfs.xfs -f -K -i size=512 -n size=8192 /dev/rhgs-NW2/aers sudo mkdir -p /rhs/NW2/sapmnt sudo mkdir -p /rhs/NW2/trans sudo mkdir -p /rhs/NW2/sys sudo mkdir -p /rhs/NW2/ascs sudo mkdir -p /rhs/NW2/aers sudo chattr +i /rhs/NW2/sapmnt sudo chattr +i /rhs/NW2/trans sudo chattr +i /rhs/NW2/sys sudo chattr +i /rhs/NW2/ascs sudo chattr +i /rhs/NW2/aers sudo lvscan echo -e "/dev/rhgs-NW2/sapmnt\t/rhs/NW2/sapmnt\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW2/trans\t/rhs/NW2/trans\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW2/sys\t/rhs/NW2/sys\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW2/ascs\t/rhs/NW2/ascs\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab echo -e "/dev/rhgs-NW2/aers\t/rhs/NW2/aers\txfs\tdefaults,inode64,nobarrier,noatime,nouuid 0 2" | sudo tee -a /etc/fstab sudo mount -a
[1] 创建分布式卷
使用以下命令为 NW1 创建 GlusterFS 卷并启动它。
sudo gluster vol create NW1-sapmnt replica 3 glust-0:/rhs/NW1/sapmnt glust-1:/rhs/NW1/sapmnt glust-2:/rhs/NW1/sapmnt force sudo gluster vol create NW1-trans replica 3 glust-0:/rhs/NW1/trans glust-1:/rhs/NW1/trans glust-2:/rhs/NW1/trans force sudo gluster vol create NW1-sys replica 3 glust-0:/rhs/NW1/sys glust-1:/rhs/NW1/sys glust-2:/rhs/NW1/sys force sudo gluster vol create NW1-ascs replica 3 glust-0:/rhs/NW1/ascs glust-1:/rhs/NW1/ascs glust-2:/rhs/NW1/ascs force sudo gluster vol create NW1-aers replica 3 glust-0:/rhs/NW1/aers glust-1:/rhs/NW1/aers glust-2:/rhs/NW1/aers force sudo gluster volume start NW1-sapmnt sudo gluster volume start NW1-trans sudo gluster volume start NW1-sys sudo gluster volume start NW1-ascs sudo gluster volume start NW1-aers
使用以下命令为 NW2 创建 GlusterFS 卷并启动它。
sudo gluster vol create NW2-sapmnt replica 3 glust-0:/rhs/NW2/sapmnt glust-1:/rhs/NW2/sapmnt glust-2:/rhs/NW2/sapmnt force sudo gluster vol create NW2-trans replica 3 glust-0:/rhs/NW2/trans glust-1:/rhs/NW2/trans glust-2:/rhs/NW2/trans force sudo gluster vol create NW2-sys replica 3 glust-0:/rhs/NW2/sys glust-1:/rhs/NW2/sys glust-2:/rhs/NW2/sys force sudo gluster vol create NW2-ascs replica 3 glust-0:/rhs/NW2/ascs glust-1:/rhs/NW2/ascs glust-2:/rhs/NW2/ascs force sudo gluster vol create NW2-aers replica 3 glust-0:/rhs/NW2/aers glust-1:/rhs/NW2/aers glust-2:/rhs/NW2/aers force sudo gluster volume start NW2-sapmnt sudo gluster volume start NW2-trans sudo gluster volume start NW2-sys sudo gluster volume start NW2-ascs sudo gluster volume start NW2-aers
后续步骤
- 安装 SAP ASCS 和数据库
- 适用于 SAP 的 Azure 虚拟机规划和实施
- 适用于 SAP 的 Azure 虚拟机部署
- 适用于 SAP 的 Azure 虚拟机 DBMS 部署
- 若要了解如何建立高可用性以及针对 Azure 上的 SAP HANA(大型实例)规划灾难恢复,请参阅 Azure 上的 SAP HANA(大型实例)的高可用性和灾难恢复。
- 若要了解如何在 Azure VM 上建立 SAP HANA 高可用性以及规划灾难恢复,请参阅 Azure 虚拟机 (VM) 上的 SAP HANA 高可用性