配置 SAP HANA 文件系统 - SAP HANA on Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置 SAP HANA 文件系统

概览

本指南介绍如何在 Amazon EC2 上为 SAP HANA 配置 Amazon EBS 存储。其中涵盖了卷标识、文件系统创建和 LVM 配置(如有必要)等信息。

注意

本指南使用 NVMe 设备名称(例如 /dev/nvme1n1),这些名称是基于 Nitro 的实例的标准名称。在非 Nitro 实例上,设备将使用其他命名方式(例如 /dev/sdb)。请根据您的设备名称调整命令。

在开始配置之前,请确认您满足以下要求:

  • 附有相应 EBS 卷的 EC2 实例

  • 对实例的根或管理访问权限

标识卷

标识块设备、其大小和相关的卷 ID,以便将其分配给相应的文件系统。

  1. 运行 lsblk 查看关联

    以根用户身份在主机上运行以下命令:

    # lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,PATH,SERIAL | sed 's/vol0/vol-0/g'

    示例

    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS FSTYPE LABEL PATH SERIAL nvme1n1 259:0 0 2.2T 0 disk /dev/nvme1n1 vol-0abc123def456789a nvme0n1 259:1 0 50G 0 disk /dev/nvme0n1 vol-0xyz987uvw654321b ├─nvme0n1p1 259:5 0 2M 0 part /dev/nvme0n1p1 ├─nvme0n1p2 259:6 0 20M 0 part /boot/efi vfat EFI /dev/nvme0n1p2 └─nvme0n1p3 259:7 0 50G 0 part / xfs ROOT /dev/nvme0n1p3 nvme4n1 259:2 0 1T 0 disk /dev/nvme4n1 vol-0pqr456mno789123c nvme2n1 259:3 0 2.2T 0 disk /dev/nvme2n1 vol-0jkl789ghi123456d nvme3n1 259:4 0 500G 0 disk /dev/nvme3n1 vol-0def456abc789123e
  2. 记录卷关联

    以结构化格式记录卷要求和分配。此表将有助于确保设置卷的命令正确。

    用途

    卷大小

    卷计数

    需要条带化

    设备

    HANA 数据

    HANA 日志

    HANA 共享

    其他

  3. 查看或分配标签(可选)

    标签有助于标识 Amazon 控制台和 API 命令中的卷,这在维护、卷扩展或备份/恢复操作期间特别有用。使用以下命令或 Amazon 控制台查看现有标签或添加新标签。

    示例

    $ aws ec2 create-tags --resources vol-0abc123def456789a --tags Key=Name,Value="PRD - Hana Data Volume 1 of 2"

    对所有卷重复此操作。

创建文件系统

根据是否已将条带化确定为一项要求来创建文件系统

  1. 配置单个卷

    当使用单个卷(包括用于增长的容量)可以满足性能要求时,可直接在设备上创建 XFS 文件系统。

    示例

    # Create XFS filesystem with label for HANA Shared mkfs.xfs -f /dev/nvme4n1 -L HANA_SHARED # Create XFS filesystem with label for HANA Log mkfs.xfs -f /dev/nvme3n1 -L HANA_LOG
    提示

    标签可在实例重启期间提供一致的设备标识。您可以使用 xfs_admin -L LABEL_NAME /dev/device_name 在现有 XFS 文件系统上添加或更改标签。始终通过引用 /dev/disk/by-label/LABEL_NAME 在 /etc/fstab 中使用标签。

  2. 配置条带化卷

    逻辑卷管理(LVM)分三层管理存储:物理卷(使用 pvcreate 创建)是实际磁盘,卷组(使用 vgcreate 创建)将这些磁盘组合成存储池,逻辑卷(使用 lvcreate 创建)是虚拟分区,可以跨多个磁盘以实现条带化等功能。

    示例

    # Create physical volumes pvcreate /dev/nvme1n1 /dev/nvme2n1 # Create volume group vgcreate vg_hana_data /dev/nvme1n1 /dev/nvme2n1 # Create striped logical volume lvcreate -i 2 -I 256 -l 100%VG -n lv_hana_data vg_hana_data # Create XFS filesystem with label for HANA data mkfs.xfs -L HANA_DATA /dev/vg_hana_data/lv_hana_data
    重要
    • 对数据卷使用 256 KB 的条带大小(-I 256

    • 对日志卷使用 64 KB 的条带大小(-I 64

    • -i 参数应与物理卷的数量相匹配。在示例中,我们有 2 个卷。

创建挂载点

  1. 创建文件系统并修改权限

    # mkdir -p /hana/data /hana/log /hana/shared # chown <sid>adm:sapsys /hana/data /hana/log /hana/shared # chmod 750 /hana/data /hana/log /hana/shared
  2. 配置 fstab

    fstab 文件控制 Linux 文件系统分区、远程文件系统以及块设备如何挂载到文件系统中。

    将以下条目添加到 /etc/fstab

    示例

    # SAP HANA Storage Configuration /dev/disk/by-label/HANA_DATA /hana/data xfs noatime,nodiratime,logbsize=256k 0 0 /dev/disk/by-label/HANA_LOG /hana/log xfs noatime,nodiratime,logbsize=256k 0 0 /dev/disk/by-label/HANA_SHARED /hana/shared xfs noatime,nodiratime,logbsize=256k 0 0

挂载并验证

  1. 挂载所有文件系统

    # mount -a
  2. 验证最终配置

    # lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,PATH,SERIAL | sed 's/vol0/vol-0/g'

    示例

    NAME SIZE TYPE FSTYPE LABEL PATH SERIAL nvme0n1 50G disk /dev/nvme0n1 vol-0xyz987uvw654321b ├─nvme0n1p1 2M part /dev/nvme0n1p1 ├─nvme0n1p2 20M part vfat EFI /dev/nvme0n1p2 └─nvme0n1p3 50G part xfs ROOT /dev/nvme0n1p3 nvme1n1 2.2T disk LVM2_member /dev/nvme1n1 vol-0abc123def456789a └─vg_hana_data-lv_hana_data 4.5T lvm xfs HANA_DATA /dev/mapper/vg_hana_data-lv_hana_data nvme2n1 2.2T disk LVM2_member /dev/nvme2n1 vol-0jkl789ghi123456d └─vg_hana_data-lv_hana_data 4.5T lvm xfs HANA_DATA /dev/mapper/vg_hana_data-lv_hana_data nvme3n1 500G disk xfs HANA_LOG /dev/nvme3n1 vol-0def456abc789123e nvme4n1 1T disk xfs HANA_SHARED /dev/nvme4n1 vol-0pqr456mno789123c
  3. 重启系统

    重启之前,请使用 mountdf -h 验证所有挂载点是否正确,因为 /etc/fstab 条目不正确可能导致系统无法成功启动。确认后,在安装 HANA 之前重启操作系统,以确保文件系统的持久性。