# 환경
## VMware

VMware 설치 후 가상환경 구성을 위해 Typical을 선택하고 Next버튼을 누른다.

disk size를 128로 설정하고 Next 버튼을 누른다

OS는 리눅스를 선택하고 Version은 CentOS 8 64-bit로 해준다.

Memory size를 10240(10GB)로 설정한다. 이로 인해 실제 RAM에서 10GB을 할당 받아 사용한다.

Network Adapter를 Bridged로 설정하고 랜카드를 셋팅한다.

Processor의 수를 중첩된 가상화(가상화 환경에서 또 다른 가상화 환경을 생성하는 기술)를 위해 6개(하이퍼바이저의 하드웨어 가상화 지원에 따라 다르다)로 해준다. 이를 통해 가상화 기술을 사용하여 하이퍼바이저에서 하이퍼바이저를 실행할 수 있다." Intel VT-x / EPT 또는 AMD-V / RVI"는 CPU에서 지원하는 가상화 성능 향상 기술
## Openstack 싱글 노드 설치
### VMware 환경에 접속하여 아래와 같이 진행
vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.1.92
NETMASK=255.255.248.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
vi /etc/selinux/config
SELINUX=disabled
dnf install network-scripts -y
systemctl disable firewalld # firewall daemon이 재부팅시 자동으로 올라오지 않도록함
systemctl disable NetworkManager # NetworkManager는 정해놓은 규칙이 엄격함
systemctl enable network # NetworkManager 대신에 network 사용
systemctl start network
reboot
dnf update -y
dnf config-manager --enable powertools
dnf install -y centos-release-openstack-yoga
dnf update -y
dnf install -y openstack-packstack # 오픈스택 packstack(쉽게 오픈스택을 설치할 수 있도록 도와주는 도구) 자동화 도구를 설치하는 명령어
packstack --gen-answer-file /root/answers.txt # answers.txt에 문답 형식을 위한 파일 생성
vi /root/answers.txt
### answers.txt를 아래와 같이 해당 항목에 수정해준다
CONFIG_DEFAULT_PASSWORD=Test1234! # dashboard에 접근하기 위한 패스워드 설정
CONFIG_KEYSTONE_ADMIN_PW=Test1234!
CONFIG_CINDER_VOLUMES_SIZE=100G
CONFIG_NTP_SERVERS=0.kr.pool.ntp.org
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_L2_AGENT=openvswitch # L2: 랜케이블을 연결하는 가상의 스위치
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan # TENANT : 가입자가 네트워크를 마음대로 ip대역을 사용할 수 있도록함
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160 # 공유기로부터 ip를 부여 받으면 ens160 -> br-ex -> extne으로 전달하며 결국에는 VM들이 외부 네트워크와 연결됨
CONFIG_PROVISION_DEMO=n
packstack --answer-file /root/answers.txt