13장. 컨트롤러 노드 교체


특정 상황에서 고가용성 클러스터의 컨트롤러 노드에 오류가 발생할 수 있습니다. 이러한 경우 클러스터에서 해당 노드를 삭제하고 새 컨트롤러 노드로 교체해야 합니다.

컨트롤러 노드를 교체하려면 이 섹션에 있는 단계를 완료하십시오. 컨트롤러 노드 교체 프로세스에는 컨트롤러 노드 교체 요청으로 오버클라우드를 업데이트하는 openstack overcloud deploy 명령 실행 과정이 포함됩니다.

중요

다음 절차는 고가용성 환경에만 적용됩니다. 컨트롤러 노드를 하나만 사용하는 경우에는 다음 절차를 사용하지 마십시오.

13.1. 컨트롤러 교체 준비

오버클라우드 컨트롤러 노드를 교체하기 전에 Red Hat OpenStack Platform 환경의 현재 상태를 확인하는 것이 중요합니다. 현재 상태를 확인하면 컨트롤러 교체 프로세스 중에 복잡한 문제가 발생하는 것을 방지할 수 있습니다. 다음 사전 점검 목록을 사용하여 컨트롤러 노드 교체를 수행하는 것이 안전한지 확인합니다. 언더클라우드에서 검사 명령을 모두 실행합니다.

절차

  1. 언더클라우드에서 overcloud 스택의 현재 상태를 확인합니다.

    $ source stackrc
    (undercloud) $ openstack stack list --nested
    Copy to Clipboard Toggle word wrap

    overcloud 스택 및 해당 하위 스택에 CREATE_COMPLETE 또는 UPDATE_COMPLETE가 있어야 합니다.

  2. 언더클라우드 데이터베이스 백업을 수행합니다.

    (undercloud) $ mkdir /home/stack/backup
    (undercloud) $ sudo mysqldump --all-databases --quick --single-transaction | gzip > /home/stack/backup/dump_db_undercloud.sql.gz
    Copy to Clipboard Toggle word wrap
  3. 새 노드를 프로비저닝할 때 언더클라우드에 이미지 캐싱 및 변환을 수행하는 데 필요한 10GB의 사용 가능한 스토리지가 있는지 확인합니다.
  4. 새 컨트롤러 노드의 IP 주소를 재사용하는 경우 이전 컨트롤러에서 사용하는 포트를 삭제해야 합니다.

    (undercloud) $ openstack port delete <port>
    Copy to Clipboard Toggle word wrap
  5. 실행 중인 컨트롤러 노드에서 Pacemaker의 상태를 확인합니다. 예를 들어 192.168.0.47이 실행 중인 컨트롤러 노드의 IP 주소인 경우 다음 명령을 사용하여 Pacemaker 상태 정보를 가져옵니다.

    (undercloud) $ ssh heat-admin@192.168.0.47 'sudo pcs status'
    Copy to Clipboard Toggle word wrap

    출력에 기존 노드에서 실행 중인 서비스와 실패한 노드에서 중지된 모든 서비스가 표시됩니다.

  6. 오버클라우드의 MariaDB 클러스터에 있는 각 노드에서 다음 매개변수를 확인합니다.

    • wsrep_local_state_comment: synced
    • wsrep_cluster_size: 2

      다음 명령을 사용하여 실행 중인 각 컨트롤러 노드에서 해당 매개변수를 확인합니다. 이 예제에서 컨트롤러 노드 IP 주소는 192.168.0.47 및 192.168.0.46입니다.

      (undercloud) $ for i in 192.168.0.47 192.168.0.46 ; do echo "*** $i ***" ; ssh heat-admin@$i "sudo mysql -p\$(sudo hiera -c /etc/puppet/hiera.yaml mysql::server::root_password) --execute=\"SHOW STATUS LIKE 'wsrep_local_state_comment'; SHOW STATUS LIKE 'wsrep_cluster_size';\""; done
      Copy to Clipboard Toggle word wrap
  7. RabbitMQ 상태를 확인합니다. 예를 들어 192.168.0.47이 실행 중인 컨트롤러 노드의 IP 주소이면 다음 명령을 사용하여 상태 정보를 가져옵니다.

    (undercloud) $ ssh heat-admin@192.168.0.47 "sudo docker exec \$(sudo docker ps -f name=rabbitmq-bundle -q) rabbitmqctl cluster_status"
    Copy to Clipboard Toggle word wrap

    running_nodes 키는 사용 가능한 두 개의 노드만 표시하고, 실패한 노드는 표시하지 않습니다.

  8. 펜싱이 활성화된 경우 비활성화합니다. 예를 들어 실행 중인 컨트롤러 노드의 IP 주소가 192.168.0.47인 경우 다음 명령을 사용하여 펜싱을 비활성화합니다.

    (undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs property set stonith-enabled=false"
    Copy to Clipboard Toggle word wrap

    다음 명령을 사용하여 펜싱 상태를 확인합니다.

    (undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs property show stonith-enabled"
    Copy to Clipboard Toggle word wrap
  9. director 노드에서 nova-compute 서비스를 확인합니다.

    (undercloud) $ sudo systemctl status openstack-nova-compute
    (undercloud) $ openstack hypervisor list
    Copy to Clipboard Toggle word wrap

    출력에 모든 유지보수 이외의 모드 노드가 up으로 표시됩니다.

  10. 모든 언더클라우드 서비스가 실행 중인지 확인합니다.

    (undercloud) $ sudo systemctl -t service
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동