3.9. preflight Playbook 실행
이 Ansible Playbook은 Ceph 리포지토리를 구성하고 부트 스트랩을 위해 스토리지 클러스터를 준비합니다. podman,lvm2,chrony, cephadm 패키지와 같은 일부 사전 요구 사항도 설치합니다. cephadm-ansible 및 cephadm-preflight.yml 의 기본 위치는 /usr/share/cephadm-ansible 입니다.
초기 호스트를 부트스트랩하기 전에 preflight 플레이북을 실행합니다.
preflight 플레이북은 cephadm-ansible 인벤토리 파일을 사용하여 관리 노드와 스토리지 클러스터의 다른 모든 노드를 식별합니다.
인벤토리 파일의 기본 위치는 /usr/share/cephadm-ansible/hosts 입니다. 다음 예제는 일반적인 인벤토리 파일의 구조를 보여줍니다.
예
host02
host03
host04
[admin]
host01
인벤토리 파일의 [admin] 그룹에는 관리자 인증 키가 저장된 노드의 이름이 포함되어 있습니다. 새 스토리지 클러스터에서 [admin] 그룹의 노드는 부트스트랩 노드가 됩니다. 클러스터를 부트 스트랩한 후 추가 관리 호스트를 추가하려면 설치 가이드에서 관리 노드 설정을 참조하십시오.
preflight Playbook은 Red Hat Ceph Storage 배포를 위한 최적의 시스템 구성을 보장하기 위해 포괄적인 검사 및 작업 세트를 제공합니다.
Playbook 검사 및 작업에는 다음이 포함됩니다.
운영 체제 구성 수정
- Red Hat Enterprise Linux 버전.
- 올바른 소프트웨어 프로필입니다.
- 모든 필수 패키지가 설치됩니다. 패키지가 누락된 경우 플레이북은 필수 누락된 패키지를 설치합니다.
올바른 하드웨어 구성입니다.
- CPU 구성
- RAM 구성
- 메모리 스왑 공간
- NIC(네트워크 인터페이스 카드) 구성
-
root-filesystem및/var의 분리 .
비연결 설치를 수행하는 경우 비연결 설치를 위한 preflight 플레이북 실행을 참조하십시오.
preflight 플레이북은 chrony 를 설치하지만 단일 NTP 소스를 위해 구성합니다. 여러 소스를 구성하거나 연결이 끊긴 환경이 있는 경우 자세한 내용은 다음 설명서를 참조하십시오.
다음 예에서 host01 은 부트스트랩 노드입니다.
사전 요구 사항
시작하기 전에 다음 사전 요구 사항이 있는지 확인하십시오.
- Ansible 관리 노드에 대한 루트 수준 액세스.
-
sudo 및 암호 없이
ssh를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다. -
dnf install cephadm-ansible명령을 사용하여 설치된 cephadm-ansible 패키지
프로세스
-
/usr/share/cephadm-ansible디렉터리로 이동합니다. hosts파일을 열고 편집하고 노드를 추가합니다.예
host02 host03 host04 [admin] host01preflight 플레이북을 실행합니다.
클러스터의 모든 호스트에 대해 플레이북을 실행하거나 클러스터에서 선택한 호스트 세트에 대해 preflight 플레이북을 실행합니다.
참고preflight 플레이북을 실행하면
cephadm-ansible이 클라이언트 노드에chrony및ceph-common패키지를 자동으로 설치합니다.설치가 완료되면 cephadm 은 /usr/sbin/ 디렉터리에 있습니다.
클러스터의 모든 호스트에 대해 플레이북을 실행합니다.
구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"Preflight Check Report 및 Summary 는 통과, 실패 및 정보 검사를 생성하고 강조 표시합니다.
그림 3.1. preflight 플레이북 출력 예
보고서의 각 출력 유형에는 해당 시각적 표시가 있습니다. 다음 표를 사용하여 보고서를 파악합니다.
중요모든 수표는 정보일 뿐입니다. 실패로 인해 검사 실행이 중지되지 않습니다.
Expand 표 3.1. preflight Check Report 키 보고서 유형 해당 아이콘 설명 전달됨
기준 또는 권장 값 충족
INFO
일반 시스템 또는 환경 정보 세부 정보.
Failed
권장 값을 충족하지 않습니다. 이는 정보 제공에 불과합니다.
보고서 끝에 Summary 섹션이 제공됩니다. 요약 에서는 실패한 검사에 대한 정보를 제공합니다.
참고이 보고서는 플레이북이
./preflight_report.txt로 실행된 현재 작업 디렉터리에 저장됩니다. 보고서 경로는 요약 보고서 뒤에 표시됩니다.--limit옵션을 사용하여 스토리지 클러스터에서 선택한 호스트 세트에서 preflight 플레이북을 실행합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit GROUP_NAME|NODE_NAMEGROUP_NAME 을 인벤토리 파일의 그룹 이름으로 바꿉니다. NODE_NAME 을 인벤토리 파일의 특정 노드 이름으로 바꿉니다.
참고선택적으로
[mons],[osds]및[mgrs]와 같은 그룹 이름으로 인벤토리 파일의 노드를 그룹화할 수 있습니다. 그러나 관리 노드를[admin]그룹에 추가해야 하며 클라이언트가[clients]그룹에 추가해야 합니다.예제
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host01
검증
- preflight 확인 중에 플래그가 지정된 모든 문제를 업데이트하거나 해결합니다.
패키지가 성공적으로 설치되었는지 확인합니다.
예
[ansible@admin cephadm-ansible]$ rpm -q chrony ceph-common chrony-4.5-3.el9.x86_64 ceph-common-19.2.0-55.el9cp.x86_64