인스턴스 관리를 위하여 nova_api가 healthy상태인지 확인

(os-venv) vagrant@openstack-aio:/etc/kolla$ sudo ls /var/log/kolla/nova
apache-access.log nova-api-error.log nova-conductor.log nova-metadata-error.log privsep-helper.log
apache-error.log nova-api.log nova-manage.log nova-novncproxy.log
nova-api-access.log nova-compute.log nova-metadata-access.log nova-scheduler.log
(os-venv) vagrant@openstack-aio:/etc/kolla$


flat: VLAN 없이 하나의 물리 네트워크를 모든 인스턴스가 공유함. 네트워크 격리 불가.
vlan: VLAN 태깅을 사용해 네트워크를 분리. 물리 네트워크에 VLAN 설정 필요. 보안성과 성능이 좋음.
vxlan: 오버레이 네트워크로, 논리적으로 분리된 네트워크를 생성함. 확장성 뛰어남. 터널링 방식 사용.
gre: VXLAN과 유사한 오버레이 방식이지만, 현재는 성능 문제로 잘 사용하지 않음.
(os-venv) vagrant@openstack-aio:/etc/kolla$ sudo cat /etc/kolla/neutron-server/ml2_conf.ini
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
[ml2_type_vlan]
network_vlan_ranges =
[ml2_type_flat]
flat_networks = physnet1
[ml2_type_vxlan]
vni_ranges = 1:1000




인스턴스는 내부 네트워크를 생성
외부 내트워크는 관리자가 관리>네트워크>네트워크에서 설정.
물리적인 네트워크 설정에 맞춰서 생성 sudo cat /etc/kolla/neutron-server/ml2_conf.ini
외부네트워크는 gateway로 따로 설정
라우터 - 인터페이스는 내부 네트워크를 연결할때 사용
openstack network create --external --share --provider-network-type flat --provider-physical-network physnet1 external
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack network create --external --share --provider-network-type flat --provider-physical-network physnet1 external
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2025-05-29T02:39:10Z |
| description | |
| dns_domain | None |
| id | 8a1128a8-6a73-4d3c-978e-a46fb08236a9 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| is_vlan_transparent | None |
| mtu | 1500 |
| name | external |
| port_security_enabled | True |
| project_id | 00855a5cafa646478a16f350df1f00f6 |
| provider:network_type | flat |
| provider:physical_network | physnet1 |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 1 |
| router:external | External |
| segments | None |
| shared | True |
| status | ACTIVE |
| subnets | |
| tags | |
| tenant_id | 00855a5cafa646478a16f350df1f00f6 |
| updated_at | 2025-05-29T02:39:10Z |
+---------------------------+--------------------------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router create new-rt
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2025-05-29T02:40:37Z |
| description | |
| distributed | False |
| enable_ndp_proxy | None |
| external_gateway_info | null |
| flavor_id | None |
| ha | False |
| id | f4a0cb02-ee72-491d-8383-9ba3aef6e55b |
| name | new-rt |
| project_id | 00855a5cafa646478a16f350df1f00f6 |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| tags | |
| tenant_id | 00855a5cafa646478a16f350df1f00f6 |
| updated_at | 2025-05-29T02:40:37Z |
+-------------------------+--------------------------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router set --external-gateway external new-rt
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack subnet create --no-dhcp --subnet-range 192.168.0.0/24 --gateway 192.168.0.254 --allocation-pool start=192.168.0.100,end=192.168.0.200 --network external external-subnet
+----------------------+--------------------------------------+
| Field | Value |
+----------------------+--------------------------------------+
| allocation_pools | 192.168.0.100-192.168.0.200 |
| cidr | 192.168.0.0/24 |
| created_at | 2025-05-29T02:44:01Z |
| description | |
| dns_nameservers | |
| dns_publish_fixed_ip | None |
| enable_dhcp | False |
| gateway_ip | 192.168.0.254 |
| host_routes | |
| id | 09589f62-aba5-466b-862f-550975d75799 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | external-subnet |
| network_id | 8a1128a8-6a73-4d3c-978e-a46fb08236a9 |
| project_id | 00855a5cafa646478a16f350df1f00f6 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2025-05-29T02:44:01Z |
+----------------------+--------------------------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router create new-rt
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2025-05-29T02:44:27Z |
| description | |
| distributed | False |
| enable_ndp_proxy | None |
| external_gateway_info | null |
| flavor_id | None |
| ha | False |
| id | e955f531-66a1-4c1d-80a8-539ddf765beb |
| name | new-rt |
| project_id | 00855a5cafa646478a16f350df1f00f6 |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| tags | |
| tenant_id | 00855a5cafa646478a16f350df1f00f6 |
| updated_at | 2025-05-29T02:44:27Z |
+-------------------------+--------------------------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router delete e955f531-66a1-4c1d-80a8-539ddf765beb
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router set --external-gateway external new-rt
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router add subnet net-work subnet new-rt ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack subnet list --network net-work
No Network found for net-work
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+------------------+
| ID | Name | Network | Subnet |
+--------------------------------------+-----------------+--------------------------------------+------------------+
| 09589f62-aba5-466b-862f-550975d75799 | external-subnet | 8a1128a8-6a73-4d3c-978e-a46fb08236a9 | 192.168.0.0/24 |
| a2413f79-f267-4f09-af80-dfa00071bc90 | internal-subnet | 0929ac61-e38a-4f18-8cc2-08daf4d61397 | 192.168.100.0/24 |
| e485a912-594b-4c5d-a7a3-46bee0139c2a | lb-mgmt-subnet | 1b3dc678-3fc3-435c-9d4e-642100de4763 | 10.1.0.0/24 |
+--------------------------------------+-----------------+--------------------------------------+------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack router add subnet new-rt internal-subnet

openstack network create --external --share --provider-network-type flat --provider-physical-network physnet1 external
openstack router create new-rt
openstack router set --external-gateway external new-rt
openstack subnet create --no-dhcp --subnet-range 192.168.0.0/24 --gateway 192.168.0.254 --allocation-pool start=192.168.0.100,end=192.168.0.200 --network external external-subnet
openstack router create new-rtopenstack router set --external-gateway external new-rtopenstack router add subnet new-rt internal-subnet
openstack security group create new-sg
openstack security group rule list new-sg
openstack security group rule create --protocol tcp --dst-port 80 new-sg
openstack server add security group test-vm new-sg
openstack server show test-vm
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack server remove security group test-vm new-sg
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack security group delete new-sg



(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack keypair create --private-key new-key.pem new-key
+-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| created_at | None |
| fingerprint | 7a:5a:62:27:c4:ca:d8:42:e4:72:1d:62:06:58:7b:e3 |
| id | new-key |
| is_deleted | None |
| name | new-key |
| type | ssh |
| user_id | 58d8e1d0c87143aaad968509ea167b17 |
+-------------+-------------------------------------------------+
(os-venv) vagrant@openstack-aio:/etc/kolla$ chmod 400 new-key.pem
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack server create --key-name ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack security group create new -sg ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack security group rule create --protocol tcp --dst-port 2 --remote-ip 0.0.0.0/0 new-sg ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack server add security htoup new-sg ssh-vm ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack floating ip create external ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack server add floating ip ssh-vm 192.168.0.150 ^C
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$
(os-venv) vagrant@openstack-aio:/etc/kolla$ ssh -i new-key.pem cirrors@192.19.0.10^C
(os-venv) vagrant@openstack-aio:/etc/kolla$
- 블록 스토리지 (Cinder) :
VM에 디스크처럼 attach해서 사용하는 가상 디스크를 제공- 오브젝트 스토리지 (Swift) :
대용량 비정형 데이터를 객체 형태로 저장. Amazon S3와 유사한 구조- 이미지 스토리지 (Glance) :
VM을 생성하기 위한 운영체제 이미지를 저장하고 관리- 파일 스토리지 (Manila) :
여러 VM 간 공유 가능한 파일 시스템(NFS 등)을 제공
openstack volume create --size 1 new-volume
openstack server add volume test-vm new-volume

### 볼륨 삭제
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack server remove volume test-vm new-volume
(os-venv) vagrant@openstack-aio:/etc/kolla$ openstack delete new-volume
실습
- 1G 크기의 볼륨을 생성, 이름:practice-volume
- test-vm인스턴스에 만든 볼륨을 연결
- 인스턴스의 콘솔에 접속
- lsblk등의 명령어로 연결 확인
- xfs/ext4 파일시스템으로 포멧하고 /mnt 디렉토리 마운트
- /etc/hosts 파일을 /mnt 디렉토리에 복사
- 마운트 해제 및 볼륨 연결 해제
- new-vm에 볼륨 연결 후 확인
- /dirA 디렉토리를 만들어서 마운트한 후 확인
- 볼륨은 연결만 해제 (삭제하지 않음)
openstack volume create --size 1 practice-volume
openstack server add volume test-vm practice-volume
login: cirros
password: gocubsgo



영구 스토리지
1) 블록 스토리지(Cinder 서비스로 관리)
2) 오브젝트 스토리지(swift)
볼륨 스냅샷 생성: openstack volume snapshot create --volume practice-volume new-snap --force


볼륨 백업 생성 : openstack volume backup create --name backup-cli practice-volume --force


볼륨 백업 생성 → 인스턴스에서 분리 → 전송 요청 생성
transfer 요청 생성: openstack volume transfer request create practice-volume
transfer 수락: openstack volume transfer request accept <transfer-request-id> --auth-key <auth-key>
volume transfer란?
볼륨을 다른 사용자나 프로젝트에 넘기기 위한 기능. 보안상 auth-key가 반드시 필요
transfer 요청은 생성한 쪽과 수락하는 쪽이 다를 때 사용된다.

오브젝트 스토리지는 파일을 저장하고 불러오는 저장소
## 컨테이너 생성
openstack container create new-con
## 오브젝트(파일) 업로드
openstack object create new-con all-in-one
## 오브젝트 목록 확인
openstack object create new-con all-in-one


컨테이너를 public으로 변경
해당 설정변경으로 wget명령어를 사용하여 파일을 다운받을 수 있음
