17.8. 컨트롤러 노드 교체 후 정리

노드 교체를 완료한 후에는 다음 단계를 완료하여 컨트롤러 클러스터를 종료합니다.

절차

  1. 컨트롤러 노드에 로그인합니다.
  2. Galera 클러스터의 Pacemaker 관리를 활성화하고 새 노드에서 Galera를 시작합니다.

    [heat-admin@overcloud-controller-0 ~]$ sudo pcs resource refresh galera-bundle
    [heat-admin@overcloud-controller-0 ~]$ sudo pcs resource manage galera-bundle
  3. 최종 상태 검사를 수행하여 서비스가 올바르게 실행 중인지 확인합니다.

    [heat-admin@overcloud-controller-0 ~]$ sudo pcs status
    참고

    서비스가 실패한 경우 pcs resource refresh 명령을 사용하여 문제를 해결한 후 실패한 서비스를 다시 시작합니다.

  4. director를 종료합니다.

    [heat-admin@overcloud-controller-0 ~]$ exit
  5. 오버클라우드와 상호 작용할 수 있도록 source 명령으로 overcloudrc 파일을 로드합니다.

    $ source ~/overcloudrc
  6. 오버클라우드 환경의 네트워크 에이전트를 확인합니다.

    (overcloud) $ openstack network agent list
  7. 기존 노드의 에이전트가 표시되는 경우 삭제합니다.

    (overcloud) $ for AGENT in $(openstack network agent list --host overcloud-controller-1.localdomain -c ID -f value) ; do openstack network agent delete $AGENT ; done
  8. 필요한 경우 새 노드의 L3 에이전트 호스트에 라우터를 추가합니다. 다음 예제 명령을 사용하여 UUID가 2d1c1dc1-d9d4-4fa9-b2c8-f29cd1a649d4인 L3 에이전트에 r1이라는 라우터를 추가합니다.

    (overcloud) $ openstack network agent add router --l3 2d1c1dc1-d9d4-4fa9-b2c8-f29cd1a649d4 r1
  9. cinder 서비스를 정리합니다.

    1. cinder 서비스를 나열합니다.

      (overcloud) $ openstack volume service list
    2. 컨트롤러 노드에 로그인하고 cinder-api 컨테이너에 연결하고 cinder-manage service remove 명령을 사용하여 남은 서비스를 제거합니다.

      [heat-admin@overcloud-controller-0 ~]$ sudo podman exec -it cinder_api cinder-manage service remove cinder-backup <host>
      [heat-admin@overcloud-controller-0 ~]$ sudo podman exec -it cinder_api cinder-manage service remove cinder-scheduler <host>
  10. RabbitMQ 클러스터를 정리합니다.

    1. 컨트롤러 노드에 로그인합니다.
    2. podman exec 명령을 사용하여 bash를 시작하고 RabbitMQ 클러스터의 상태를 확인합니다.

      [heat-admin@overcloud-controller-0 ~]$ podman exec -it rabbitmq-bundle-podman-0 bash
      [heat-admin@overcloud-controller-0 ~]$ rabbitmqctl cluster_status
    3. rabbitmqctl 명령을 사용하여 교체된 컨트롤러 노드를 잊어버십시오.

      [heat-admin@overcloud-controller-0 ~]$ rabbitmqctl forget_cluster_node <node_name>
  11. 부트스트랩 컨트롤러 노드를 교체한 경우 교체 프로세스 후에 환경 파일 ~/templates/bootstrap-controller.yaml을 제거하거나 기존 환경 파일에서 pacemaker_short_bootstrap_node_namemysql_short_bootstrap_node_name 매개변수를 삭제해야 합니다. 이 단계에서는 director가 후속 교체에서 컨트롤러 노드 이름을 재정의하지 않습니다. 자세한 내용은 xref:proc_replacing-a-bootstrap-controller-node_replacing-controller-nodes\[.*\]를 참조하십시오.