2.2. NFS를 통해 CephFS 및 사용자 지정 network_data 파일을 사용하여 RHOSP(Red Hat OpenStack Platform) 설치


NFS를 통해 CephFS를 설치하려면 다음 절차를 완료합니다.

  1. ceph-ansible 패키지를 설치합니다. 보기 2.2.1절. “ceph-ansible 패키지 설치”
  2. 사용자 지정 역할 파일, roles_data.yamlnetwork_data.yaml 파일을 생성합니다. 보기 2.2.1.1절. “사용자 지정 역할 파일 생성”
  3. 사용자 지정 역할 및 환경과 함께 openstack overcloud deploy 명령을 사용하여 Ceph, 공유 파일 시스템 서비스(manila) 및 CephFS를 배포합니다. 보기 2.2.2절. “업데이트된 환경 배포”
  4. 격리된 StorageNFS 네트워크를 구성하고 기본 공유 유형을 생성합니다. 보기 2.2.3절. “배포 후 구성 완료”

RHOSP(Red Hat Platform) 환경에서는 표준 stack 사용자를 사용합니다.

RHOSP 설치 또는 환경 업데이트의 일부로 작업을 수행합니다.

2.2.1. ceph-ansible 패키지 설치

언더클라우드 노드에 설치할 ceph-ansible 패키지를 설치하여 컨테이너화된 Ceph를 배포합니다.

절차

  1. stack 사용자로 언더클라우드 노드에 로그인합니다.
  2. ceph-ansible 패키지를 설치합니다.

    [stack@undercloud-0 ~]$ sudo dnf install -y ceph-ansible
    [stack@undercloud-0 ~]$ sudo dnf list ceph-ansible
    ...
    Installed Packages
    ceph-ansible.noarch    4.0.23-1.el8cp      @rhelosp-ceph-4-tools

2.2.1.1. 사용자 지정 역할 파일 생성

ControllerStorageNFS 사용자 지정 역할은 격리된 StorageNFS 네트워크를 구성합니다. 이 역할은 OS::TripleO::Services:CephNfs 명령으로 표시된 StorageNFS 네트워크 및 CephNfs 서비스를 추가하는 기본 Controller.yaml 역할 파일과 유사합니다.

[stack@undercloud ~]$ cd /usr/share/openstack-tripleo-heat-templates/roles
[stack@undercloud roles]$ diff Controller.yaml ControllerStorageNfs.yaml
16a17
> 	- StorageNFS
50a45
> 	- OS::TripleO::Services::CephNfs

openstack overcloud roles generate 명령에 대한 자세한 내용은 Advanced Overcloud Customization 가이드의 Roles 를 참조하십시오.

openstack overcloud roles generate 명령은 -o 다음에 지정된 서비스를 포함하여 사용자 지정 roles_data.yaml 파일을 생성합니다. 다음 예제에서 생성된 roles_data.yaml 파일에는 ControllerStorageNfs,ComputeCephStorage 에 대한 서비스가 있습니다.

참고

기존 roles_data.yaml 파일이 있는 경우 이를 수정하여 ControllerStorageNfs,ComputeCephStorage 서비스를 구성 파일에 추가합니다. 자세한 내용은 Advanced Overcloud Customization 가이드의 Roles 를 참조하십시오.

절차

  1. stack 사용자로 언더클라우드 노드에 로그인합니다.
  2. openstack overcloud roles generate 명령을 사용하여 roles_data.yaml 파일을 생성합니다.

    [stack@undercloud ~]$ openstack overcloud roles generate --roles-path /usr/share/openstack-tripleo-heat-templates/roles -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorage

2.2.2. 업데이트된 환경 배포

환경을 배포할 준비가 되면 NFS-Ganesha를 사용하여 CephFS를 실행하는 데 필요한 사용자 지정 환경 및 역할과 함께 openstack overcloud deploy 명령을 사용합니다.

Overcloud deploy 명령에는 기타 필수 옵션 외에 다음 옵션이 있습니다.

Expand
동작옵션추가 정보

network _data_ganesha.yaml을 사용하여 StorageNFS 네트워크를 추가합니다.

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

2.2.2.1절. “StorageNFS 및 network_data_ganesha.yaml 파일”

이전 섹션의 roles_data.yaml 파일에 정의된 사용자 지정 역할을 추가합니다.

-r /home/stack/roles_data.yaml

2.2.1.1절. “사용자 지정 역할 파일 생성”

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 가이드에서 Overcloud 배포 시작 가이드.

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 가이드에서 오버클라우드 배포 시작 가이드

NFS 백엔드를 통해 CephFS를 사용하여 공유 파일 시스템(manila) 서비스를 배포합니다. director를 사용하여 NFS-Ganesha를 구성합니다.

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

2.2.2.2절. “CephFS 백엔드 환경 파일”

다음 예제에서는 NFS-Ganesha, Ceph 클러스터, Ceph MDS 및 격리된 StorageNFS 네트워크를 통해 CephFS를 배포하는 옵션이 포함된 openstack overcloud deploy 명령을 보여줍니다.

[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 설치 및 사용 가이드의 Deployment 명령을 참조하십시오.

2.2.2.1. StorageNFS 및 network_data_ganesha.yaml 파일

구성 가능 네트워크를 사용하여 사용자 지정 네트워크를 정의하고 역할에 할당합니다. 표준 network_data.yaml 파일을 사용하는 대신 network_ data_ganesha.yaml 파일을 사용하여 StorageNFS 구성 가능 네트워크를 구성할 수 있습니다. 이 두 역할은 /usr/share/openstack-tripleo-heat-templates 디렉터리에서 사용할 수 있습니다.

network_data_ganesha.yaml 파일에는 격리된 StorageNFS 네트워크를 정의하는 추가 섹션이 포함되어 있습니다. 기본 설정은 대부분의 설치에서 작동하지만, VLAN ID, 서브넷 및 기타 설정을 포함한 네트워크 설정을 추가하도록 YAML 파일을 편집해야 합니다.

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'}]

구성 가능한 네트워크에 대한 자세한 내용은 Advanced Overcloud Customization 가이드에서 Composable Networks 사용을 참조하십시오.

2.2.2.2. CephFS 백엔드 환경 파일

CephFS 백엔드인 manila-cephfsganesha-config.yaml 을 정의하는 통합 환경 파일은 /usr/share/openstack-tripleo-heat-templates/environments/ 에 있습니다.

manila-cephfsganesha-config.yaml 환경 파일에는 Shared File Systems 서비스(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: false 
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 에 설정된 기본값을 재정의할 수 있습니다. 여기에는 CephFS 백엔드의 기본값을 설정하는 OS::Tripleo::Services::ManilaBackendCephFs 로 설정된 값이 포함됩니다.

1
ManilaCephFSBackendName 은 CephFS 백엔드의 manila 구성 이름을 설정합니다. 이 경우 기본 백엔드 이름은 cephfs 입니다.
2
ManilaCephFSDriverHandlesShareServers 는 공유 서버의 라이프사이클을 제어합니다. false로 설정하면 드라이버에서 라이프사이클을 처리하지 않습니다. 지원되는 유일한 옵션입니다.
3
ManilaCephFSAuthId 는 director에서 Ceph 클러스터에 액세스하기 위해 생성한 Ceph 인증 ID를 정의합니다.
4
ManilaCephFSCephFSEnableSnapshots는 스냅샷 활성화를 제어합니다. false 값은 스냅샷이 활성화되지 않았음을 나타냅니다. 이 기능은 현재 지원되지 않습니다.

환경 파일에 대한 자세한 내용은 Director 설치 및 사용 가이드 의 환경 파일을 참조하십시오.

2.2.3. 배포 후 구성 완료

NFS 공유를 만들고 사용자 액세스 권한을 부여하며 NFS 공유를 마운트하기 전에 배포 후 구성 작업을 완료해야 합니다.

  • 네트워킹 서비스(neutron) StorageNFS 네트워크를 격리된 데이터 센터 Storage NFS 네트워크에 매핑합니다.
  • 기본 공유 유형을 생성합니다.

이러한 단계를 완료하고 나면 테넌트 compute 인스턴스가 NFS 공유를 생성, 허용 및 마운트할 수 있습니다.

2.2.3.1. 스토리지 공급자 네트워크 생성

격리된 새로운 StorageNFS 네트워크를 네트워킹(neutron) 프로바이더 네트워크에 매핑해야 합니다. 계산 VM은 네트워크에 연결하여 NFS-Ganesha 게이트웨이에서 제공하는 공유 내보내기 위치에 액세스합니다.

공유 파일 시스템 서비스를 사용한 네트워크 보안에 대한 자세한 내용은 보안 및 강화 가이드에서 공유 파일 시스템 서비스 강화를 참조하십시오.

절차

openstack network create 명령은 StorageNFS neutron 네트워크의 구성을 정의합니다.

  1. 언더클라우드 노드에서 다음 명령을 입력합니다.

    [stack@undercloud ~]$ source ~/overcloudrc
  2. 언더클라우드 노드에서 StorageNFS 네트워크를 생성합니다.

    (overcloud) [stack@undercloud-0 ~]$ openstack network create StorageNFS --share  --provider-network-type vlan --provider-physical-network datacentre --provider-segment 70

    다음 옵션을 사용하여 이 명령을 입력할 수 있습니다.

    • tripleo-heat -templates에서 NeutronBridgeMappings를 통해 br-isolated 브리지에 대한 다른 태그를 설정하지 않는 한 --provider-physical-network 옵션의 경우 기본값 datacentre 를 사용합니다.
    • provider -segment 옵션의 경우 heat 템플릿에서 StorageNFS 격리 네트워크에 설정된 VLAN 값 /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml 을 사용합니다. 배포자가 격리된 네트워크 정의를 수정하지 않는 한 이 값은 70입니다.
    • provider -network-type 옵션의 경우 vlan 값을 사용합니다.

2.2.3.2. 공유 공급자 StorageNFS 네트워크 구성

neutron-shared 프로바이더 네트워크에서 해당 StorageNFSSubnet 을 생성합니다. 서브넷이 network_ data.yml 파일의 storage_nfs 네트워크 정의와 같은지 확인하고 StorageNFS 서브넷의 할당 범위와 해당 언더클라우드 서브넷이 겹치지 않는지 확인합니다. StorageNFS 서브넷은 NFS 공유를 제공하는 전용이므로 게이트웨이가 필요하지 않습니다.

사전 요구 사항

  • 할당 풀의 시작 및 끝 IP 범위.
  • 서브넷 IP 범위.
2.2.3.2.1. 공유 공급자 StorageNFS IPv4 네트워크 구성

절차

  1. Overcloud 노드에 로그인합니다.
  2. 오버클라우드 자격 증명을 가져옵니다.
  3. example 명령을 사용하여 네트워크를 프로비저닝하고 다음 업데이트를 수행합니다.

    1. start=172.17.0.4,end=172.17.0.250 IP 값을 네트워크의 IP 값으로 바꿉니다.
    2. 172.17.0.0/20 서브넷 범위를 네트워크의 서브넷 범위로 바꿉니다.
[stack@undercloud-0 ~]$ openstack subnet create --allocation-pool start=172.17.0.4,end=172.17.0.250 --dhcp --network StorageNFS --subnet-range 172.17.0.0/20 --gateway none StorageNFSSubnet
2.2.3.2.2. 공유 공급자 StorageNFS IPv6 네트워크 구성

절차

  1. Overcloud 노드에 로그인합니다.
  2. 필요한 경우 sample 명령을 사용하여 네트워크를 프로비저닝하고 값을 업데이트합니다.

    • fd00:fd00:fd00:7000::/64 서브넷 범위를 네트워크의 서브넷 범위로 바꿉니다.
[stack@undercloud-0 ~]$ openstack subnet create --ip-version 6 --dhcp --network StorageNFS --subnet-range fd00:fd00:fd00:7000::/64 --gateway none --ipv6-ra-mode dhcpv6-stateful --ipv6-address-mode dhcpv6-stateful StorageNFSSubnet -f yaml

2.2.3.3. 기본 공유 유형 구성

공유 파일 시스템 서비스를 사용하여 특정 설정으로 공유를 생성하는 데 사용할 수 있는 공유 유형을 정의할 수 있습니다. 공유 유형은 블록 스토리지 볼륨 유형처럼 작동합니다. 각 유형에는 추가 사양과 같은 설정이 연결되어 있습니다. 공유 생성 중에 유형을 호출할 때 설정이 공유 파일 시스템에 적용됩니다.

RHOSP(Red Hat OpenStack Platform) director를 사용하면 사용자가 액세스할 수 있도록 클라우드를 열기 전에 기본 공유 유형을 생성해야 합니다. NFS가 포함된 CephFS의 경우 manila type-create 명령을 사용합니다.

manila type-create default false

공유 유형에 대한 자세한 내용은 스토리지 가이드공유 유형 만들기를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동