
Instance를 만들기 위해서는 단순히 부팅하는 것 뿐 아니라 위 요소들을 모두 준비해야 한다.
개념적인 Network Topology는 위와 같으며
이후 Horizon을 통해 Optional한 요소들까지 세팅을 완료한 이후 위와 같은 Network Topology를 생성하였다.
external_network가 기존의 개념적인 토폴로지와 다른 이유는 현재 VM이 NAT Network Interface를 통해 Host 머신의 네트워크와 연결되어 있기 때문이다.
또한 위와 같이 새로운 인스턴스에 Floating IP를 연결해주었다.
Openstack은 --all-in-one 파라미터와 같이 단일 Node에서 모두 구동될 수도 있고, 여러 노드 (Controller, Compute, Network etc.)로 구동될 수도 있다.
Horizontal Scaling (Scale out)
Vertical Scaling (Scale up)
RESTful Web Services의 몇 가지 특징:
Client-Server 기반 통신
클라이언트의 각 요청은 서버가 요청을 처리하는 데 필요한 모든 정보를 포함해야 함
REST API는 로드 밸런서를 통해 네이티브 확장이 가능하며, 하나의 API 엔드포인트가 이를 대표해야 함
일부 구성 요소는 자연적으로 확장되지 않음:
데이터베이스는 클러스터링이 필요함
(ex. Galera cluster)
메시지 큐는 자체 클러스터링 방법을 가짐
(ex.RabbitMQ, Qpid, ZeroMQ)
Non-API 구성 요소는 확장을 위한 내장 지원 기능을 제공함
(ex. Neutron, Swift proxy)

Compute Node는 OpenStack에서 가상 머신(VM)을 호스팅하는 핵심 컴포넌트
확장성을 극대화하기 위해 여러 개의 노드로 분산 배치를 수행할 수 있음
Compute Node는 수평 확장이 용이한 구조를 가짐
새로운 Compute Node를 추가함으로써 클러스터의 전체 용량과 가상 머신 호스팅 기능을 쉽게 확장 가능
네트워크 연결은 Neutron과 OVS를 통해 관리되므로, 확장 시 네트워크 아키텍처가 병목 현상을 최소화하도록 설계해야 함
Non-compute node 기반 Shared File System
Compute node 스토리지 - Shared File System
Compute node 스토리지 - nonShared File System
클라우드 사용자들의 가상 네트워킹 요구 사항 처리
L4-L7 고급 서비스:
DVR (Distributed Virtual Router)은 Network Node의 부하를 분산할 수 있음
라우팅 및 네트워크 고가용성을 보장하기 위한 메커니즘
각 L3 Agent가 가상 라우터를 호스팅하며, 이를 통해 네트워크 트래픽을 라우팅
Keepalived 사용
고가용성 라우팅
분산 처리
Storage Services (Block/Object)
Overlay Networks
Storage API
Physical Infrastructure Resources
OpenStack Services
Networking Services
Installer 및 Monitoring Services
Additional Services
Virtualization API
Operating System and Hypervisor Kernel
Physical Infrastructure Resources

Scalability
High Availability
Resource Isolation
Load Balancing
Performance Improvement
Fault Tolerance
Flexibility
Operational Stability
Support for Large-Scale Environments

https://docs.openstack.org/newton/install-guide-rdo/overview.html
OpenStack 서비스는 표준 로깅 레벨을 사용하며
TRACE, DEBUG, INFO, AUDIT, WARNING, ERROR, and CRITICAL
심각도에 따라 위와 같이
Neutron
/etc/neutron/neutron.confdebug=trueNova
/etc/nova/nova.confdebug=trueKeystone
/etc/keystone/logging.conflogger_root 및 handler_fileHorizon
/etc/openstack_dashboard/local_settings.pyCinder
Glance
/etc/glance/glance-api.conf/etc/glance/glance-registry.conf| Node Type | Service | Log Location |
|---|---|---|
| Cloud Controller | nova-* | /var/log/nova |
| Cloud Controller | glance-* | /var/log/glance |
| Cloud Controller | cinder-* | /var/log/cinder |
| Cloud Controller | keystone-* | /var/log/keystone |
| Cloud Controller | neutron-* | /var/log/neutron |
| Cloud Controller | horizon | /var/log/apache2/ |
| All Nodes | misc (swift, dnsmasq) | /var/log/syslog |
| Compute Nodes | libvirt | /var/log/libvirt/libvirtd.log |
| Compute Nodes | Console (boot up messages for VM instances) | /var/lib/nova/instances/instance-<instance_id>/console.log |
| Block Storage Nodes | cinder-volume | /var/log/cinder/cinder-volume.log |