7.8. 업데이트된 환경 배포
환경을 배포할 준비가 되면 NFS-Ganesha에서 CephFS를 실행하는 데 필요한 사용자 지정 환경 및 역할과 함께 openstack overcloud deploy 명령을 사용하십시오.
overcloud deploy 명령에는 다른 필수 옵션 외에도 다음과 같은 옵션이 있습니다.
| 동작 | 옵션 | 추가 정보 |
|---|---|---|
|
|
| NFS 트래픽을 별도의 네트워크로 분리하지 않으려면 이 옵션을 생략할 수 있습니다. |
|
이전 섹션의 |
| NFS 트래픽을 별도의 네트워크로 분리하지 않으려면 이 옵션을 생략할 수 있습니다. |
| Ceph 데몬을 배포합니다. |
| director와 함께 Red Hat Ceph Storage 및 Red Hat OpenStack Platform 배포에서 오버클라우드 배포 시작 |
|
|
| director와 함께 Red Hat Ceph Storage 및 Red Hat OpenStack Platform 배포에서 오버클라우드 배포 시작 |
| CephFS-NFS 백엔드를 사용하여 Shared File Systems 서비스(manila)를 배포합니다. director를 사용하여 NFS-Ganesha를 구성합니다. |
|
다음 예제에서는 NFS-Ganesha, Ceph Storage 클러스터, Ceph MDS 및 분리된 StorageNFS 네트워크를 통해 CephFS를 배포하는 옵션이 있는 openstack overcloud deploy 명령을 보여줍니다.
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
[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 설치 및 사용에서 오버클라우드 프로비저닝 및 배포를 참조하십시오.
7.8.1. StorageNFS 및 network_data_ganesha.yaml 파일 링크 복사링크가 클립보드에 복사되었습니다!
구성 가능 네트워크를 사용하여 사용자 지정 네트워크를 정의하고 모든 역할에 할당합니다. 표준 network_data.yaml 파일을 사용하는 대신 network_data_ganesha.yaml 파일을 사용하여 StorageNFS 구성 가능 네트워크를 구성할 수 있습니다. 이러한 두 역할은 모두 /usr/share/openstack-tripleo-heat-templates 디렉터리에서 사용할 수 있습니다.
- 중요
- 스토리지 NFS 네트워크를 정의하지 않으면 director가 기본적으로 외부 네트워크로 설정됩니다. 외부 네트워크는 테스트 및 프로토타입 환경에서 유용할 수 있지만 외부 네트워크의 보안은 프로덕션 환경에 충분하지 않습니다. 예를 들어, NFS 서비스를 외부 네트워크에 노출하면 DoS(서비스 거부) 공격이 NFS 공유 사용자뿐만 아니라 모든 클라우드 사용자에 대한 컨트롤러 API 액세스를 중단할 수 있습니다. 반대로 전용 스토리지 NFS 네트워크에 NFS 서비스를 배포할 때 잠재적인 DoS 공격은 클라우드에서 NFS 공유만 대상으로 할 수 있습니다. 잠재적인 보안 위험 외에도 외부 네트워크에 NFS 서비스를 배포할 때 공유에 대한 정확한 액세스 제어에는 추가 라우팅 구성이 필요합니다. 그러나 스토리지 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'}]
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 설치 및 사용에서 Composable 네트워크를 참조하십시오.
7.8.2. CephFS-NFS 백엔드 환경 파일 링크 복사링크가 클립보드에 복사되었습니다!
CephFS-NFS 백엔드 manila-cephfsganesha-config.yaml 을 정의하는 환경 파일은 언더클라우드 노드의 /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml.yaml 경로에 있습니다.
manila-cephfsganesha-config.yaml 환경 파일에는 Shared File Systems 서비스(manila)의 배포와 관련된 설정이 포함되어 있습니다. 백엔드 기본 설정은 대부분의 환경에서 작동합니다. 다음 예제에서는 Shared File Systems 서비스를 배포하는 동안 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 ManilaCephFSDriverHandlesShareServers: false ManilaCephFSCephFSAuthId: 'manila' # 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'
[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
ManilaCephFSDriverHandlesShareServers: false
ManilaCephFSCephFSAuthId: 'manila'
# 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::ManilaBackendCephFs 에서 설정한 값이 포함되며, 이 값은 CephFS 백엔드의 기본값을 설정합니다.
- 1
ManilaCephFSBackendName은 CephFS 백엔드의 manila 구성 이름을 설정합니다. 이 경우 기본 백엔드 이름은cephfs입니다.- 2
ManilaCephFSDriverHandlesShareServers는 공유 서버의 라이프사이클을 제어합니다.false로 설정하면 드라이버가 라이프사이클을 처리하지 않습니다. 지원되는 유일한 옵션입니다.- 3
ManilaCephFSCephFSAuthId는 director가 Ceph 클러스터에 액세스하기 위해manila서비스에 대해 생성하는 Ceph 인증 ID를 정의합니다.
환경 파일에 대한 자세한 내용은 Director 설치 및 사용의 환경 파일을 참조하십시오.