7.8. 部署更新的环境
当您准备好部署环境时,请使用 openstack overcloud deploy
命令以及使用 NFS-Ganesha 运行 CephFS 所需的自定义虚拟环境和角色。
overcloud 部署命令除其它所需选项外,还具有以下选项:
操作 | 选项 | 附加信息 |
---|---|---|
使用 |
| 如果您不想将 NFS 流量隔离到单独的网络,可以省略这个选项。 |
添加上一节中在 |
| 如果您不想将 NFS 流量隔离到单独的网络,可以省略这个选项。 |
部署 Ceph 守护进程。 |
| Deploying Red Hat Ceph Storage and Red Hat OpenStack Platform together with director 中的 Initiating overcloud deployment |
使用 |
| Deploying Red Hat Ceph Storage and Red Hat OpenStack Platform together with director 中的 Initiating overcloud deployment |
使用 CephFS-NFS 后端部署共享文件系统服务(manila)。使用 director 配置 NFS-Ganesha。 |
|
以下示例显示了 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/cephadm/cephadm.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/ceph-mds.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
有关 openstack overcloud deploy
命令的更多信息,请参阅 Director 安装和使用中的置备和部署 overcloud。
7.8.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'}]
有关可组合网络的更多信息,请参阅 Director 安装和使用中的 可组合网络。
7.8.2. CephFS-NFS 后端环境文件
用于定义 CephFS-NFS 后端 manila-cephfsganesha-config.yaml
的环境文件位于 undercloud 节点的以下路径中: /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
。
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 Director # but it's still managed by pacemaker OS::TripleO::Services::CephNfs: ../deployment/cephadm/ceph-nfs.yaml parameter_defaults: ManilaCephFSBackendName: cephfs 1 ManilaCephFSDriverHandlesShareServers: false 2 ManilaCephFSCephFSAuthId: 'manila' 3 # 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 后端设置默认值。
有关环境文件的更多信息,请参阅 Director 安装和使用 中的环境文件。