부록 A. 문제 해결
A.1. Ansible은 설치를 중지하기 때문에 Less Devices Than it Expected 링크 복사링크가 클립보드에 복사되었습니다!
Ansible 자동화 애플리케이션은 설치 프로세스를 중지하고 다음 오류를 반환합니다.
- name: fix partitions gpt header or labels of the osd disks (autodiscover disks)
shell: "sgdisk --zap-all --clear --mbrtogpt -- '/dev/{{ item.0.item.key }}' || sgdisk --zap-all --clear --mbrtogpt -- '/dev/{{ item.0.item.key }}'"
with_together:
- "{{ osd_partition_status_results.results }}"
- "{{ ansible_devices }}"
changed_when: false
when:
- ansible_devices is defined
- item.0.item.value.removable == "0"
- item.0.item.value.partitions|count == 0
- item.0.rc != 0
이것이 의미하는 것은 다음과 같습니다.
/usr/share/ceph-ansible/group_vars/osds.yml 파일에서 osd_auto_discovery 매개 변수가 true 로 설정된 경우 Ansible은 사용 가능한 모든 장치를 자동으로 탐지하고 구성합니다. 이 프로세스 중에 Ansible은 모든 OSD에서 동일한 장치를 사용할 것으로 예상합니다. 장치는 Ansible이 감지하는 것과 동일한 순서로 이름을 가져옵니다. OSD 중 하나에서 장치 중 하나가 실패하면 Ansible에서 실패한 장치를 감지하지 못하고 전체 설치 프로세스를 중지합니다.
예제 상황:
-
3개의 OSD 노드(
host1,host2,host3)는/dev/sdb,/dev/sdc,dev/sdd디스크를 사용합니다. -
host2에서/dev/sdc디스크가 실패하고 제거됩니다. -
다음 재부팅 시 Ansible은 제거된
디스크를 감지하지 못하고 두 디스크만/dev/sdchost2,/dev/sdb및 /dev/sdc(이전/dev/sdd)에 사용될 것으로 예상됩니다. - Ansible은 설치 프로세스를 중지하고 위의 오류 메시지를 반환합니다.
문제를 해결하려면 다음을 수행하십시오.
/etc/ansible/hosts 파일에서 오류가 발생한 디스크(위의 예 상황에서host 2)에서 OSD 노드에서 사용하는 장치를 지정합니다.
[osds]
host1
host2 devices="[ '/dev/sdb', '/dev/sdc' ]"
host3
자세한 내용은 3장. Red Hat Ceph Storage 배포 을 참조하십시오.