Ansible을 사용하여 SolidFire ESDS를 설치합니다
기여자
Ansible과 같은 자동화 툴을 사용하여 SolidFire ESDS를 설치할 수 있습니다. Ansible에 대해 잘 알고 있다면 SolidFire ESDS 설치 및 클러스터 생성과 같은 여러 작업이 결합된 Ansible 플레이북을 하나 만들 수 있습니다.
일반 텍스트가 아닌 암호와 같은 중요한 정보는 Ansible Vault를 사용하십시오. 자세한 내용은 다음 링크를 참조하십시오.
|
플레이북이 아니라 재고 파일에 필요한 모든 변수를 지정해야 합니다. |
-
Anabilities-galaxy install 명령을 실행하여 NAR_solidfire_SDS_install 역할을 설치합니다.
ansible-galaxy install git+https://github.com/NetApp-Automation/nar_solidfire_sds_install.git
에서 역할을 복사하여 수동으로 설치할 수도 있습니다 "NetApp GitHub 저장소" '~/.Ansible/roles' 디렉토리에 역할을 합니다. NetApp은 역할 실행 방법에 대한 정보가 포함된 README 파일을 제공합니다.
항상 최신 버전의 역할을 다운로드해야 합니다. -
다운로드한 역할을 설치한 디렉토리에서 한 디렉토리로 이동합니다.
$ mv ~/.ansible/roles/ansible/nar_solidfire_sds_* ~/.ansible/roles/
-
Anabilities-galaxy role list 명령을 실행하여 Ansible이 새로운 역할을 활용하도록 구성되었는지 확인합니다.
$ ansible-galaxy role list # ~/.ansible/roles - nar_solidfire_sds_install, (unknown version) - nar_solidfire_sds_upgrade, (unknown version) - ansible, (unknown version) - nar_solidfire_sds_compliance, (unknown version) - nar_solidfire_cluster_config, (unknown version) - nar_solidfire_sds_uninstall, (unknown version)
역할과 연결된 README 파일에는 아래 그림과 같이 정의해야 하는 모든 필수 변수와 선택적 변수의 목록이 포함되어 있습니다. 다음 단계에서 작성할 재고 파일에 이러한 변수를 정의해야 합니다.
-
Ansible 작업 디렉토리에 재고 파일을 생성합니다.
인벤토리 파일에 SolidFire ESDS를 설치할 모든 호스트(노드)를 포함해야 합니다. 인벤토리 파일을 사용하면 Playbook(다음 단계에서 생성)을 통해 단일 명령으로 여러 호스트를 관리할 수 있습니다. 또한 스토리지 노드의 사용자 이름 및 암호, 관리 인터페이스 및 스토리지 인터페이스 이름 등의 변수를 정의해야 합니다. 재고 파일에 대한 다음 지침을 따르십시오. 장치 이름에 올바른 철자를 사용하십시오. 파일에서 올바른 형식을 사용합니다. 하나의 cacheDevice만 있는지 확인하십시오. 목록을 사용하여 storage_devices를 지정합니다.
이 슬라이드에는 HPE 서버의 스토리지 및 관리 인터페이스 이름이 나와 있습니다. Dell 서버가 있는 경우 캐시 디바이스 이름은 nvme1n1입니다. Dell 서버의 경우 mgmt_iface는 team1G이고 storage_iface는 team10G입니다. 샘플 재고 파일이 아래에 나와 있습니다. 여기에는 4개의 스토리지 노드가 포함됩니다. 이 예에서는 * 스토리지 노드 MIP * 를 스토리지 노드의 MIP 주소로 교체하고* 를 대체합니다 스토리지 노드의 사용자 이름 및 암호 사용
all: hosts: storage node MIP: storage node MIP: storage node MIP: storage node MIP: vars: ansible_connection: ssh ansible_ssh_common_args: -o StrictHostKeyChecking=no ansible_user: ***** ansible_ssh_pass: ***** solidfire_element_rpm: http://sf-artifactory.solidfire.net/artifactory/crux/solidfire-element-**.*.*.***-*.***.x86_64.rpm mgmt_iface: "team0" storage_iface: "team1" storage_devices: - "/dev/nvme0n1" - "/dev/nvme1n1" - "/dev/nvme2n1" - "/dev/nvme3n1" - "/dev/nvme4n1" - "/dev/nvme5n1" - "/dev/nvme6n1" - "/dev/nvme7n1" - "/dev/nvme8n1" cache_devices: - "/dev/nvme9n1"
-
인벤토리 파일에 정의된 호스트(노드)를 Ping하여 Ansible이 이러한 호스트와 통신할 수 있는지 확인하십시오.
-
RPM(Red Hat Package Manager) 파일을 Ansible 및 스토리지 노드를 실행하는 서버에서 액세스할 수 있는 로컬 웹 서버의 파일 디렉토리로 다운로드합니다.
-
Ansible 플레이북을 생성합니다. 이미 Playbook이 있는 경우 수정할 수 있습니다. NetApp이 제공하는 README 파일의 예를 사용할 수 있습니다.
-
이전 단계에서 생성한 플레이북을 실행하여 SolidFire ESDS를 설치합니다.
$ ansible-playbook -i inventory.yaml sample_playbook.yaml
sample_Playbook.YAML * 을 Playbook 이름 및 * inventory.YAML * 을 재고 파일 이름으로 바꾸십시오. Playbook을 실행하면 재고 파일에 나열된 각 노드에 'f_sds_config.yAML' 파일이 생성됩니다. 또한 각 스토리지 노드에서 SolidFire 서비스를 설치하고 시작합니다. S_SDS_config.YAML에 대한 자세한 내용은 를 참조하십시오 "여기".
-
콘솔의 Ansible 출력을 확인하여 각 노드에서 SolidFire 서비스가 시작되었는지 확인합니다.
다음은 샘플 출력입니다.
TASK [nar_solidfire_sds_install : Ensure the SolidFire eSDS service is started] ********************************************************************************************* changed: [10.61.68.52] changed: [10.61.68.54] changed: [10.61.68.51] changed: [10.61.68.53] PLAY RECAP ****************************************************************************************************************************************************************** 10.61.68.51 : ok=12 changed=3 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 10.61.68.52 : ok=12 changed=3 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 10.61.68.53 : ok=12 changed=3 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 10.61.68.54 : ok=12 changed=3 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0
-
SolidFire 서비스가 올바르게 시작되었는지 확인하려면 'stemctl status SolidFire' 명령을 실행하고 출력에서 Active:Active(Exited)… 를 확인합니다.