사용자 정의 블록 스토리지 백엔드 배포 가이드

Red Hat OpenStack Platform 16.1

Red Hat OpenStack Platform 오버클라우드에서 사용자 정의 블록 스토리지 백엔드 배포 가이드

OpenStack Documentation Team

초록

이 문서에서는 Red Hat OpenStack Platform 16.1 Overcloud에서 블록 스토리지 서비스(cinder)에 대해 통합되지 않은 사용자 지정 백엔드를 배포하는 방법을 설명합니다.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

1장. 블록 스토리지 서비스 사용자 지정 백엔드 배포 소개

Red Hat OpenStack Platform director는 최소한의 수동 구성으로 완전한 엔터프라이즈급 OpenStack 배포를 설치하고 관리합니다. director에 대한 자세한 내용은 Director 설치 및 사용 가이드를 참조하십시오.

director가 생성하는 Openstack 환경을 Overcloud라고 합니다. 오버클라우드에는 블록 스토리지를 포함하여 최종 사용자에게 서비스를 제공하는 모든 구성 요소가 포함되어 있습니다. 이 문서에서는 오버클라우드에서 블록 스토리지 서비스(cinder)에 사용자 지정 백엔드를 배포하는 방법에 대한 지침을 제공합니다. 기본적으로 블록 스토리지 서비스는 컨트롤러 노드에 설치됩니다.

사전 요구 사항

  • director와 함께 이미 오버클라우드를 배포했습니다.
  • Overcloud에는 블록 스토리지 서비스가 작동합니다.
  • 블록 스토리지 개념과 구성을 잘 알고 있습니다. 블록 스토리지에 대한 자세한 내용은 스토리지 가이드의 Block Storage and Volumes 를 참조하십시오.
주의

이 절차는 제한된 사용 사례에서 성공적으로 테스트되었습니다. 먼저 비생산 환경에서 계획된 배포를 테스트해야 합니다. 질문이 있는 경우 Red Hat 지원팀에 문의하십시오.

1.1. 사용자 정의 백엔드 이해

사용자 지정 백엔드는 아직 Red Hat OpenStack Platform director에 완전히 통합되지 않은 스토리지 서버, 어플라이언스 또는 구성입니다. 지원되는 블록 스토리지 백엔드는 이미 통합되었으며 기본 제공 director 파일로 사전 구성되어 있습니다. 예를 들어, Red Hat Ceph와 Dell EMC PS 시리즈, Dell Storage Center, NetApp 어플라이언스의 단일 백엔드 구성 등이 있습니다.

일부 통합 스토리지 어플라이언스는 단일 인스턴스 백엔드만 지원합니다. 예를 들어, Dell 스토리지 센터에 대해 미리 구성된 director 파일을 사용하면 단일 백엔드만 배포할 수 있습니다. 이 어플라이언스의 백엔드 인스턴스를 여러 개 배포하려면 사용자 지정 구성이 필요합니다.

블록 스토리지 서비스가 있는 노드에서 /etc/cinder/cinder.conf 파일을 직접 편집하여 블록 스토리지 서비스를 수동으로 구성할 수 있지만 openstack overcloud deploy 명령을 실행할 때 director가 구성을 덮어씁니다. 자세한 내용은 3장. 구성된 백엔드 배포의 내용을 참조하십시오. director와 함께 블록 스토리지 백엔드를 배포하여 오버클라우드 배포 및 업데이트를 통해 설정이 지속되는지 확인합니다.

백엔드 구성이 완전히 통합되면 패키지된 환경 파일을 편집하고 호출할 수 있습니다. 그러나 사용자 지정 백엔드의 경우 고유한 환경 파일을 작성해야 합니다. 이 문서에는 배포에 대해 편집할 수 있는 주석이 있는 /home/stack/templates/custom-env.yaml 파일이 포함되어 있습니다. 이 샘플 파일은 두 개의 NetApp 백엔드를 사용하도록 블록 스토리지 서비스를 구성하는 데 적합합니다. 환경 파일에 대한 자세한 내용은 Director 설치 및 사용 가이드 의 Overcloud 배포에 환경 파일 포함 을 참조하십시오.

1.2. 요구 사항

다음 추가 사전 요구 사항 조건을 사용자 지정 블록 스토리지 백엔드를 구성하려면 환경에 적용해야 합니다.

  • 타사 백엔드 어플라이언스를 사용하는 경우 스토리지 리포지토리로 구성했습니다.
  • Director 설치 및 사용 지침과 함께 director와 함께 Overcloud를 배포했습니다.
  • 높은 권한이 있는 계정의 사용자 이름과 암호가 있습니다. 오버클라우드를 배포하기 위해 생성한 것과 동일한 stack 사용자 계정을 사용할 수 있습니다.
  • /etc/cinder/cinder.conf 에서 블록 스토리지 백엔드에 사용할 결과 구성을 이미 계획했습니다.

1.3. 설정 프로세스 이해

사용자 지정 백엔드를 사용하도록 블록 스토리지 서비스를 구성하는 데 다음 단계가 포함됩니다.

2장. 환경 파일 생성

사용자 지정 백엔드를 구성하기 위해 생성하는 환경 파일에는 정의하려는 각 백엔드의 설정이 포함되어 있습니다. 또한 사용자 지정 백엔드 배포와 관련된 다른 설정이 포함되어 있습니다. 환경 파일에 대한 자세한 내용은 Advanced Overcloud Customization 가이드의 Environment Files 를 참조하십시오.

다음 샘플 환경 파일은 두 개의 NetApp 백엔드인 netapp1netapp2 를 정의합니다.

/home/stack/templates/custom-env.yaml

parameter_defaults: # 1
  CinderEnableIscsiBackend: false
  CinderEnableRbdBackend: false
  CinderEnableNfsBackend: false
  NovaEnableRbdBackend: false
  GlanceBackend: file # 2
  ControllerExtraConfig: # 3
    cinder::config::cinder_config:
        netapp1/volume_driver: # 4
            value: cinder.volume.drivers.netapp.common.NetAppDriver
        netapp1/netapp_storage_family:
            value: ontap_7mode
        netapp1/netapp_storage_protocol:
            value: iscsi
        netapp1/netapp_server_hostname:
            value: 10.35.64.11
        netapp1/netapp_server_port:
            value: 80
        netapp1/netapp_login:
            value: root
        netapp1/netapp_password:
            value: p@$$w0rd
        netapp1/volume_backend_name:
            value: netapp1
        netapp2/volume_driver: # 5
            value: cinder.volume.drivers.netapp.common.NetAppDriver # 6
        netapp2/netapp_storage_family:
            value: ontap_7mode
        netapp2/netapp_storage_protocol:
            value: iscsi
        netapp2/netapp_server_hostname:
            value: 10.35.64.11
        netapp2/netapp_server_port:
            value: 80
        netapp2/netapp_login:
            value: root
        netapp2/netapp_password:
            value: p@$$w0rd
        netapp2/volume_backend_name:
            value: netapp2
    cinder_user_enabled_backends: ['netapp1','netapp2'] # 7

1
다른 백엔드 유형을 비활성화하는 false 매개 변수가 false로 설정됩니다.
  • CinderEnableIscsiBackend: 기타 iSCSI 백엔드.
  • CinderEnableRbdBackend: Red Hat Ceph.
  • CinderEnableNfsBackend: NFS.
  • NovaEnableRbdBackend: 임시 Red Hat Ceph 스토리지.
2
GlanceBackend 매개 변수는 이미지 서비스에서 이미지를 저장하는 데 사용하는 사항을 설정합니다. 다음 값이 지원됩니다.
  • file: 각 컨트롤러 노드의 /var/lib/glance/images 에 이미지를 저장합니다.
  • Swift: 이미지 스토리지에 오브젝트 스토리지 서비스를 사용합니다.
  • Cinder: 이미지 스토리지에 블록 스토리지 서비스를 사용합니다.
3
ControllerExtraConfig 는 모든 컨트롤러 노드에 적용되는 사용자 정의 설정을 정의합니다. cinder::config::cinder_config 클래스는 블록 스토리지(cinder) 서비스에 설정을 적용해야 함을 의미합니다.
4
netapp1/volume_drivernetapp2/volume_driver 설정은 섹션/ 설정구문 을 따릅니다. 블록 스토리지 서비스를 사용하면 각 백엔드가 /etc/cinder/cinder.conf 의 자체 섹션에 정의됩니다. netapp1 접두사를 사용하는 각 설정은 새 [netapp1] 백엔드 섹션에 정의됩니다.
5
netapp2 설정은 별도의 [netapp2] 섹션에 정의됩니다.
6
접두사는 앞의 설정을 구성합니다.
7
cinder_user_enabled_backends 클래스는 사용자 지정 백엔드를 설정하고 활성화합니다. 이 클래스는 사용자가 활성화된 백엔드, 특히 cinder::config::cinder_config 클래스에 정의된 백엔드에만 사용합니다.

director에서 기본적으로 활성화할 수 있는 백엔드를 나열하는 데 cinder_user_enabled_backends 를 사용하지 마십시오. 여기에는 지원되는 NetApp 또는 Dell 어플라이언스에 대한 Red Hat Ceph, NFS 및 단일 백엔드가 포함됩니다. 예를 들어 Red Hat Ceph 백엔드를 활성화하는 경우 cinder_user_enabled_backends 에 나열하지 말고 CinderEnableRbdBackendtrue 로 설정하여 활성화합니다.

참고

OpenStack 블록 스토리지의 Red Hat Ceph 백엔드 정의에 대한 자세한 내용은 Deploying an Overcloud with Containerized Red Hat Ceph 가이드를 참조하십시오.

/ home/stack/templates/custom-env.yaml에서 생성된 /etc/cinder/cinder.conf 설정을 보려면 를 참조하십시오. 부록 A. 부록

3장. 구성된 백엔드 배포

구성된 백엔드를 배포하려면 다음 단계를 완료합니다.

  1. stack 사용자로 로그인합니다.
  2. 다음 명령을 실행하여 사용자 지정 백엔드 구성을 배포합니다.

    $ openstack overcloud deploy --templates -e /home/stack/templates/custom-env.yaml
    중요

    오버클라우드를 생성할 때 추가 환경 파일을 전달한 경우 -e 옵션을 사용하여 오버클라우드를 원치 않게 변경하지 않도록 다시 여기에 전달합니다. 자세한 내용은 Director 설치 및 사용 가이드 의 Overcloud 환경 수정을 참조하십시오.

4장. 구성된 백엔드 테스트

백엔드를 오버클라우드에 배포한 후 볼륨을 성공적으로 생성할 수 있는지 테스트합니다.

절차

  1. stack 사용자로 다음 명령을 실행하여 home/stack/overcloudrec 에 정의된 환경 변수를 로드합니다.

    $ source /home/stack/overcloudrc

자세한 내용은 Director 설치 및 사용 가이드 의 오버클라우드 액세스 참조하십시오.

  1. 각 백엔드의 볼륨 유형을 만듭니다. 오버클라우드의 컨트롤러 노드에 stack 사용자로 로그인하고 다음 명령을 실행합니다.

    $ cinder type-create backend1
    $ cinder type-create backend2

    이러한 명령은 생성한 환경 파일의 cinder::config::cinder_config 클래스로 정의된 각 백엔드에 대해 볼륨 유형 backend1 및 backend2 를 생성합니다.

  2. 생성한 환경 파일의 cinder_user _enabled_backends 클래스를 사용하여 활성화되는 백엔드의 volume_backend_ name 에 각 볼륨 유형을 매핑합니다. 다음 명령은 볼륨 유형 backend1을 netapp1에 매핑 하고 backend 2를 netapp 2 에 매핑합니다.

    $ cinder type-key backend1 set volume_backend_name=netapp1
    $ cinder type-key backend2 set volume_backend_name=netapp2
  3. 다음 명령을 실행하여 backend1 볼륨 유형을 호출하여 netapp1 에 백엔드를 만들 수 있는지 테스트합니다.

    $ cinder create --volume-type backend1 --display_name netappvolume_1 1
  4. backend2 볼륨 유형을 호출하여 netapp2 백엔드에 유사한 볼륨을 생성합니다.

    $ cinder create --volume-type backend2 --display_name netappvolume_2 1

부록 A. 부록

샘플 환경 파일의 구성

2장. 환경 파일 생성 에서 생성한 환경 파일은 두 개의 NetApp 백엔드를 사용하도록 블록 스토리지 서비스를 구성합니다. 다음 스니펫에는 관련 설정이 표시됩니다.

enabled_backends = netapp1,netapp2

[netapp1]
volume_backend_name=netapp_1
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_login=root
netapp_storage_protocol=iscsi
netapp_password=p@$$w0rd
netapp_storage_family=ontap_7mode
netapp_server_port=80
netapp_server_hostname=10.35.64.11

[netapp2]
volume_backend_name=netapp_2
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_login=root
netapp_storage_protocol=iscsi
netapp_password=p@$$w0rd
netapp_storage_family=ontap_7mode
netapp_server_port=80
netapp_server_hostname=10.35.64.11

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.