18.5. 컴퓨팅 노드 재부팅

Red Hat OpenStack Platform 환경에서 인스턴스 다운 타임을 최소화할 수 있도록 인스턴스 마이그레이션 워크플로 에서는 재부팅하려는 컴퓨팅 노드에서 인스턴스를 마이그레이션하기 위해 완료해야 하는 단계를 간략하게 설명합니다.

참고

소스 컴퓨팅 노드에서 다른 컴퓨팅 노드로 인스턴스를 마이그레이션하지 않으면 소스 컴퓨팅 노드에서 인스턴스가 다시 시작될 수 있으므로 업그레이드에 실패할 수 있습니다. 이는 Podman 및 libvirt 서비스의 변경과 관련된 알려진 문제와 관련이 있습니다.

인스턴스 워크플로 마이그레이션

  1. 노드를 재부팅하기 전에 인스턴스를 다른 컴퓨팅 노드로 마이그레이션할지 여부 결정
  2. 새 인스턴스를 프로비저닝하지 않도록 재부팅할 컴퓨팅 노드를 선택하고 비활성화합니다.
  3. 인스턴스를 다른 컴퓨팅 노드로 마이그레이션
  4. 빈 컴퓨팅 노드 재부팅
  5. 빈 컴퓨팅 노드 활성화

사전 요구 사항

  • 컴퓨팅 노드를 재부팅하기 전에 노드가 재부팅되는 동안 인스턴스를 다른 컴퓨팅 노드로 마이그레이션할지 여부를 결정해야합니다.

    컴퓨팅 노드 간에 가상 머신 인스턴스를 마이그레이션할 때 발생할 수 있는 마이그레이션 제약 조건 목록을 검토하십시오. 자세한 내용은 Configuring the Compute Service for Instance Creation에서 마이그레이션 제한 조건을 참조하십시오.

  • 인스턴스를 마이그레이션할 수 없는 경우 다음과 같은 코어 템플릿 매개변수를 설정하여 컴퓨팅 노드를 재부팅한 후의 인스턴스 상태를 제어할 수 있습니다.

    NovaResumeGuestsStateOnHostBoot
    재부팅한 후에 컴퓨팅 노드에서 인스턴스를 동일한 상태로 되돌릴지 여부를 결정합니다. False로 설정하면 인스턴스가 다운된 상태로 유지되며 수동으로 시작해야 합니다. 기본값은 False 입니다.
    NovaResumeGuestsShutdownTimeout

    재부팅하기 전에 인스턴스가 종료될 때까지 대기하는 시간(초)입니다. 이 값을 0으로 설정하지 않는 것이 좋습니다. 기본값은 300 입니다.

    오버클라우드 매개변수 및 사용법에 관한 자세한 내용은 Overcloud Parameters를 참조하십시오.

    절차

    1. stack 사용자로 언더클라우드에 로그인합니다.
    2. 모든 컴퓨팅 노드 및 해당 UUID를 나열합니다.

      $ source ~/stackrc
      (undercloud) $ openstack server list --name compute

      재부팅할 컴퓨팅 노드의 UUID를 확인합니다.

    3. 언더클라우드에서 컴퓨팅 노드를 선택하고 비활성화합니다.

      $ source ~/overcloudrc
      (overcloud) $ openstack compute service list
      (overcloud) $ openstack compute service set <hostname> nova-compute --disable
    4. 컴퓨팅 노드에 모든 인스턴스를 나열합니다.

      (overcloud) $ openstack server list --host <hostname> --all-projects
    5. 선택 사항: 인스턴스를 다른 컴퓨팅 노드로 마이그레이션하려면 다음 단계를 완료합니다.

      1. 인스턴스를 다른 컴퓨팅 노드로 마이그레이션하려면 다음 명령 중 하나를 사용합니다.

        • 인스턴스를 다른 호스트로 마이그레이션하려면 다음 명령을 실행합니다.

          (overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
        • nova-scheduler에서 대상 호스트를 자동으로 선택하도록 합니다.

          (overcloud) $ nova live-migration <instance_id>
        • 한 번에 모든 인스턴스를 실시간 마이그레이션합니다.

          $ nova host-evacuate-live <hostname>
          참고

          nova 명령으로 인해 몇 가지 사용 중단 경고가 표시될 수 있으며, 이러한 경고는 무시해도 됩니다.

      2. 마이그레이션이 완료될 때까지 기다립니다.
      3. 마이그레이션을 성공적으로 완료했음을 확인합니다.

        (overcloud) $ openstack server list --host <hostname> --all-projects
      4. 컴퓨팅 노드에 남은 항목이 없을 때까지 인스턴스를 계속 마이그레이션합니다.
    6. 컴퓨팅 노드에 로그인하고 노드를 재부팅합니다.

      [heat-admin@overcloud-compute-0 ~]$ sudo reboot
    7. 노드가 부팅될 때까지 기다립니다.
    8. 컴퓨팅 노드를 다시 활성화합니다.

      $ source ~/overcloudrc
      (overcloud) $ openstack compute service set <hostname>  nova-compute --enable
    9. 컴퓨팅 노드가 활성화되었는지 확인합니다.

      (overcloud) $ openstack compute service list