*하이퍼바이저2 방식을 호스트방식이라고 말한다.
(동적할당으로 128G 설정)
<VM 스펙>
CPU : 4C
RAM : 12GB(12,288MB)
OS : CentOS8-Stream.iso
NET : Bridge
SEC : ?
SWAP : 12GB
===========================▲core
- OPENSTACK VM 최소사양
CPU : 4C (시스템 8C)
RAM : 8GB (시스템 16GB)
- OPENSTACK VM 권장사양
CPU : 24C
RAM : 24GB
(비밀번호 : Kosa0401!)
(software는 맨 마지막에 설정)
(Done 클릭후 click here 버튼 선택)
(/home의 용량을 제거하고 /에 추가)
(메모리를 대신할 수 있는 공간 : swap)
(잡아놓은 시스템 메모리의 절반을 swap으로 설정-> 다 사용해서 부족하면 디스크의 일부분을 할당하여 처리)
(swap : 12GB로 변경)
(IP : 192.168.0.130/20)
ip a
로 ip 확인
# vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none //static도 가능
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.130
NETMASK=255.255.240.0
GATEWAY=192.168.0.1
DNS1=192.168.0.66
DNS2=8.8.4.4
# vi /etc/selinux/config //오픈스택을 이용할때는 selinux(보안장치)를 내리고 사용하는 것이 대부분
SELINUX=disabled
# dnf install network-scripts -y //dnf = yum의 역할(yum보다는 향상)
# systemctl disable firewalld //오픈스택 내 방화벽이 따로 존재하기 때문에 os 방화벽은 disable
# systemctl disable NetworkManager //centos8에는 NetworkManager 이것이 메인
# systemctl enable network //필요에 따라 활성화
# systemctl start network
# reboot //설치한 것들 정리
# dnf update -y
# dnf config-manager --enable powertools
-> powertools를 이용하기 위해 enable 시켜야함
# dnf install -y centos-release-openstack-yoga
# dnf update -y
# dnf install -y openstack-packstack
-> 간소화해서 쉽게 설치할 수 있도록 해줌
# packstack --gen-answer-file /root/answers.txt
-> .ssh로 공개키와 개인키가 생성된걸 확인
# vi /root/answers.txt //오픈스택을 설치하기 위한 환경설정
CONFIG_DEFAULT_PASSWORD=Test1234! //WEB UI(대쉬보드) 접속할 때 사용
CONFIG_KEYSTONE_ADMIN_PW=Test1234! //CLI방식으로 접근할 때 사용
CONFIG_CINDER_VOLUMES_SIZE=100G //storage
CONFIG_NTP_SERVERS=0.kr.pool.ntp.org
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_L2_AGENT=openvswitch //실무에서 쓰이는 가상 스위치, L2=Layer2; 스위치허브를 의미하는 layer
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat //flat이라는 드라이버를 통해 브릿지의 기능을 제공, 외부의 공유기로부터 ip를 받아올수 있도록 해줌
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan //vm의 확장기술
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160 //ens이 160실제 lan카드
CONFIG_PROVISION_DEMO=n
# packstack --answer-file /root/answers.txt
Compute Service(CPU, RAM) : Nova, EC2(Elastic Compute Cloud)
Storage Service(SSD,구글드라이브, NFS, NAS)
: Cinder; Block storage, EBS(Elastic Block Store)
: Swift; Object Storage, S3(Simple Storage Service)
: Manila; File Storage, EFS(Elastic File System)
Network Service(IP, Subnet) : Neutron, VPC(Virtual Private Cloud); 격리된(isolated)
Image Service(OS) : Glance, AMI(Amazon Machine Image)
Identity Service(User(ID/PW), Group, Role ...) : Keystone; IAM(Identity Access Management)
(admin/Test1234!)
네트워크 생성(프로젝트-네트워크-네트워크)
router 생성(프로젝트-네트워크-라우터)
# openstack router create Router
<확인>
# openstack router set --external-gateway External-Network Router (왼쪽과 연결)
# openstack router add subnet Router Internal-Subnet (오른쪽과 연결)
Floating IP 생성(프로젝트-네트워크-Floating IP)
(external ip pool)
*여러 번 반복
보안그룹 생성(프로젝트-네트워크-보안그룹)
*SG-WEB
*규칙추가
(ALL ICMP-> 외부에서 들어오는 ping 허용)
(HTTP-> web server를 위해)
(SSH-> TCP22를 허용하기 위해)
* SG-DB
(ALL ICMP-> 외부에서 들어오는 ping 허용)
(MYSQL-> db사용)
(SSH-> TCP22를 허용하기 위해)
-> 변경하려면 삭제하고 다시 만들어야함
키페어 생성 (프로젝트-compute-키페어)
이미지 생성(프로젝트-compute-이미지)
* CentOS7
* Ubuntu18
<확인>
컨테이너 생성 (프로젝트-오브젝트 스토리지-컨테이너)
(wordpress-4.8.2-ko_KR.zip) 파일명 복사
http://192.168.0.130:8080/v1/AUTH_751cee368729435598e4875af6e76485/files/wordpress-4.8.2-ko_KR.zip
-> /앞은 내 주소
- 사용자 데이터
# sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip # cd /home/centos # wget http://192.168.0.130:8080/v1/AUTH_751cee368729435598e4875af6e76485/files/wordpress-4.8.2-ko_KR.zip # cd /var/www/html # sudo unzip /home/centos/wordpress-4.8.2-ko_KR.zip # sudo chown -R apache:apache /var/www/* # sudo systemctl enable --now httpd
#!/bin/bash
yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
cd /home/centos
wget http://192.168.0.130:8080/v1/AUTH_751cee368729435598e4875af6e76485/files/wordpress-4.8.2-ko_KR.zip
cd /var/www/html
unzip /home/centos/wordpress-4.8.2-ko_KR.zip
chown -R apache:apache /var/www/*
systemctl enable --now httpd
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
-> selinux=enforcing이라는 문장을 찾아서 $/뒤문장으로 바꿔줌
*유동ip 연결
192.168.9.154로 접속
-스택(프로젝트-orchestration-stack)
-snapshot 생성(이름:web-snapshot)
(키페어 생성)
(네트워크 포트 next)
-원래 webserver의 유동ip 연결해제
-복원한 web-restore에 유동ip 연결
<확인> 192.168.9.154로 접속
유익하고 좋은 정보입니다!