Linux에서 StorageGRID 호스트 서비스 설치 및 그리드 노드 구성 자동화
StorageGRID 호스트 서비스 설치 및 그리드 노드 구성을 자동화할 수 있습니다.
|
|
이 작업 정보
"Linux"는 RHEL, Ubuntu 또는 Debian 배포판을 의미합니다. 지원되는 버전 목록은 "NetApp 상호 운용성 매트릭스 툴(IMT)"을 참조하십시오.
|
배포 자동화는 다음과 같은 경우에 유용할 수 있습니다.
-
이미 Ansible, Puppet 또는 Chef와 같은 표준 오케스트레이션 프레임워크를 사용하여 물리적 또는 가상 호스트를 배포하고 구성하고 있습니다.
-
여러 개의 StorageGRID 인스턴스를 배포할 계획입니다.
-
규모가 크고 복잡한 StorageGRID 인스턴스를 배포하고 있습니다.
StorageGRID 호스트 서비스는 패키지 형태로 설치되며 구성 파일에 의해 관리됩니다. 다음 방법 중 하나를 사용하여 구성 파일을 생성할 수 있습니다.
-
"구성 파일을 생성합니다" 수동 설치 중에 대화형으로 작동합니다.
-
이 문서에 설명된 대로 표준 오케스트레이션 프레임워크를 사용하여 자동 설치를 가능하게 하려면 구성 파일을 미리(또는 프로그래밍 방식으로) 준비하십시오.
StorageGRID는 StorageGRID 어플라이언스와 전체 StorageGRID 시스템("그리드")의 구성을 자동화하기 위한 선택적 Python 스크립트를 제공합니다. 이러한 스크립트를 직접 사용하거나, 스크립트를 검토하여 직접 개발한 그리드 배포 및 구성 도구에서 "StorageGRID 설치 REST API"을 사용하는 방법을 학습할 수 있습니다.
StorageGRID 호스트 서비스의 설치 및 구성 자동화
Ansible, Puppet, Chef, Fabric 또는 SaltStack과 같은 표준 오케스트레이션 프레임워크를 사용하여 StorageGRID 호스트 서비스 설치를 자동화할 수 있습니다.
StorageGRID 호스트 서비스는 DEB(Ubuntu 또는 Debian) 또는 RPM(RHEL) 패키지로 제공되며, 자동 설치를 위해 사전에 준비하거나 프로그래밍 방식으로 생성할 수 있는 구성 파일을 기반으로 작동합니다. 이미 표준 오케스트레이션 프레임워크를 사용하여 Linux 배포판을 설치 및 구성하는 경우, 플레이북이나 레시피에 StorageGRID를 추가하는 것은 간단합니다.
호스트 준비 및 가상 그리드 노드 배포에 필요한 모든 단계를 자동화할 수 있습니다.
Ansible 역할 및 플레이북 예시
설치 아카이브의 /extras 폴더에 예제 Ansible 역할과 플레이북이 포함되어 있습니다. Ansible 플레이북은 storagegrid 역할이 호스트를 준비하고 대상 서버에 StorageGRID를 설치하는 방법을 보여줍니다. 필요에 따라 역할 또는 플레이북을 사용자 지정할 수 있습니다.
|
|
예제 플레이북에는 StorageGRID 호스트 서비스를 시작하기 전에 네트워크 장치를 생성하는 데 필요한 단계가 포함되어 있지 않습니다. 플레이북을 최종 확정하고 사용하기 전에 이러한 단계를 추가하십시오. |
RHEL의 경우, 제공된 storagegrid 역할 예제의 설치 작업은 ansible.builtin.dnf 모듈을 사용하여 로컬 RPM 파일 또는 원격 Yum 저장소에서 설치를 수행합니다. 모듈을 사용할 수 없거나 지원되지 않는 경우, 다음 파일에서 해당 Ansible 작업을 수정하여 yum 또는 ansible.builtin.yum 모듈을 사용하도록 해야 할 수 있습니다.
-
roles/storagegrid/tasks/rhel_install_from_repo.yml -
roles/storagegrid/tasks/rhel_install_from_local.yml
Ubuntu 또는 Debian의 경우, 제공된 storagegrid 역할 예제의 설치 작업은 ansible.builtin.apt 모듈을 사용하여 로컬 DEB 파일 또는 원격 apt 저장소에서 설치를 수행합니다. 모듈을 사용할 수 없거나 지원되지 않는 경우, 다음 파일에서 해당 Ansible 작업을 수정하여 ansible.builtin.apt 모듈을 사용해야 할 수 있습니다.
-
roles/storagegrid/tasks/deb_install_from_repo.yml -
roles/storagegrid/tasks/deb_install_from_local.yml
StorageGRID 구성 자동화
그리드 노드를 배포한 후에는 StorageGRID 시스템의 구성을 자동화할 수 있습니다.
-
설치 아카이브에서 다음 파일의 위치를 알고 있습니다.
파일 이름 설명 configure-storagegrid.py
구성을 자동화하는 데 사용되는 Python 스크립트
configure-storagegrid.sample.json
스크립트와 함께 사용할 예시 구성 파일
configure-storagegrid.blank.json
스크립트와 함께 사용할 빈 구성 파일
-
사용자가
configure-storagegrid.json구성 파일을 생성했습니다. 이 파일을 생성하려면 예제 구성 파일 (configure-storagegrid.sample.json) 또는 빈 구성 파일 (configure-storagegrid.blank.json)을 수정하면 됩니다.
|
|
수정된 configure-storagegrid.json 구성 파일의 암호 섹션에 있는 관리 암호와 프로비저닝 암호를 안전한 장소에 보관하십시오. 이러한 암호는 설치, 확장 및 유지 관리 절차에 필요합니다. 또한 수정된 configure-storagegrid.json 구성 파일을 백업하여 안전한 장소에 보관해야 합니다.
|
`configure-storagegrid.py` Python 스크립트와 `configure-storagegrid.json` 구성 파일을 사용하여 StorageGRID 시스템의 구성을 자동화할 수 있습니다.
|
|
그리드 관리자 또는 설치 API를 사용하여 시스템을 구성할 수도 있습니다. |
-
Python 스크립트를 실행하는 데 사용하는 Linux 시스템에 로그인합니다.
-
설치 압축 파일을 압축 해제한 디렉토리로 이동합니다.
예를 들면 다음과 같습니다.
cd StorageGRID-Webscale-version/platform
여기서
platform`는 `debs,rpms, 또는 `vsphere`입니다. -
Python 스크립트를 실행하고 생성한 구성 파일을 사용하십시오.
예를 들면 다음과 같습니다.
./configure-storagegrid.py ./configure-storagegrid.json --start-install
복구 패키지 .zip 파일은 구성 과정 중에 생성되어 설치 및 구성 프로세스를 실행하는 디렉터리로 다운로드됩니다. 하나 이상의 그리드 노드에 장애가 발생할 경우 StorageGRID 시스템을 복구할 수 있도록 복구 패키지 파일을 백업해야 합니다. 예를 들어, 안전한 네트워크 백업 위치와 안전한 클라우드 스토리지 위치에 복사해 두십시오.
|
|
복구 패키지 파일에는 StorageGRID 시스템에서 데이터를 가져오는 데 사용할 수 있는 암호화 키와 암호가 포함되어 있으므로 보안을 유지해야 합니다. |
무작위 암호 생성을 지정한 경우, Passwords.txt 파일을 열고 StorageGRID 시스템에 액세스하는 데 필요한 암호를 찾으십시오.
###################################################################### ##### The StorageGRID "Recovery Package" has been downloaded as: ##### ##### ./sgws-recovery-package-994078-rev1.zip ##### ##### Safeguard this file as it will be needed in case of a ##### ##### StorageGRID node recovery. ##### ######################################################################
StorageGRID 시스템 설치 및 구성이 완료되면 확인 메시지가 표시됩니다.
StorageGRID has been configured and installed.