18.5. 컴퓨팅 노드 재부팅

컴퓨팅 노드를 재부팅하려면 다음 단계를 완료합니다. OpenStack Platform 환경에서 인스턴스 다운 타임을 최소화할 수 있도록 다음 절차에서는 재부팅할 컴퓨팅 노드에서 인스턴스를 마이그레이션하는 방법도 설명합니다. 이 작업은 다음 워크플로우에 따라 수행됩니다.

  • 노드를 재부팅하기 전에 인스턴스를 다른 컴퓨팅 노드로 마이그레이션할지 여부 결정
  • 새 인스턴스를 프로비저닝하지 않도록 재부팅할 컴퓨팅 노드를 선택한 뒤 비활성화
  • 인스턴스를 다른 컴퓨팅 노드로 마이그레이션
  • 빈 컴퓨팅 노드 재부팅
  • 빈 컴퓨팅 노드 활성화

사전 요구 사항

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

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

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. 인스턴스를 마이그레이션하지 않으려면 이 단계로 건너뜁니다.
  6. 인스턴스를 다른 컴퓨팅 노드로 마이그레이션하려면 다음 명령 중 하나를 사용합니다.

    1. 인스턴스를 다른 호스트로 마이그레이션합니다.

      (overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
    2. nova-scheduler에서 대상 호스트를 자동으로 선택하도록 합니다.

      (overcloud) $ nova live-migration [instance-id]
    3. 한 번에 모든 인스턴스를 실시간 마이그레이션합니다.

      $ nova host-evacuate-live [hostname]
      참고

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

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
  9. 선택한 컴퓨팅 노드에 남은 항목이 없을 때까지 인스턴스를 계속 마이그레이션합니다.
  10. 컴퓨팅 노드에 로그인합니다. 노드를 재부팅합니다.

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

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

    (overcloud) $ openstack compute service list