Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

NetApp 블록 스토리지 백엔드 가이드

Red Hat OpenStack Platform 13

Red Hat OpenStack Platform 13에서 NetApp 어플라이언스를 블록 스토리지 백엔드로 사용하는 가이드

OpenStack Documentation Team

초록

이 문서에서는 Director를 사용하여 Red Hat OpenStack Platform 13에서 블록 스토리지 서비스의 백엔드로 NetApp 스토리지 어플라이언스를 배포하는 방법을 설명합니다.

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

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

1장. 소개

이 문서에서는 Director를 사용하여 NetApp 어플라이언스를 Overcloud의 블록 스토리지 서비스에 백엔드로 배포하는 방법을 설명합니다. 다음 섹션에서는 다음을 수행합니다.

  • 블록 스토리지 백엔드에 NetApp 어플라이언스 및 드라이버만 사용하려고 합니다.
  • Director를 통해 OpenStack Overcloud가 이미 배포되어 있습니다.
  • NetApp 어플라이언스가 이미 구성되어 있으며 스토리지 리포지토리로 사용할 준비가 되었습니다.
  • NetApp 스토리지 시스템 또는 프록시 서버에 연결하는 데 필요한 인증 정보가 있습니다.
  • 승격된 권한이 있는 계정의 사용자 이름과 암호가 있습니다. Overcloud를 배포하기 위해 생성된 것과 동일한 계정을 사용할 수 있습니다. 이 목적으로 stack 사용자 생성 에서 stack 사용자가 생성됩니다.

Red Hat OpenStack Platform을 Director를 통해 배포하는 경우 모든 주요 Overcloud 설정(특히 블록 스토리지 서비스 백엔드)을 director를 통해 정의하고 오케스트레이션해야 합니다. 이렇게 하면 추가 오버클라우드 업데이트를 통해 설정이 유지됩니다.

참고

NetApp 어플라이언스를 백엔드로 사용하도록 블록 스토리지 서비스를 구성하는 방법에 대한 수동 지침은 Chapter 4를 참조하십시오. OpenStack 블록 스토리지 서비스( NetApp OpenStack 배포 및 운영 가이드). Director는 오케스트레이션하지 않은 설정을 덮어쓰므로 Overcloud 업데이트 중에 수동으로 구성된 블록 스토리지 설정을 다시 적용해야 합니다.

이 문서에서는 원하는 NetApp 백엔드 구성을 Overcloud의 블록 스토리지 서비스로 오케스트레이션하는 방법을 설명합니다. 이 문서는 NetApp 백엔드에서 가능한 다양한 배포 구성에 대해 설명하지 않습니다. 사용 가능한 다양한 NetApp 배포 옵션에 대한 자세한 내용은 운영 및 배포 선택 사항( NetApp OpenStack 배포 및 운영 가이드) 을 참조하십시오.

배포(및 해당 설정)하려는 결과 백엔드 구성에 익숙해지면 Director를 통해 오케스트레이션하는 방법에 대한 지침은 이 문서를 참조하십시오.

참고

현재 Director에는 NetApp 백엔드의 단일 인스턴스를 배포하는 통합 구성 요소만 있습니다. 따라서 이 문서는 단일 백엔드의 배포에만 대해 설명합니다.

NetApp 백엔드의 여러 인스턴스를 배포하려면 사용자 지정 백엔드 구성이 필요합니다. 자세한 내용은 사용자 지정 블록 스토리지 백엔드 배포 가이드 를 참조하십시오.

2장. 프로세스 설명

Red Hat OpenStack Platform에는 블록 스토리지 서비스에서 지원하는 모든 NetApp 어플라이언스에 필요한 모든 드라이버가 포함되어 있습니다. 또한 Director에는 NetApp 어플라이언스를 Overcloud에 백엔드로 통합하는 데 필요한 Puppet 매니페스트, 환경 파일 및 오케스트레이션 템플릿도 있습니다.

NetApp 어플라이언스를 백엔드로 구성하려면 기본 환경 파일 을 편집하고 Overcloud 배포에 포함합니다. 이 파일은 Undercloud에서 로컬로 사용할 수 있으며 환경에 맞게 편집할 수 있습니다.

이 파일을 편집한 후 Director를 통해 호출합니다. 이렇게 하면 향후 오버클라우드 업데이트를 통해 유지됩니다. 다음 섹션에서는 이 프로세스에 대해 자세히 설명합니다.

3장. 백엔드 정의

중요

이 섹션에서는 단일 백엔드의 배포에 대해 설명합니다. NetApp 백엔드의 여러 인스턴스를 배포하려면 사용자 지정 백엔드 구성이 필요합니다. 자세한 내용은 사용자 지정 블록 스토리지 백엔드 배포 가이드 를 참조하십시오.

director 배포를 사용하면 NetApp 어플라이언스를 블록 스토리지 백엔드로 정의하는 가장 쉬운 방법은 통합된 NetApp 환경 파일을 사용하는 것입니다. 이 파일은 언더클라우드 노드의 다음 경로에 있습니다.

/usr/share/openstack-tripleo-heat-templates/environments/storage/cinder-netapp-config.yaml

이 파일을 편집하여 나중에 호출할 수 있는 로컬 경로에 복사합니다. 예를 들어 ~/templates/:에 복사하려면 다음을 수행합니다.

$ cp /usr/share/openstack-tripleo-heat-templates/environments/storage/cinder-netapp-config.yaml ~/templates/

그런 다음 해당 복사본(~/templates/cinder-netapp-config.yaml)을 열고 필요에 따라 편집합니다. 다음 코드 조각은 이 파일의 기본 콘텐츠를 표시합니다.

# A heat environment file which can be used to enable a
# a Cinder NetApp backend, configured via puppet
resource_registry:
  OS::TripleO::Services::CinderBackendNetApp: ../puppet/services/cinder-backend-netapp.yaml  1

parameter_defaults:  2
  CinderEnableNetappBackend: true  3
  CinderNetappBackendName: 'tripleo_netapp'
  CinderNetappLogin: ''
  CinderNetappPassword: ''
  CinderNetappServerHostname: ''
  CinderNetappServerPort: '80'
  CinderNetappSizeMultiplier: '1.2'
  CinderNetappStorageFamily: 'ontap_cluster'
  CinderNetappStorageProtocol: 'nfs'
  CinderNetappTransportType: 'http'
  CinderNetappVfiler: ''
  CinderNetappVolumeList: ''
  CinderNetappVserver: ''
  CinderNetappPartnerBackendName: ''
  CinderNetappNfsShares: ''
  CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
  CinderNetappNfsMountOptions: ''
  CinderNetappCopyOffloadToolPath: ''
  CinderNetappControllerIps: ''
  CinderNetappSaPassword: ''
  CinderNetappStoragePools: ''
  CinderNetappEseriesHostType: 'linux_dm_mp'
  CinderNetappWebservicePath: '/devmgr/v2'
참고

NFS 백엔드 또는 NetApp NFS 블록 스토리지 백엔드가 NAS secure라는 NetApp 기능을 지원하는지 여부를 제어하는 몇 가지 director heat 매개변수가 있습니다.

  • CinderNetappNasSecureFileOperations
  • CinderNetappNasSecureFilePermissions
  • CinderNasSecureFileOperations
  • CinderNasSecureFilePermissions

Red Hat은 정상적인 볼륨 작업을 방해하기 때문에 기능을 활성화하는 것을 권장하지 않습니다. director는 기본적으로 기능을 비활성화하고 Red Hat OpenStack Platform은 이를 지원하지 않습니다.

1
resource_registry 섹션의 OS::TripleO::Services::CinderBackendNetApp 매개 변수는 cinder-backend-netapp.yaml 이라는 구성 가능 서비스 템플릿을 나타냅니다. 이 템플릿은 Director에서 백엔드를 구성하는 데 필요한 리소스를 로드하는 데 사용해야 하는 템플릿입니다. 기본적으로 매개변수는 cinder-backend-netapp.yaml 경로를 상대적으로 지정합니다. 따라서 파일의 절대 경로를 사용하여 이 매개변수를 업데이트합니다.
resource_registry:
  OS::TripleO::Services::CinderBackendNetApp: /usr/share/openstack-tripleo-heat-templates/puppet/services/cinder-backend-netapp.yaml
2
parameter_defaults 섹션에는 백엔드 정의가 포함되어 있습니다. 특히 director가 cinder-backend-netapp.yaml 에 정의된 리소스로 전달하는 매개변수가 포함되어 있습니다.
3
CinderEnableNetappBackend: true 행은 NetApp 백엔드의 기본 설정에 필요한 puppet 매니페스트를 사용하도록 director에 지시합니다. 여기에는 블록 스토리지 서비스에서 사용해야 하는 볼륨 드라이버 정의(특히 cinder.volume.drivers.netapp.common.NetAppDriver)가 포함됩니다.

NetApp 백엔드를 정의하려면 매개변수_defaults 섹션의 설정을 적절하게 편집합니다. 다음 표에서는 각 매개변수를 설명하고 해당 cinder.conf 설정을 나열합니다.

참고

변수에 대한 자세한 내용은 NetApp 어플라이언스의 NetApp OpenStack Docs 에서 해당 참조를 참조하십시오.

표 3.1. NetApp 범용 백엔드 설정

매개변수Cinder.conf 설정설명

CinderNetappBackendName

volume_backend_name

(필수) 볼륨 백엔드를 식별하는 임의의 이름입니다. cinder-netapp-config.yaml 파일은 기본적으로 이름 tripleo_netapp 을 사용합니다.

CinderNetappLogin

netapp_login

(필수) 백엔드 또는 해당 프록시 서버에 액세스하는 데 사용되는 관리 계정 이름입니다. 이 매개변수의 경우 클러스터 수준 관리 권한(예: admin) 또는 클러스터 범위 계정이 있는 계정을 사용할 수 있습니다. [a] 적절한 권한이 있어야 합니다.

CinderNetappPassword

netapp_password

(필수) CinderNetappLogin 의 해당 암호입니다.

CinderNetappServerHostname

netapp_server_hostname

(필수) 스토리지 시스템 또는 프록시 서버(E-Series의 경우). 이 옵션의 값은 LIF(클러스터 관리 논리 인터페이스) 또는 Storage Virtual Machine(SVM) LIF의 IP 주소 또는 호스트 이름이어야 합니다.

CinderNetappServerPort

netapp_server_port

(선택 사항) 블록 스토리지 서비스에서 NetApp 백엔드와 통신하는 데 사용해야 하는 TCP 포트입니다. 지정하지 않으면 Data ONTAP 드라이버는 HTTPS의 경우 80443 을 사용합니다. HTTPS 의 경우 E-Series는 8080HTTPS 에 사용합니다.

CinderNetappSizeMultiplier

netapp_size_multiplier

볼륨 생성 중에 NetApp 백엔드에 충분한 공간이 있는지 확인하기 위해 요청된 볼륨 크기를 곱한 수량입니다.

CinderNetappStorageFamily

netapp_storage_family

(선택 사항) 백엔드 장치에서 사용되는 스토리지 제품군 유형입니다. 클러스터된 데이터 ONTAP 또는 E-Series용 eseriesontap_cluster 를 사용합니다.

참고: 7-Mode에서 작동하는 Data ONTAP에 대한 ontap _7 모드 지원은 더 이상 사용되지 않습니다.

CinderNetappStorageProtocol

netapp_storage_protocol

(필수) 사용할 스토리지 프로토콜입니다. nfs,iscsi 또는 fc 를 사용합니다.

CinderNetappTransportType

netapp_transport_type

(필수) 백엔드와 통신하는 데 사용되는 전송 프로토콜입니다. 유효한 옵션에는 httphttps 가 포함됩니다.

[a] 클러스터 범위 계정에 대한 자세한 내용은 ONTAP 구성( NetApp OpenStack Docs에서)을 참조하십시오.

다음 설정은 클러스터형 데이터 ONTAP에만 유효합니다(예: CinderNetappStorageFamilyontap_cluster로 설정됨).

표 3.2. 클러스터형 DATA ONTAP의 NetApp 설정

매개변수Cinder.conf 설정설명

CinderNetappVserver

netapp_vserver

(필수) 볼륨 프로비저닝이 발생해야 하는 SVM의 이름을 지정합니다. 이는 스토리지 클러스터의 단일 SVM을 나타냅니다.

다음 설정은 E-Series 제품군(예: CinderNetappStorageFamily set to eseriesamily)에서만 유효합니다.

표 3.3. E-Series에 대한 NetApp 설정

매개변수Cinder.conf 설정설명

CinderNetappControllerIps

netapp_controller_ip

(필수) 프로비저닝을 제한해야 하는 컨트롤러 관리 IP/hostname 목록입니다.

CinderNetappSaPassword

netapp_sa_password

(선택 사항) NetApp E-Series 스토리지 어레이의 암호입니다.

CinderNetappStoragePools

netapp_storage_pools

(제거) 프로비저닝을 제한해야 하는 디스크 풀의 쉼표로 구분된 목록입니다.

사용할 수 없는 드라이버 옵션을 참조하므로 이 매개 변수를 편집하지 마십시오.

CinderNetappEseriesHostType

netapp_eseries_host_type

(제거) LUN에 액세스할 수 있는 모든 이니시에이터의 운영 체제 유형을 정의합니다. 이 정보는 LUN을 개별 호스트 또는 호스트 그룹에 매핑할 때 사용됩니다.

사용할 수 없는 드라이버 옵션을 참조하므로 이 매개 변수를 편집하지 마십시오.

CinderNetappWebservicePath

netapp_webservice_path

(선택 사항) 프록시 서버의 E-Series 프록시 애플리케이션의 경로를 지정합니다. 이 드라이버는 프록시 애플리케이션 연결에 필요한 전체 URL을 확인하기 위해 CinderNetappTransportType,CinderNetappServerHostname, CinderNetappServerPort 포트 값을 결합합니다.

NFS 프로토콜을 사용하는 경우 다음 설정이 유효합니다(예: CinderNetappStorageProtocolnfs로 설정된 경우). 자세한 내용은 NFS를 사용하여 7-Mode( NetApp OpenStack 배포 및 운영 가이드)에서 작동하는 NFS용 NetApp Unified Driver for NFS 또는 NetApp Unified Driver for Data ONTAP에서 참조하십시오.

표 3.4. NFS용 NetApp 설정

매개변수Cinder.conf 설정설명

CinderNetappNfsShares

없음

(필수) NetApp ONTAP 장치에서 컨트롤러 노드에서 마운트하도록 내보낸 데이터 LIF의 쉼표로 구분된 목록입니다. 이 목록은 CinderNetappNfsSharesConfig 에서 정의한 위치에 작성됩니다. 예를 들면 다음과 같습니다.

CinderNetappNfsShares: \'192.168.67.1:/cinder1,192.168.67.2:/cinder2,192.168.67.2:/archived_data'

CinderNetappNfsSharesConfig

nfs_shares_config

(필수) NFS 내보내기 파일 의 경로입니다. 이 파일에는 백엔드로 사용할 수 있는 NFS 공유 목록이 포함되어 있습니다.

CinderNetappNfsMountOptions

nfs_mount_options

(선택 사항) NFS 클라이언트에 전달할 쉼표로 구분된 마운트 옵션 목록입니다. 유효한 옵션에 대한 자세한 내용은 man mount 를 참조하십시오.

CinderNetappCopyOffloadToolPath [a]

netapp_copyoffload_tool_path

(선택 사항) NetApp copy 오프로드 도구 바이너리 의 경로를 지정합니다. openstack-cinder-volume 프로세스에서 이 파일을 실행해야 하므로 이 바이너리( NetApp 지원 포털에서사용 가능)에 실행 권한이 설정되어 있어야 합니다.

[a] 이 옵션은 Clustered Data ONTAP에서만 유효합니다(예: CinderNetappStorageFamilyontap_cluster로 설정). 자세한 내용은 NetApp OpenStack Deployment and Operations Guide의 NFS를 사용한 NetApp Unified Driver for Clustered Data ONTAP에서 참조하십시오.

4장. 구성된 백엔드 배포

Director 설치에서는 루트가 아닌 사용자를 사용하여 블록 스토리지 백엔드 배포를 오케스트레이션하는 명령을 실행합니다. 이 목적으로 Director 설치 사용자 생성 에서 stack 이라는 사용자가 생성됩니다. 이 사용자는 승격된 권한으로 구성됩니다.

stack 사용자로 Undercloud에 로그인합니다. 그런 다음 다음을 실행하여 NetApp 백엔드(Edit ~/templates/cinder-netapp-config.yaml에 정의된)를 배포합니다.

$ openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yaml
중요

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

director 오케스트레이션이 완료된 후 백엔드를 테스트합니다. 5장. 구성된 백엔드 테스트 을 참조하십시오.

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

백엔드를 배포한 후 해당 백엔드에 볼륨을 만들 수 있는지 여부를 테스트합니다. 이렇게 하려면 필요한 환경 변수를 먼저 로드해야 합니다. 이러한 변수는 기본적으로 /home/stack/overcloudrc에 정의됩니다.

이러한 변수를 로드하려면 stack 사용자로 다음 명령을 실행합니다.

$ source /home/stack/overcloudrc
참고

자세한 내용은 오버클라우드 액세스를 참조하십시오.

이제 컨트롤러 노드에 로그인해야 합니다. 여기에서 사용할 백엔드를 지정하는 데 사용할 수 있는 볼륨 유형 을 만들 수 있습니다(이 경우 새로 정의된 백엔드 3장. 백엔드 정의). 이는 다른 백엔드를 활성화한 OpenStack 배포에 필요합니다( director를 통해서도).

netapp이라는 볼륨 유형을 생성하려면 다음을 실행합니다.

$ cinder type-create netapp

다음으로 이 볼륨 유형을 에 정의된 백엔드에 매핑합니다. 백엔드 이름 tripleo_netapp ( CinderNetappBackendName 매개변수를 통해 정의됨) xref:edityaml[)이 지정된 경우 다음을 실행합니다.

$ cinder type-key netapp set volume_backend_name=tripleo_netapp

이제 볼륨 유형을 호출하여 새로 정의된 백엔드에 2GB 볼륨을 만들 수 있습니다. 이를 수행하려면 다음을 실행합니다.

$ cinder create --volume-type netapp 2

법적 공지

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.