8.2. 컨테이너화된 오버클라우드 검증
다음은 컨테이너화된 오버클라우드의 기능을 확인하는 일련의 단계입니다.
절차
언더클라우드 액세스 세부 정보를 가져옵니다.
$ source ~/stackrc
베어 메탈 노드의 상태를 확인합니다.
(undercloud) $ openstack baremetal node list
모든 노드에 유효한 전원 상태(
on)가
있어야 하며 유지 관리 모드는false
여야 합니다.실패한 Systemd 서비스를 확인합니다.
(undercloud) $ for NODE in $(openstack server list -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo systemctl list-units --state=failed 'openstack*' 'neutron*' 'httpd' 'docker' 'ceph*'" ; done
실패한 컨테이너화된 서비스를 확인합니다.
(undercloud) $ for NODE in $(openstack server list -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo docker ps -f 'exited=1' --all" ; done (undercloud) $ for NODE in $(openstack server list -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo docker ps -f 'status=dead' -f 'status=restarting'" ; done
모든 서비스에 대한 HAProxy 연결을 확인합니다.
haproxy.stats 서비스의 컨트롤 플레인 VIP 주소 및 인증 세부 정보를 가져옵니다.
(undercloud) $ NODE=$(openstack server list --name controller-0 -f value -c Networks | cut -d= -f2); ssh heat-admin@$NODE sudo 'grep "listen haproxy.stats" -A 6 /var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg'
다음 cURL 요청에서 이러한 세부 정보를 사용합니다.
(undercloud) $ curl -s -u admin:<PASSWORD> "http://<IP ADDRESS>:1993/;csv" | egrep -vi "(frontend|backend)" | cut -d, -f 1,2,18,37,57 | column -s, -t
<PASSWORD>
및<IP ADDRESS>
세부 정보를haproxy.stats
서비스의 실제 세부 정보로 바꿉니다. 결과 목록은 각 노드의 OpenStack Platform 서비스와 해당 연결 상태를 표시합니다.참고노드가 Redis 서비스를 실행하는 경우 하나의 노드만 해당 서비스의
ON
상태를 표시합니다. 이는 Redis가 한 번에 하나의 노드에서만 실행되는 액티브-패시브 서비스이기 때문입니다.오버클라우드 데이터베이스 복제 상태를 확인합니다.
(undercloud) $ for NODE in $(openstack server list --name controller -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo docker exec clustercheck clustercheck" ; done
RabbitMQ 클러스터 상태를 확인합니다.
(undercloud) $ for NODE in $(openstack server list --name controller -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo docker exec $(ssh heat-admin@$NODE "sudo docker ps -f 'name=.*rabbitmq.*' -q") rabbitmqctl node_health_check" ; done
Pacemaker 리소스 상태를 확인합니다.
(undercloud) $ NODE=$(openstack server list --name controller-0 -f value -c Networks | cut -d= -f2); ssh heat-admin@$NODE "sudo pcs status"
다음 항목 검색:
-
온라인
의 모든 클러스터 노드. -
모든 클러스터 노드에서
중지된
리소스가 없습니다. -
실패한
pacemaker 작업이 없습니다.
-
각 오버클라우드 노드의 디스크 공간을 확인합니다.
(undercloud) $ for NODE in $(openstack server list -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo df -h --output=source,fstype,avail -x overlay -x tmpfs -x devtmpfs" ; done
Overcloud Ceph Storage 클러스터 상태를 확인합니다. 다음 명령은 컨트롤러 노드에서
ceph
툴을 실행하여 클러스터를 확인합니다.(undercloud) $ NODE=$(openstack server list --name controller-0 -f value -c Networks | cut -d= -f2); ssh heat-admin@$NODE "sudo ceph -s"
Ceph Storage OSD에서 사용 가능한 공간이 있는지 확인합니다. 다음 명령은 컨트롤러 노드에서
ceph
툴을 실행하여 사용 가능한 공간을 확인합니다.(undercloud) $ NODE=$(openstack server list --name controller-0 -f value -c Networks | cut -d= -f2); ssh heat-admin@$NODE "sudo ceph df"
오버클라우드 노드에서 클록이 동기화되었는지 확인합니다.
(undercloud) $ for NODE in $(openstack server list -f value -c Networks | cut -d= -f2); do echo "=== $NODE ===" ; ssh heat-admin@$NODE "sudo ntpstat" ; done
오버클라우드 액세스 세부 정보를 소싱합니다.
(undercloud) $ source ~/overcloudrc
오버클라우드 네트워크 서비스를 확인합니다.
(overcloud) $ openstack network agent list
모든 에이전트는
Alive
이고 해당 상태는UP
이어야 합니다.오버클라우드 계산 서비스를 확인합니다.
(overcloud) $ openstack compute service list
모든 에이전트의 상태가
활성화되고
상태가up
이어야 합니다오버클라우드 볼륨 서비스를 확인합니다.
(overcloud) $ openstack volume service list
모든 에이전트의 상태가
활성화되고
상태가up
이어야 합니다.
관련 정보
- "Red Hat 권장 구성으로 OpenStack 환경이 배포되었는지 어떻게 확인할 수 있습니까?"라는 문서를 검토하십시오. 이 문서에서는 Red Hat OpenStack Platform 환경을 확인하고 Red Hat의 권장 사항에 맞게 구성을 조정하는 방법에 대해 설명합니다.