Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

10장. 노드 재부팅

상황에 따라 언더클라우드와 오버클라우드에서 노드를 재부팅해야 합니다. 다음 절차는 다른 노드 유형을 재부팅하는 방법을 보여줍니다. 다음 참고 사항을 확인하십시오.

  • 한 역할에 있는 모든 노드를 재부팅하는 경우 각 노드를 개별적으로 재부팅하는 것이 좋습니다. 그러면 재부팅 중에 해당 역할에 대한 서비스를 유지하는 데 도움이 됩니다.
  • OpenStack Platform 환경의 노드를 모두 재부팅하는 경우 다음 목록을 사용하여 재부팅 순서를 지정합니다.

권장되는 노드 재부팅 순서

  1. director 재부팅
  2. Controller 노드 재부팅
  3. Ceph Storage 노드 재부팅
  4. Compute 노드 재부팅
  5. Object Storage 노드 재부팅

10.1. Director 재부팅

director 노드를 재부팅하려면 다음 프로세스를 따르십시오.

  1. 노드를 재부팅합니다.

    $ sudo reboot
  2. 노드가 부팅될 때까지 기다립니다.

노드가 부팅되면 모든 서비스의 상태를 확인합니다.

$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
참고

재부팅 후 openstack-nova-compute가 활성화될 때까지 약 10분 정도 걸릴 수 있습니다.

오버클라우드 및 해당 노드가 있는지 확인합니다.

$ source ~/stackrc
$ openstack server list
$ openstack baremetal node list
$ openstack stack list

10.2. Controller 노드 재부팅

Controller 노드를 재부팅하려면 다음 프로세스를 따르십시오.

  1. 재부팅할 노드를 선택합니다. 노드에 로그인하고 재부팅합니다.

    $ sudo reboot

    클러스터에서 나머지 Controller 노드는 재부팅 중에 고가용성 서비스가 유지됩니다.

  2. 노드가 부팅될 때까지 기다립니다.
  3. 노드에 로그인하고 클러스터 상태를 확인합니다.

    $ sudo pcs status

    노드가 클러스터에 다시 연결됩니다.

    참고

    재부팅 후 서비스가 실패하면 sudo pcs resource cleanup을 실행합니다. 그러면 오류가 제거되고 각 리소스의 상태가 Started로 설정됩니다. 오류가 지속되면 Red Hat에 연락하여 지원을 요청하십시오.

  4. Controller 노드의 모든 systemd 서비스가 활성 상태인지 확인합니다.

    $ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
  5. 노드에서 로그아웃하고 재부팅할 다음 Controller 노드를 선택한 후 모든 Controller 노드가 재부팅될 때까지 이 절차를 반복합니다.

10.3. Ceph Storage 노드 재부팅

Ceph Storage 노드를 재부팅하려면 다음 절차를 따르십시오.

  1. Ceph MON 또는 Controller 노드에 로그인하고 Ceph Storage 클러스터 재조정을 일시적으로 비활성화합니다.

    $ sudo ceph osd set noout
    $ sudo ceph osd set norebalance
  2. 재부팅할 첫 번째 Ceph Storage 노드를 선택하고 로그인합니다.
  3. 노드를 재부팅합니다.

    $ sudo reboot
  4. 노드가 부팅될 때까지 기다립니다.
  5. 노드에 로그인하고 클러스터 상태를 확인합니다.

    $ sudo ceph -s

    pgmap이 모든 pgs를 정상적 (active+clean)으로 보고하는지 확인합니다.

  6. 노드에서 로그아웃하고, 다음 노드를 재부팅한 후 상태를 확인합니다. 모든 Ceph Storage 노드를 재부팅할 때까지 이 프로세스를 반복합니다.
  7. 완료되면 Ceph MON 또는 Controller 노드에 로그인하고 클러스터 재조정을 다시 활성화합니다.

    $ sudo ceph osd unset noout
    $ sudo ceph osd unset norebalance
  8. 최종 상태 검사를 수행하여 클러스터가 HEALTH_OK를 보고하는지 확인합니다.

    $ sudo ceph status

10.4. Compute 노드 재부팅

각 Compute 노드를 개별적으로 재부팅하고 OpenStack Platform 환경의 인스턴스 다운타임이 제로가 되도록합니다. 다음 워크플로우에 따라 실행합니다.

  1. 재부팅할 Compute 노드 선택
  2. 해당 인스턴스를 다른 Compute 노드로 마이그레이션
  3. 빈 Compute 노드 재부팅

모든 Compute 노드 및 해당 UUID를 나열합니다.

$ nova list | grep "compute"

재부팅할 Compute 노드를 선택하고 다음 프로세스를 사용하여 먼저 해당 인스턴스를 마이그레이션합니다.

  1. 언더클라우드에서 재부팅할 Compute 노드를 선택하여 비활성화합니다.

    $ source ~/overcloudrc
    $ openstack compute service list
    $ openstack compute service set [hostname] nova-compute --disable
  2. Compute 노드에 모든 인스턴스를 나열합니다.

    $ openstack server list --host [hostname] --all-projects
  3. 비활성화된 호스트에서 각 인스턴스를 마이그레이션합니다. 다음 명령 중 하나를 사용합니다.

    1. 인스턴스를 선택한 특정 호스트로 마이그레이션합니다.

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

      $ nova live-migration [instance-id]
      참고

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

  4. 마이그레이션이 완료될 때까지 기다립니다.
  5. 인스턴스가 Compute 노드에서 마이그레이션되었는지 확인합니다.

    $ openstack server list --host [hostname] --all-projects
  6. Compute 노드에서 모든 인스턴스를 마이그레이션할 때까지 이 단계를 반복합니다.
중요

인스턴스 구성 및 마이그레이션에 대한 전체 지침은 8.8절. “오버클라우드 Compute 노드에서 VM 마이그레이션”을 참조하십시오.

다음 프로세스를 사용하여 Compute 노드를 재부팅합니다.

  1. Compute 노드에 로그인하고 재부팅합니다.

    $ sudo reboot
  2. 노드가 부팅될 때까지 기다립니다.
  3. Compute 노드를 다시 활성화합니다.

    $ source ~/overcloudrc
    $ openstack compute service set [hostname] nova-compute --enable
  4. Compute 노드가 활성화되었는지 확인합니다.

    $ openstack compute service list

10.5. Object Storage 노드 재부팅

Object Storage 노드를 재부팅하려면 다음 프로세스를 따르십시오.

  1. 재부팅할 Object Storage 노드를 선택합니다. 이 노드에 로그인하고 재부팅합니다.

    $ sudo reboot
  2. 노드가 부팅될 때까지 기다립니다.
  3. 노드에 로그인하고 상태를 확인합니다.

    $ sudo systemctl list-units "openstack-swift*"
  4. 노드에서 로그아웃한 후 다음 Object Storage 노드에서 이 프로세스를 반복합니다.