View a markdown version of this page

配置 SAP HANA 文件系统 - SAP HANA 开启 AWS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 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. 查看或分配标签(可选)

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

    示例

    $ 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 之前重启操作系统,以确保文件系统的持久性。