13장. 노드 재부팅
상황에 따라 언더클라우드와 오버클라우드에서 노드를 재부팅해야 합니다. 다음 절차는 다른 노드 유형을 재부팅하는 방법을 보여줍니다. 다음 참고 사항을 확인하십시오.
- 한 역할에 있는 모든 노드를 재부팅하는 경우 각 노드를 개별적으로 재부팅하는 것이 좋습니다. 그러면 재부팅 중에 해당 역할에 대한 서비스를 유지하는 데 도움이 됩니다.
- OpenStack Platform 환경의 노드를 모두 재부팅하는 경우 다음 목록을 사용하여 재부팅 순서를 지정합니다.
권장되는 노드 재부팅 순서
- director 재부팅
- 컨트롤러 노드 및 기타 구성 가능한 노드 재부팅
- Ceph Storage 노드 재부팅
- Compute 노드 재부팅
13.1. 언더클라우드 노드 재부팅
다음 절차에 따라 언더클라우드 노드를 재부팅합니다.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. 언더클라우드를 재부팅합니다.
$ sudo reboot
- 노드가 부팅될 때까지 기다립니다.
13.2. 컨트롤러 및 구성 가능한 노드 재부팅
다음 절차는 구성 가능한 역할을 기준으로 컨트롤러 노드 및 독립 실행형 노드를 재부팅합니다. 이렇게 하면 Compute 노드와 Ceph Storage 노드가 제외됩니다.
절차
재부팅할 노드를 선택합니다. 로그인하여 클러스터를 중지한 후 재부팅합니다.
[heat-admin@overcloud-controller-0 ~]$ sudo pcs cluster stop
노드를 재부팅합니다.
[heat-admin@overcloud-controller-0 ~]$ sudo reboot
- 노드가 부팅될 때까지 기다립니다.
노드에 대해 클러스터를 재활성화합니다.
[heat-admin@overcloud-controller-0 ~]$ sudo pcs cluster start
노드에 로그인하여 서비스를 확인합니다. 예:
노드에서 Pacemaker 서비스를 사용하는 경우 노드가 클러스터에 다시 가입했는지 확인하십시오.
[heat-admin@overcloud-controller-0 ~]$ sudo pcs status
노드가 Systemd 서비스를 사용하는 경우 모든 서비스가 활성화되었는지 확인하십시오.
[heat-admin@overcloud-controller-0 ~]$ sudo systemctl status
13.3. Ceph Storage(OSD) 클러스터 재부팅
다음 절차에 따라 Ceph Storage(OSD) 노드 클러스터를 재부팅합니다.
절차
Ceph MON 또는 Controller 노드에 로그인하고 Ceph Storage 클러스터 재조정을 일시적으로 비활성화합니다.
$ sudo ceph osd set noout $ sudo ceph osd set norebalance
- 재부팅할 첫 번째 Ceph Storage 노드를 선택하고 로그인합니다.
노드를 재부팅합니다.
$ sudo reboot
- 노드가 부팅될 때까지 기다립니다.
노드에 로그인하고 클러스터 상태를 확인합니다.
$ sudo ceph -s
pgmap
이 모든pgs
를 정상적 (active+clean
)으로 보고하는지 확인합니다.- 노드에서 로그아웃하고, 다음 노드를 재부팅한 후 상태를 확인합니다. 모든 Ceph Storage 노드를 재부팅할 때까지 이 프로세스를 반복합니다.
완료되면 Ceph MON 또는 Controller 노드에 로그인하고 클러스터 재조정을 다시 활성화합니다.
$ sudo ceph osd unset noout $ sudo ceph osd unset norebalance
최종 상태 검사를 수행하여 클러스터가
HEALTH_OK
를 보고하는지 확인합니다.$ sudo ceph status
13.4. compute 노드 재부팅
다음 절차에 따라 compute 노드를 재부팅합니다. OpenStack Platform 환경에서 인스턴스 다운타임을 최소화할 수 있도록 이 절차에는 선택한 compute 노드에서 인스턴스를 마이그레이션하는 방법에 대한 지침도 포함되어 있습니다. 다음 워크플로우에 따라 실행합니다.
- 새 인스턴스를 프로비저닝하지 않도록 재부팅할 compute 노드를 선택한 뒤 비활성화합니다.
- 인스턴스를 다른 compute 노드로 마이그레이션합니다.
- 빈 compute 노드 재부팅 및 활성화합니다.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. 모든 Compute 노드 및 해당 UUID를 나열합니다.
$ source ~/stackrc (undercloud) $ openstack server list --name compute
재부팅하려는 compute 노드의 UUID를 확인합니다.
언더클라우드에서 Compute 노드를 선택하여 비활성화합니다.
$ source ~/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
Compute 노드에 모든 인스턴스를 나열합니다.
(overcloud) $ openstack server list --host [hostname] --all-projects
다음 명령 중 하나를 사용하여 인스턴스를 마이그레이션합니다.
인스턴스를 선택한 특정 호스트로 마이그레이션합니다.
(overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
nova-scheduler
에서 대상 호스트를 자동으로 선택하도록 합니다.(overcloud) $ nova live-migration [instance-id]
한 번에 모든 인스턴스를 실시간 마이그레이션합니다.
$ nova host-evacuate-live [hostname]
참고nova
명령으로 인해 몇 가지 사용 중단 경고가 표시될 수 있으며, 이러한 경고는 무시해도 됩니다.
- 마이그레이션이 완료될 때까지 기다립니다.
마이그레이션을 성공적으로 완료했음을 확인합니다.
(overcloud) $ openstack server list --host [hostname] --all-projects
- 선택한 Compute 노드에 남은 항목이 없을 때까지 인스턴스를 계속 마이그레이션합니다.
Compute 노드에 로그인하고 재부팅합니다.
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- 노드가 부팅될 때까지 기다립니다.
Compute 노드를 다시 활성화합니다.
$ source ~/overcloudrc (overcloud) $ openstack compute service set [hostname] nova-compute --enable
Compute 노드가 활성화되었는지 확인합니다.
(overcloud) $ openstack compute service list