서브네팅(복습)
-11000000일 경우 => 64개 사용 가능(네트워크 주소, 브로드캐스트 주소 제외한 62개 사용 가능)
-192.168.0.100/32 => 특정 IP하나를 의미
-/@@는 호스트갯수를 의미
오픈스택
-개념적 아키텍처
*core service(하나라도 없으면 vm이 동작X)
-Nova : vm에게 CPU, 메모리 자원을 공급
-Glance : vm에게 image(os) 공급
-Neutron : vm에게 네트워크 서비스(NAT)를 제공
-Cinder : vm에게 volume(block storage) 제공
-Keystone : 보안 관련(ID, Password로 로그인 서비스 제공)
-Swift : webshare 같은 역할 (파일공유, 백업-> object storage)
optional service
-Horizon : web UI 제공 (덜완벽)
-Heat : IaC (Infrastructure as Code;자동화 도구)
*논리적 아키텍처는 구조와 그림이 계속 바뀌기 때문에 자세히는 안배움.
*오픈스택 서비스 관계도
OpenStack 설치
->메모리:10240MB
->프로세서:4개, 'Virtualize Intel VT~~' 체크
->NewCD/DVD에 .iso 선택
->Network Adapter:bridge
openstack 설치 후 설정
-> 비밀번호 : Kosa0401!
->저장소에 가서 내려받아서 설치해야 하는 버전이라 네트워크가 중요
openstack ip
192.168.0.59/20
192.168.0.1
(ip 꼬이면 큰일남)
오픈스택 이론 설명
5 core service
1) Compute Service(CPU, RAM) : Nova, AWS(EC2)
2) Storage Service(SSD, HDD) : Cinder, AWS(EBS), Swift, AWS(S3)
3) Network Service(G/W, S/W) : Neutron, AWS(VPC)
4) Image Service(OS) : Glance, AWS(AMI)
5) Identity Service(Auth, Keypair) : KeyStone, AWS(IAM)
6) Orchestration Service(IaC) : Heat, AWS(CloudFormation)
-클러스터 : 여러 개의 노드를 묶어두는 것
-싱글노드 : 컴퓨터 한개에 다 넣어버리는 것-> 망가지면 망함....
=> 적어도 3대 이상 (마스터가 죽으면 선출),
-각 노드 안에 vm 존재
-compute node를 관리해주는 control이 존재함 => control까지 클러스터
-인스턴스(instant; 유동적으로 운영, 가볍) = VM
-인스턴스의 라이프 사이클을 관리해주는 것이 하이퍼바이저
-floting IP = 공인IP, AWS(EIP)
설치 이어서
-extnet 기억해둬야함
▶mobaxterm에서
비밀번호 : Kosa0401!
# vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.59 //본인ip 잘 확인
NETMASK=255.255.240.0 //240
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
# vi /etc/selinux/config
//오픈스택을 이용할때는 selinux(보안장치)를 내리고 사용하는 것이 대부분
SELINUX=disabled
# dnf install network-scripts -y
//dnf = yum의 역할(yum보다는 향상)
# systemctl disable --now firewalld //stop을 하면서 disable도.
//오픈스택 내 방화벽이 따로 존재하기 때문에 os 방화벽은 disable
# systemctl disable --now NetworkManager
//centos8에는 NetworkManager 이것이 메인
# systemctl enable --now 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
-> 에러가 아님
# cp answers.txt answers.txt.bak
# vi /root/answers.txt
CONFIG_DEFAULT_PASSWORD=Test1234!
CONFIG_KEYSTONE_ADMIN_PW=Test1234!
CONFIG_CINDER_VOLUMES_SIZE=100G
CONFIG_NTP_SERVERS=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
▶mobaxterm에서 root계정으로 접속
-192.168.0.66으로 접속
# cd /var/named/db/
# vi mz33.shop.db
open 에 192.168.0.59 로 변경
▶이더넷 속성 변경
★확인(open.mz24.shop으로 접속)
★스냅샷 생성
오픈스택 네트워크 설정
왼쪽: 프로젝트 이름 / 오른쪽: 사용자 이름
-admin-> 설정-> 시간 변경
※가장 먼저 해야할 작업
1. 외부네트워크 먼저 생성
-관리-> 네트워크-> 네트워크
-> 물리적인 네트워크 명을 반드시 앞에서 설정한 이름이랑 같게 넣어줘야함
내부 네트워크 생성
-프로젝트-> 네트워크-> 네트워크
->DHCP 사용해서 자동으로 할당되게.
라우터
-프로젝트-> 네트워크-> 네트워크 토폴로지
★확인(ping 192.168.9.151)
클라우드 이미지 다운
Flavor만들기
-관리-> compute-> Flavor
*Ephemeral Disk : 일시적인 디스크
이미지 업로드(Glance)
-프로젝트-> compute-> 이미지
키페어 생성
-프로젝트-> compute-> 키 페어
방화벽 생성
-프로젝트-> 네트워크-> 보안그룹
*default가 나오면 사용하지 않겠음.
->내보냄 = outbound = egress (오픈스택에서 밖으로 내보냄) => 다 허용
->밖에서 들어오는 트래픽은 default가 거부 => 규칙추가를 통해 허용시켜야 함.
->들어옴 = inbound = ingress (밖에서 오픈스택으로 들어옴)
->SSH 추가
->ICMP(ping) 추가
5.Floating IP 생성
-프로젝트-> 네트워크-> Floating IP
- 인스턴스 생성
launch (create)
start (poweroff -> start)
-> 필요하면 여러개의 동일한 인스턴스 생성 가능
->소스 : 운영체제
->external은 이미 floating ip가 있기 때문에 선택X
네트워크 포트는 next
-floating Ip 연결
★확인(ping 192.168.9.129)
도메인 추가
# cd /var/named/db/
# vi mz23.shop.db
web01 IN A 192.168.9.129 추가
★확인(ping web01.mz24.shop)
▶mobaxterm에서
-> 도메인 이름으로 접속, name:centos, 키:openstack에서 발급받은 키
※1:1 NAT (Floating IP와 Internal IP 연결한다)
$ sudo yum install -y httpd
$ sestatus
$ sudo vi /etc/sysconfig/selinux
$ sudo systemctl enable --now httpd