Skip to main content
NetApp virtualization solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用 ONTAP 为 OpenNebula 配置 NFS 存储

贡献者 sureshthoppay

使用 NetApp ONTAP 为 OpenNebula 配置 NFS 存储。在使用 FlexGroup 卷时,使用 nConnect 或带有 pNFS(v4.1 或更高版本)的会话分组,以实现高效的资源管理、容错和性能提升。单个 NFS 导出可用于 OpenNebula 集群的 Image 和 System 数据存储。计划使用 FlexCache 时,请仅为 Image 数据存储专用 nfs 导出。

考虑高可用性和灾难恢复方案的 MetroCluster 配置。

如果您是ONTAP新手,请使用系统管理器界面完成这些任务。

存储管理员任务

完成这些任务,在 ONTAP 上配置 NFS 存储以便与 OpenNebula 配合使用。

  1. 为 NFS 启用 SVM。请参阅 "ONTAP 9 文档"

  2. 每个控制器至少创建两个 LIF。请按照文档中的步骤操作。作为参考,这里是实验室中使用的 LIF 的屏幕截图。

    显示示例

    nas接口详情

  3. 创建或更新 NFS 导出策略以提供对 OpenNebula 主机 IP 地址或子网的访问。请参阅 "出口政策制定""向导出策略添加规则"

  4. "创建卷"。对于大容量需求(>100TB),请选中在集群中分发数据以使用 FlexGroup 的选项。如果使用 FlexGroup,请考虑在 SVM 上启用 pNFS,以便通过以下方式获得更好的性能 "在 SVM 上启用 pNFS"。使用 pNFS 时,确保 OpenNebula 主机可以访问所有控制器(数据 LIF)的数据。确保已在卷上启用反勒索软件保护。

    显示示例

    FlexGroup选项

  5. 通知虚拟化管理员 NFS 卷已就绪,并提供 NFS 导出路径详细信息。

虚拟化管理员任务

完成这些任务以将 NFS 卷添加为 OpenNebula 中的数据存储区,并配置 nConnect 或会话中继以提高性能。

  1. 为了实现容错,请确保至少有两个接口配置在不同的 VLAN 中。使用网卡绑定。

  2. SSH 到前端服务器之一,并根据所需的 Datastore 类型创建配置文件。示例文件如下所示:

    备份
    1. 对于 Restic,

    $cat nfs-restic.conf
    NAME = "Backup-Restic-NFS"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "restic"
    TM_MAD = "-"
    
    RESTIC_PASSWORD = "<restic_password>"
    RESTIC_SFTP_SERVER = "<backup server>"
    1. 对于 Rsync,

    $cat nfs-rsync.conf
    NAME = "Backup-Rsync-NFS"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "rsync"
    TM_MAD = "-"
    
    RSYNC_USER = "<rsync_user>"
    RSYNC_HOST = "<backup server>"
    文件
    $cat nfs-kernel.conf
    NAME = "File-Kernel-NFS"
    TYPE = "FILE_DS"
    DS_MAD = "fs"
    TM_MAD = "local"
    SAFE_DIRS = "/var/tmp/files"
    映像
    $cat nfs-image.conf
    NAME = "Image-NFS"
    TYPE = "IMAGE_DS"
    DS_MAD = "fs"
    TM_MAD = "shared"
    系统
    $cat nfs-system.conf
    NAME = "System-NFS"
    TYPE = "SYSTEM_DS"
    TM_MAD = "shared"
  3. 执行 onedatastore create <configuration file>。请注意创建后返回的数据存储 ID。

    onedatastore create nfs-system.conf ID: 101

  4. 使用 id oneadmin 命令收集 oneadmin 用户的 uid 和 gid。

  5. 更新 /etc/fstab 或 automount 配置,以使用所需的挂载选项挂载数据存储库。假设默认数据存储库位置为 /var/lib/one/datastores。可通过 onedatastore show <datastore_id> 进行验证。如果没有,请检查 /etc/one/oned.conf 中的 DATASTORE_LOCATION 参数。确保 <datastore_id> 文件夹存在于数据存储库位置下。示例条目如下所示:

    使用 /etc/fstab
    # To use session trunking, use the option trunkdiscovery
    //<nfs_server>/<nfs_share> /var/lib/one/datastores/<datastore_id> nfs nconnect=8,max_channels=16,_netdev,noauto,x-systemd.automount,nofail,uid=<oneadmin uid>,gid=<oneadmin gid> 0 0
    使用 automount
    # To use session trunking, use the option trunkdiscovery
    /var/lib/one/datastores/<datastore_id> -fstype=nfs,nconnect=8,max_channels=16,_netdev,noauto,x-systemd.automount,nofail,uid=<oneadmin uid>,gid=<oneadmin gid> <nfs_server>:/<nfs_share>
  6. 使用 mount -asystemctl reload autofs 命令挂载数据存储库。

  7. 使用 mount 命令验证数据存储库是否已装载,并使用 `onedatastore show <datastore_id>`命令验证数据存储库容量。

  8. 确保 oneadmin 用户和组拥有数据存储文件夹。使用 `chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>`命令调整权限。

  9. 要验证 nConnect 选项是否已设置,请在任何 OpenNebula 主机上运行 ss -an | grep :2049 并检查到 NFS 服务器 IP 的多个连接。要验证 pNFS 是否已启用,请运行 nfsstat -c 并检查与布局相关的指标。根据数据流量,应该可以看到与数据 LIF 的多个连接。

备注 在会话中继中,nconnect 选项仅在一个中继接口上设置。对于 pNFS,nconnect 选项设置在元数据和数据接口上。对于生产环境,请使用 nConnect 或会话中继,不要同时使用两者。