2.5. 部署更新的环境


当您准备好部署环境时,请使用 openstack overcloud deploy 命令以及使用 NFS-Ganesha 运行 CephFS 所需的自定义虚拟环境和角色。

overcloud 部署命令除其它所需选项外,还具有以下选项:

Expand
操作选项附加信息

使用 network_data_ganesha.yaml 添加额外的 StorageNFS 网络。

-n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml

The StorageNFS and network_data_ganesha.yaml file.如果您不想将 NFS 流量隔离到单独的网络,可以省略这个选项。如需更多信息,请参阅生成自定义角色文件

添加上一节中的 roles_data.yaml 文件中定义的自定义角色。

-r /home/stack/roles_data.yaml

如果您不想将 NFS 流量隔离到单独的网络,可以省略这个选项。如需更多信息,请参阅生成自定义角色文件

使用 ceph-ansible.yaml 部署 Ceph 守护进程

-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml

Deploying an Overcloud with Containerized Red Hat Ceph 指南中的 Initiating Overcloud Deployment

使用 ceph-mds.yaml部署 Ceph 元数据服务器

-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml

Deploying an Overcloud with Containerized Red Hat Ceph 指南中的 Initiating Overcloud Deployment

通过 NFS 后端使用 CephFS 部署共享文件系统服务(manila)服务。使用 director 配置 NFS-Ganesha。

-e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml

manila-cephfsganesha-config.yaml 环境文件

下例演示了一个 openstack overcloud deploy 命令,带有选项通过 NFS-Ganesha、Ceph 集群、Ceph MDS 和隔离的 StorageNFS 网络部署 CephFS:

[stack@undercloud ~]$ openstack overcloud deploy \
--templates /usr/share/openstack-tripleo-heat-templates  \
-n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml \
-r /home/stack/roles_data.yaml \
-e /home/stack/containers-default-parameters.yaml   \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml   \
-e /home/stack/network-environment.yaml  \
-e/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml  \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml  \
-e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml

有关 openstack overcloud deploy 命令的更多信息,请参阅 Director 安装和使用 指南中的 部署命令

2.5.1. StorageNFS 和 network_data_ganesha.yaml 文件

使用可组合网络定义自定义网络并将其分配到任何角色。您可以使用 network_data_ganesha.yaml 文件配置 StorageNFS 可组合网络,而不使用标准 network_data.yaml 文件。这两个角色都位于 /usr/share/openstack-tripleo-heat-templates 目录中。

重要
如果您没有定义 Storage NFS 网络,director 默认为外部网络。虽然外部网络在测试和原型环境中很有用,但外部网络上的安全性不足以用于生产环境。例如,如果您在外部网络上公开 NFS 服务,拒绝服务(DoS)攻击可能会破坏所有云用户的控制器 API 访问,而不只是 NFS 共享的用户。相反,当您在专用存储 NFS 网络上部署 NFS 服务时,潜在的 DoS 攻击只能针对云中的 NFS 共享。除潜在的安全风险外,当您在外部网络上部署 NFS 服务时,需要进行额外的路由配置来精确进行共享。但是,在 Storage NFS 网络中,您可以使用网络上的客户端 IP 地址实现精确的访问控制。

network_data_ganesha.yaml 文件包含一个额外部分,用于定义隔离的 StorageNFS 网络。虽然大多数安装都可以的默认设置,但您必须编辑 YAML 文件以添加网络设置,包括 VLAN ID、子网和其他设置。

name: StorageNFS
enabled: true
vip: true
name_lower: storage_nfs
vlan: 70
ip_subnet: '172.17.0.0/20'
allocation_pools: [{'start': '172.17.0.4', 'end': '172.17.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:7000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:7000::4', 'end': 'fd00:fd00:fd00:7000::fffe'}]

有关可组合网络的更多信息,请参阅高级 Overcloud 自定义指南中的使用可组合网络

2.5.2. CephFS 后端环境文件

用于定义 CephFS 后端 manila-cephfsganesha-config.yaml 的集成式环境文件位于 /usr/share/openstack-tripleo-heat-templates/environments/ 中。

manila-cephfsganesha-config.yaml 环境文件包含与部署共享文件系统服务(manila)相关的设置。后端默认设置可用于大多数环境。以下示例显示了 director 在部署共享文件系统服务过程中使用的默认值:

[stack@undercloud ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
# A Heat environment file which can be used to enable a
# a Manila CephFS-NFS driver backend.
resource_registry:
  OS::TripleO::Services::ManilaApi: ../deployment/manila/manila-api-container-puppet.yaml
  OS::TripleO::Services::ManilaScheduler: ../deployment/manila/manila-scheduler-container-puppet.yaml
  # Only manila-share is pacemaker managed:
  OS::TripleO::Services::ManilaShare: ../deployment/manila/manila-share-pacemaker-puppet.yaml
  OS::TripleO::Services::ManilaBackendCephFs: ../deployment/manila/manila-backend-cephfs.yaml
  # ceph-nfs (ganesha) service is installed and configured by ceph-ansible
  # but it's still managed by pacemaker
  OS::TripleO::Services::CephNfs: ../deployment/ceph-ansible/ceph-nfs.yaml

parameter_defaults:
  ManilaCephFSBackendName: cephfs 
1

  ManilaCephFSDriverHandlesShareServers: false 
2

  ManilaCephFSCephFSAuthId: 'manila' 
3

  ManilaCephFSCephFSEnableSnapshots: true 
4

  # manila cephfs driver supports either native cephfs backend - 'CEPHFS'
  # (users mount shares directly from ceph cluster), or nfs-ganesha backend -
  # 'NFS' (users mount shares through nfs-ganesha server)
  ManilaCephFSCephFSProtocolHelperType: 'NFS'

parameter_defaults 标头表示配置的开头。要覆盖 resource_registry 中设置的默认值,请将此 manila-cephfsganesha-config.yaml 环境文件复制到本地环境文件目录 /home/stack/templates/,并根据需要编辑您的环境所需的参数设置。这包括 OS::Tripleo::Services::Services::ManilaBackendCephFs 设置的值,它为 CephFS 后端设置默认值。

1
ManilaCephFSBackendName 设置 CephFS 后端的 manila 配置名称。在这种情况下,默认后端名称为 cephfs
2
ManilaCephFSDriverHandlesShareServers 控制共享服务器的生命周期。当设置为 false 时,驱动程序不会处理生命周期。这是唯一支持的选项。
3
ManilaCephFSCephFSAuthId 定义了 director 为 manila 服务访问 Ceph 集群而创建的 Ceph 身份验证 ID。
4
ManilaCephFSEnableSnapshots 控制快照激活。Ceph Storage 4.1 及更新的版本支持快照,但此参数的值默认为 false。将值设为 true 以确保驱动程序向共享文件系统服务调度程序报告 snapshot_support 功能。

有关环境文件的更多信息,请参阅 Director 安装和使用指南中的环境文件

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部