Cloud Volumes ONTAP for Azure - 클라우드 사용 급증
이 기사에서는 NetApp Cloud Volumes ONTAP for Azure Automation Solution을 지원하며, NetApp 고객은 BlueXP 자동화 카탈로그 에서 이용할 수 있습니다.
Cloud Volumes ONTAP for Azure Automation 솔루션은 Terraform을 사용하여 Cloud Volumes ONTAP for Azure 컨테이너식 구축을 자동화하므로 수동 개입 없이 Azure용 Cloud Volumes ONTAP를 빠르게 배포할 수 있습니다.
-
BlueXP 웹 UI를 통해 자동화 솔루션을 다운로드해야 "Cloud Volumes ONTAP Azure - 클라우드 사용 급증"합니다. 솔루션은 다음과 같이 패키지되어 있습니다.
CVO-Azure-Burst-To-Cloud.zip
-
Cloud Volumes ONTAP와 동일한 네트워크에 Linux VM을 설치해야 합니다.
-
Linux VM을 설치한 후에는 이 솔루션의 단계에 따라 필요한 종속성을 설치해야 합니다.
1단계: Docker 및 Docker Compose를 설치합니다
Docker를 설치합니다
다음 단계에서는 Ubuntu 20.04 Debian Linux 배포 소프트웨어를 예로 사용합니다. 실행하는 명령은 사용 중인 Linux 배포 소프트웨어에 따라 다릅니다. 해당 구성에 대한 자세한 내용은 해당 Linux 배포 소프트웨어 설명서를 참조하십시오.
-
다음 명령을 실행하여 Docker를
sudo
설치합니다.sudo apt-get update sudo apt-get install apt-transport-https cacertificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” sudo apt-get update sudo apt-get install dockerce docker-ce-cli containerd.io
-
설치를 확인합니다.
docker –version
-
Linux 시스템에 "docker"라는 그룹이 생성되었는지 확인합니다. 필요한 경우 그룹을 생성합니다.
sudo groupadd docker
-
Docker에 액세스해야 하는 사용자를 그룹에 추가합니다.
sudo usermod -aG docker $(whoami)
-
변경 사항은 로그아웃한 후 터미널에 다시 로그인하면 적용됩니다. 또는 변경 사항을 즉시 적용할 수 있습니다.
newgrp docker
Docker Compose를 설치합니다
-
다음 명령을 실행하여 Docker Compose를
sudo
설치합니다.sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/dockercompose-(𝑢𝑛𝑎𝑚𝑒 − 𝑠)−(uname -m)” -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
-
설치를 확인합니다.
docker-compose –version
2단계: Docker 이미지 준비
-
`CVO-Azure-Burst-To-Cloud.zip`Cloud Volumes ONTAP를 배포하는 데 사용할 Linux VM에 폴더를 복사합니다.
scp -i ~/<private-key>.pem -r CVO-Azure-Burst-To-Cloud.zip <azureuser>@<IP_ADDRESS_OF_VM>:<LOCATION_TO_BE_COPIED>
-
private-key.pem
은(는) 암호 없이 로그인할 수 있는 개인 키 파일입니다. -
azureuser
VM 사용자 이름입니다. -
IP_ADDRESS_OF_VM
VM IP 주소입니다. -
LOCATION_TO_BE_COPIED
폴더가 복사될 위치입니다.
-
-
폴더 압축을
CVO-Azure-Burst-To-Cloud.zip
풉니다. 현재 디렉터리나 사용자 지정 위치에서 폴더의 압축을 풀 수 있습니다.현재 디렉터리에서 폴더를 추출하려면 다음을 실행합니다.
unzip CVO-Azure-Burst-To-Cloud.zip
사용자 지정 위치에서 폴더를 추출하려면 다음을 실행합니다.
unzip CVO-Azure-Burst-To-Cloud.zip -d ~/<your_folder_name>
-
콘텐츠의 압축을 푼 후 폴더로
CVO_Azure_Deployment
이동하고 다음 명령을 실행하여 파일을 봅니다.ls -la
다음 예제와 유사한 파일 목록이 표시됩니다.
drwxr-xr-x@ 11 user1 staff 352 May 5 13:56 . drwxr-xr-x@ 5 user1 staff 160 May 5 14:24 .. -rw-r--r--@ 1 user1 staff 324 May 5 13:18 .env -rw-r--r--@ 1 user1 staff 1449 May 5 13:18 Dockerfile -rw-r--r--@ 1 user1 staff 35149 May 5 13:18 LICENSE -rw-r--r--@ 1 user1 staff 13356 May 5 14:26 README.md -rw-r--r-- 1 user1 staff 354318151 May 5 13:51 cvo_azure_flexcache_ubuntu_image_latest drwxr-xr-x@ 4 user1 staff 128 May 5 13:18 cvo_azure_variables -rw-r--r--@ 1 user1 staff 996 May 5 13:18 docker-compose-deploy.yml -rw-r--r--@ 1 user1 staff 1041 May 5 13:18 docker-compose-destroy.yml -rw-r--r--@ 1 user1 staff 4771 May 5 13:18 sp_role.json
-
파일을 찾습니다
cvo_azure_flexcache_ubuntu_image_latest.tar.gz
. Cloud Volumes ONTAP for Azure를 구축하는 데 필요한 Docker 이미지가 포함되어 있습니다. -
파일의 압축을 풉니다.
docker load -i cvo_azure_flexcache_ubuntu_image_latest.tar.gz
-
Docker 이미지가 로드될 때까지 몇 분 기다린 다음 Docker 이미지가 성공적으로 로드되었는지 확인합니다.
docker images
다음 예와 같이 태그와 함께
latest
이름이 지정된 Docker 이미지가 표시됩니다cvo_azure_flexcache_ubuntu_image_latest
.REPOSITORY TAG IMAGE ID CREATED SIZE cvo_azure_flexcache_ubuntu_image latest 18db15a4d59c 2 weeks ago 1.14GB
3단계: 환경 변수 파일을 만듭니다
이 단계에서는 두 개의 환경 변수 파일을 만들어야 합니다. 한 파일은 서비스 사용자 자격 증명을 사용하여 Azure Resource Manager API를 인증하는 파일입니다. 두 번째 파일은 BlueXP Terraform 모듈이 Azure API를 찾고 인증할 수 있도록 환경 변수를 설정하는 것입니다.
-
서비스 보안 주체를 만듭니다.
환경 변수 파일을 만들려면 의 단계에 따라 서비스 보안 주체를 만들어야 "리소스에 액세스할 수 있는 Azure Active Directory 응용 프로그램 및 서비스 보안 주체를 만듭니다"합니다.
-
새로 만든 서비스 사용자에게 * Contributor * 역할을 할당합니다.
-
사용자 지정 역할을 만듭니다.
-
`sp_role.json`파일을 찾아 나열된 작업 아래에서 필요한 권한을 확인합니다.
-
이러한 권한을 삽입하고 사용자 지정 역할을 새로 만든 서비스 보안 주체에 연결합니다.
-
-
인증서 및 암호 * 로 이동하고 * 새 클라이언트 암호 * 를 선택하여 클라이언트 암호를 만듭니다.
클라이언트 암호를 만들 때 이 값을 다시 볼 수 없으므로 * 값 * 열의 세부 정보를 기록해야 합니다. 또한 다음 정보를 기록해야 합니다.
-
클라이언트 ID입니다
-
구독 ID입니다
-
테넌트 ID입니다
환경 변수를 생성하려면 이 정보가 필요합니다. 클라이언트 ID 및 테넌트 ID 정보는 서비스 사용자 UI의 * 개요 * 섹션에서 찾을 수 있습니다.
-
-
환경 파일을 만듭니다.
-
다음 위치에 파일을 만듭니다
azureauth.env
.path/to/env-file/azureauth.env
-
파일에 다음 내용을 추가합니다.
클라이언트 ID = <> clientSecret = <> 아래 첨자 ID = <> tenantId = <>
-
형식은 키와 값 사이에 공백을 제외하고 위에 표시된 것과 정확히 일치해야 합니다.
-
-
-
다음 위치에 파일을 만듭니다
credentials.env
.path/to/env-file/credentials.env
-
파일에 다음 내용을 추가합니다.
Azure_Tenant_ID=<> Azure_client_secret=<> Azure_client_ID=<> Azure_subscription_ID=<>
-
형식은 키와 값 사이에 공백을 제외하고 위에 표시된 것과 정확히 일치해야 합니다.
-
-
-
-
절대 파일 경로를
.env
파일에 추가합니다.환경 변수에 해당하는 파일에
AZURE_RM_CREDS
환경 파일의.env
절대 경로를 입력합니다azureauth.env
.AZURE_RM_CREDS=path/to/env-file/azureauth.env
환경 변수에 해당하는 파일에
BLUEXP_TF_AZURE_CREDS
환경 파일의.env
절대 경로를 입력합니다credentials.env
.BLUEXP_TF_AZURE_CREDS=path/to/env-file/credentials.env
4단계: BlueXP 에 Cloud Volumes ONTAP 라이선스를 추가하거나 BlueXP 에 가입합니다
Cloud Volumes ONTAP 라이선스를 BlueXP 에 추가하거나 Azure 마켓플레이스에서 NetApp BlueXP 에 가입할 수 있습니다.
-
Azure 포털에서 * SaaS * 로 이동하고 * Subscribe to NetApp BlueXP * 를 선택합니다.
-
Cloud Manager(시간당 Cap PYGO, WORM 및 데이터 서비스 기준) * 계획을 선택합니다.
Cloud Volumes ONTAP와 동일한 리소스 그룹을 사용하거나 다른 리소스 그룹을 사용할 수 있습니다.
-
BlueXP 포털을 구성하여 SaaS 구독을 BlueXP 로 가져옵니다.
Azure 포털에서 * 제품 및 계획 세부 정보 * 로 이동하고 * 지금 계정 구성 * 옵션을 선택하여 직접 구성할 수 있습니다.
그런 다음 BlueXP 포털로 리디렉션되어 구성을 확인합니다.
-
BlueXP 포털에서 * 저장 * 을 선택하여 구성을 확인합니다.
5단계: 외부 볼륨을 만듭니다
Terraform 상태 파일과 기타 중요한 파일을 영구적으로 유지하려면 외부 볼륨을 생성해야 합니다. Terraform에서 워크플로 및 배포를 실행하려면 파일을 사용할 수 있는지 확인해야 합니다.
-
Docker 외부에서 외부 볼륨 생성 Compose:
docker volume create « volume_name »
예:
docker volume create cvo_azure_volume_dst
-
다음 옵션 중 하나를 사용합니다.
-
환경 파일에 외부 볼륨 경로를 추가합니다
.env
.아래 표시된 형식을 정확히 따라야 합니다.
형식:
PERSISTENT_VOL=path/to/external/volume:/cvo_azure
예:
PERSISTENT_VOL=cvo_azure_volume_dst:/cvo_azure
-
NFS 공유를 외부 볼륨으로 추가합니다.
Docker 컨테이너가 NFS 공유와 통신할 수 있으며 읽기/쓰기와 같은 올바른 권한이 구성되어 있는지 확인합니다.
-
다음과 같이 NFS 공유 경로를 Docker Compose 파일의 외부 볼륨에 대한 경로로 추가합니다. 형식:
PERSISTENT_VOL=path/to/nfs/volume:/cvo_azure
-
예:
PERSISTENT_VOL=nfs/mnt/document:/cvo_azure
-
-
`cvo_azure_variables`폴더로 이동합니다.
폴더에 다음 변수 파일이 표시됩니다.
terraform.tfvars
variables.tf
-
요구 사항에 따라 파일 내의 값을
terraform.tfvars
변경합니다.파일의 변수 값을 수정할 때는 특정 지원 문서를 읽어야
terraform.tfvars
합니다. 값은 지역, 가용 영역 및 Cloud Volumes ONTAP for Azure에서 지원하는 기타 요인에 따라 달라질 수 있습니다. 여기에는 단일 노드에 대한 라이센스, 디스크 크기, VM 크기 및 고가용성(HA) 쌍이 포함됩니다.커넥터 및 Cloud Volumes ONTAP Terraform 모듈에 대한 모든 지원 변수가 파일에 이미 정의되어
variables.tf
있습니다. 파일에 추가하기 전에 파일의terraform.tfvars
변수 이름을 참조해야variables.tf
합니다. -
요구 사항에 따라 다음 옵션을 또는
false
로 설정하여 FlexCache 및 FlexClone를 활성화하거나 비활성화할 수true
있습니다.다음 예에서는 FlexCache 및 FlexClone를 사용합니다.
-
is_flexcache_required = true
-
is_flexclone_required = true
-
-
필요한 경우 Azure Active Directory 서비스에서 Terraform 변수의 값을 검색할 수 있습니다
az_service_principal_object_id
.-
엔터프라이즈 애플리케이션 –> 모든 애플리케이션 * 으로 이동하고 앞서 생성한 서비스 사용자 이름을 선택합니다.
-
객체 ID를 복사하고 Terraform 변수의 값을 삽입합니다.
az_service_principal_object_id
-
6단계: Azure용 Cloud Volumes ONTAP를 배포합니다
다음 단계에 따라 Azure용 Cloud Volumes ONTAP를 배포합니다.
-
루트 폴더에서 다음 명령을 실행하여 배포를 트리거합니다.
docker-compose up -d
두 개의 컨테이너가 트리거되고 첫 번째 컨테이너가 Cloud Volumes ONTAP를 배포하며 두 번째 컨테이너가 원격 측정 데이터를 AutoSupport로 전송합니다.
두 번째 컨테이너는 첫 번째 컨테이너가 모든 단계를 성공적으로 완료할 때까지 대기합니다.
-
로그 파일을 사용하여 배포 프로세스의 진행 상황을 모니터링합니다.
docker-compose logs -f
이 명령은 실시간으로 출력을 제공하고 다음 로그 파일에 데이터를 캡처합니다.
deployment.log
telemetry_asup.log
다음 환경 변수를 사용하여 파일을 편집하여 이러한 로그 파일의 이름을 변경할 수
.env
있습니다.DEPLOYMENT_LOGS
TELEMETRY_ASUP_LOGS
다음 예제에서는 로그 파일 이름을 변경하는 방법을 보여 줍니다.
DEPLOYMENT_LOGS=<your_deployment_log_filename>.log
TELEMETRY_ASUP_LOGS=<your_telemetry_asup_log_filename>.log
다음 단계에 따라 임시 환경을 제거하고 배포 프로세스 중에 만든 항목을 정리할 수 있습니다.
-
FlexCache를 배포한 경우 파일에 다음 옵션을
terraform.tfvars
설정하면 FlexCache 볼륨이 지워지고 이전에 생성된 임시 환경이 제거됩니다.flexcache_operation = "destroy"
가능한 옵션은 `deploy`및 `destroy`입니다. -
FlexClone를 배포한 경우 파일에 다음 옵션을
terraform.tfvars
설정하면 FlexClone 볼륨이 지워지고 이전에 생성된 임시 환경이 제거됩니다.flexclone_operation = "destroy"
가능한 옵션은 deploy
및 `destroy`입니다.