OpenStack 노드 기초 점검 가이드
OpenStack 노드 기초 점검 가이드입니다. 공통 OS 점검, controller/compute/network/storage 역할별 명령, compute maintenance 절차를 정리했습니다.
OpenStack 노드 점검은 단순히 systemctl status를 보는 일로 끝나지 않습니다. controller, compute, network, storage 역할별로 확인해야 할 서비스와 로그가 다르고, 장애는 Keystone 인증, RabbitMQ, DB, Nova, Neutron, Libvirt, storage 중 한 곳에서 시작될 수 있습니다.
특정 배포판 명령어에 묶이지 않고, OpenStack 운영자가 노드별로 먼저 확인할 기본 순서를 정리합니다.
공통 점검
hostname -f
date
timedatectl
uptime
df -h
free -h
ip -br a
ip r
sudo systemctl --failed
sudo journalctl -p warning -S -2h --no-pager
OpenStack은 시간 동기화, DNS/hostname, 메시지 큐, DB 연결에 민감합니다. 여러 노드에서 시간이 어긋나면 token, certificate, service heartbeat 문제로 이어질 수 있습니다.
OpenStack CLI 기준 확인
source ~/admin-openrc
openstack token issue
openstack service list
openstack endpoint list
openstack compute service list
openstack network agent list
openstack hypervisor list
CLI가 실패하면 먼저 인증/endpoint 문제인지, 특정 서비스 문제인지 분리합니다. openstack token issue가 실패하면 Keystone/credential부터 봅니다.
Controller 노드
sudo systemctl status mariadb --no-pager 2>/dev/null
sudo systemctl status rabbitmq-server --no-pager 2>/dev/null
sudo systemctl status memcached --no-pager 2>/dev/null
sudo systemctl status httpd apache2 --no-pager 2>/dev/null
sudo ss -lntp
컨테이너 기반 배포라면 systemd 서비스 대신 container 상태를 봅니다.
sudo podman ps --format "table {{.Names}}\t{{.Status}}" 2>/dev/null
sudo docker ps --format "table {{.Names}}\t{{.Status}}" 2>/dev/null
Compute 노드
sudo systemctl status nova-compute --no-pager 2>/dev/null
sudo systemctl status libvirtd virtqemud --no-pager 2>/dev/null
sudo virsh list --all
sudo virsh dominfo INSTANCE_NAME
sudo tail -n 100 /var/log/nova/nova-compute.log 2>/dev/null
sudo tail -n 100 /var/log/libvirt/qemu/INSTANCE_NAME.log 2>/dev/null
스케줄링 실패가 나면 compute service가 up인지, hypervisor resource가 충분한지, placement와 nova-compute가 정상 통신하는지 확인합니다.
Network 노드
ip netns
sudo ip netns exec qrouter-ROUTER_ID ip a
sudo ip netns exec qrouter-ROUTER_ID ip r
sudo ip netns exec qdhcp-NETWORK_ID ip a
sudo ovs-vsctl show 2>/dev/null
sudo tail -n 100 /var/log/neutron/server.log 2>/dev/null
sudo tail -n 100 /var/log/neutron/openvswitch-agent.log 2>/dev/null
네트워크 장애는 Neutron agent, OVS bridge, router namespace, security group, floating IP, external network mapping을 나눠서 봅니다.
Storage 노드
lsblk
df -h
iostat -xz 1 3
sudo systemctl status cinder-volume --no-pager 2>/dev/null
openstack volume service list
openstack volume list --long
Ceph 연동 환경에서는 별도 Ceph 상태도 확인합니다.
ceph -s 2>/dev/null
ceph health detail 2>/dev/null
rados df 2>/dev/null
계획 점검과 유지보수
openstack compute service set --disable --disable-reason maintenance compute01 nova-compute
openstack compute service list --host compute01
openstack server list --host compute01 --all-projects
Compute 노드 재부팅 전에는 새 VM 스케줄링을 막고, 해당 host의 VM 목록과 migration 가능 여부를 확인합니다. shared storage 여부에 따라 live migration 가능성이 달라집니다.