4.3. monmap삽입
Ceph 모니터에 오래되거나 손상된 Ceph Monitor 맵(monmap
)이 있는 경우 잘못된 IP 주소의 다른 Ceph 모니터에 도달하려고 하므로 쿼럼에 참여할 수 없습니다.
이 문제를 해결하는 가장 안전한 방법은 다른 Ceph Monitor에서 실제 Ceph 모니터 맵을 가져와 삽입하는 것입니다.
이 작업은 Ceph Monitor에서 유지하는 기존 Ceph Monitor 맵을 덮어씁니다.
다음 절차에서는 다른 Ceph 모니터가 쿼럼을 형성하거나 하나 이상의 Ceph 모니터에 올바른 Ceph Monitor 맵이 있는 경우 Ceph Monitor 맵을 삽입하는 방법을 보여줍니다. 모든 Ceph 모니터에 손상된 저장소가 있으므로 Ceph Monitor 맵도 참조하십시오. https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/5/html-single/troubleshooting_guide/#recovering-the-ceph-monitor-store
사전 요구 사항
- Ceph 모니터 맵에 액세스합니다.
- Ceph Monitor 노드에 대한 루트 수준 액세스입니다.
절차
나머지 Ceph 모니터가 쿼럼을 형성할 수 있는 경우
ceph mon getmap
명령을 사용하여 Ceph Monitor 맵을 가져옵니다.예제
[ceph: root@host01 /]# ceph mon getmap -o /tmp/monmap
나머지 Ceph 모니터가 쿼럼을 형성할 수 없고 올바른 Ceph Monitor 맵을 사용하여 하나 이상의 Ceph Monitor가 있는 경우 해당 Ceph Monitor에서 복사합니다.
Ceph Monitor 맵을 복사하려는 Ceph Monitor를 중지하십시오.
구문
systemctl stop ceph-FSID@DAEMON_NAME
예제
[root@mon ~]# systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
Ceph 모니터 맵을 복사합니다.
구문
ceph-mon -i ID --extract-monmap /tmp/monmap
ID
를 다음에서 Ceph Monitor 맵을 복사하려는 Ceph Monitor ID로 바꿉니다.예제
[ceph: root@host01 /]# ceph-mon -i mon.a --extract-monmap /tmp/monmap
손상되거나 오래된 Ceph 모니터 맵을 사용하여 Ceph 모니터를 중지합니다.
구문
systemctl stop ceph-FSID@DAEMON_NAME
예제
[root@mon ~]# systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
Ceph 모니터 맵 삽입:
구문
ceph-mon -i ID --inject-monmap /tmp/monmap
ID
를 Ceph Monitor의 ID로 교체하거나 오래된 Ceph 모니터 맵으로 바꿉니다.예제
[root@mon ~]# ceph-mon -i mon.host01 --inject-monmap /tmp/monmap
Ceph 모니터를 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME
예제
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
다른 Ceph Monitor에서 Ceph Monitor 맵을 복사한 경우 해당 Ceph Monitor도 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME
예제
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service