3.10.7. 연결이 끊긴 설치를 위해 preflight Playbook 실행
cephadm-preflight.yml Ansible 플레이북을 사용하여 Ceph 리포지토리를 구성하고 부트스트랩을 위해 스토리지 클러스터를 준비합니다. podman,lvm2,chrony, cephadm 과 같은 몇 가지 사전 요구 사항도 설치합니다.
preflight 플레이북은 cephadm-ansible 인벤토리 hosts 파일을 사용하여 스토리지 클러스터의 모든 노드를 식별합니다. cephadm-ansible, cephadm-preflight.yml, 인벤토리 hosts 파일의 기본 위치는 /usr/share/cephadm-ansible/입니다.
다음 예제는 일반적인 인벤토리 파일의 구조를 보여줍니다.
예
host02
host03
host04
[admin]
host01
인벤토리 파일의 [admin] 그룹에는 관리자 인증 키가 저장된 노드의 이름이 포함되어 있습니다.
초기 호스트를 부트스트랩하기 전에 preflight 플레이북을 실행합니다.
사전 요구 사항
-
cephadm-ansible패키지가 Ansible 관리 노드에 설치되어 있습니다. - 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
-
암호 없는
ssh는 스토리지 클러스터의 모든 호스트에 설정됩니다. 다음 리포지토리가 활성화된 로컬 YUM 리포지토리 서버에 액세스하도록 구성된 노드.
- rhel-9-for-x86_64-baseos-rpms
- rhel-9-for-x86_64-appstream-rpms
- rhceph-8-tools-for-rhel-9-x86_64-rpms
로컬 YUM 리포지토리 설정에 대한 자세한 내용은 기술 자료 문서 Creating a Local Repository and Sharing with Disconnected/Offline/Air-gapped Systems를 참조하십시오.
프로세스
-
Ansible 관리 노드의
/usr/share/cephadm-ansible디렉터리로 이동합니다. -
hosts파일을 열고 편집하고 노드를 추가합니다. 로컬 YUM 리포지토리를 사용하려면
ceph_origin매개변수가custom으로 설정된 상태에서 preflight 플레이북을 실행합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL"예
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/"설치가 완료되면
cephadm은/usr/sbin/디렉터리에 있습니다.참고registries.conf파일의 내용을 Ansible 플레이북으로 채웁니다.구문
ansible-playbook -vvv -i INVENTORY_HOST_FILE_ cephadm-set-container-insecure-registries.yml -e insecure_registry=REGISTRY_URL예
[root@admin ~]# ansible-playbook -vvv -i hosts cephadm-set-container-insecure-registries.yml -e insecure_registry=host01:5050또는
--limit옵션을 사용하여 스토리지 클러스터에서 선택한 호스트 집합에서 preflight 플레이북을 실행할 수 있습니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL" --limit GROUP_NAME|NODE_NAMEGROUP_NAME 을 인벤토리 파일의 그룹 이름으로 바꿉니다. NODE_NAME 을 인벤토리 파일의 특정 노드 이름으로 바꿉니다.
예
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit host02참고preflight 플레이북을 실행하면
cephadm-ansible이 클라이언트 노드에chrony및ceph-common을 자동으로 설치합니다.