### 쓴것 : Packstack 을 이용해서 Openstack Mitaka 설치 ( Allinone - 1 Nic 으로)
### 쓴때 : 2016-04-30
### 쓴이 : 권성재 (nonots@hanmail.net)
1. 개요.
오픈스택 Mitaka 버전을 이용해서, CentOS 7 Minimal 버전에서 Packstack을 이용해서,
랜카드 1 개 설치된 서버에서 Allinone 모드로
한 서버에 컨트롤러노드, 네트워크노드,컴퓨트노드 기능을 모두 구현하게 구성함.
2. 환경.
- 호스트 컴퓨터(물리적인 내 PC) : 우분투리눅스 16.04
집에서 LG 인터넷사용하는데, 공인아이피 220.120.xx.32가 공유기에 할당되고
공유기 거쳐 들어오면 사설아이피 192.168.219.0/24 대역에서
192.168.219.160 으로 PC 가 할당됨.
게이트 웨이: 192.168.219.1
- 게스트 컴퓨터(VirtualBox 5.0.18 에 설치) :
OS 는 CentOS7(minimal, X윈도우 설치안함) , 메모리 8G , HDD 16G
CentOS 설치과정중에 반드시 네트워크를 사용함으로 설치함.
랜카드는 1 개 수동할당 : 192.168.219.100 (virtualbox 에서 브릿지어댑터로 설정)
Virtualbox 설정에서, 랜카드 고급 > 무작위 모드를 "거부" 가 아닌 "모두 허용"으로
반드시 수정.(br-ex 로 사용할 랜카드)
- 오픈스택으로 할당할 IP 대역 :
FloatingIP : 192.168.219.0/24 (실제 인터넷을 물고 나갈 아이피, 보통 공인아이피 이지만
NAT로 네트워크 가능한 내부사설도 가능)
각 인스턴스에 할당될 내부 사설 IP : 10.1.1.0/24 ( 이건 사설아이 대역 아무거나 할당하면됨)
Private네트워크를 여러게 만든다면 10.1.2.0/24 같이 추가 가능함
3. 서버의 공통 사전 작업,
- yum update ; reboot;
- systemctl stop firewalld
- systemctl disable firewalld
- systemctl stop NetwokManager
- systemctl disable NetwokManager
- systemctl enable network
- systemctl start network
- chkconfig NetworkManager off
- chkconfig network on
- service network restart
- yum install net-tools lsof screen sysstat wget 등등 필요한 패키지 설치,
- setenforce 0
- /etc/selinux/config 파엘애서 SELINUX=permissive 로 수정,
- /etc/hosts 파일에 호스트 등록.(멀티 노드이면 여러개 등록)
- hostnamectl set-hostname my.hostname 등과 같이 hostname 수정함
- yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
- yum install -y openstack-packstack
- packstack --gen-answer-file=/root/answer.txt
- packstack --allinone (올인원)
answer.txt에서 n 로 설치안할 것
CINDER_INSTALL, SWIFT_INSTALL, CEILOMETER_INSTALL, AODH_INSTALL, GNOCCHI_INSTALL, NAGOIS_INSTALL
4. 노드의 외부 인터넷 연결될 랜카드 br-ex 설정 샘플
멀티노드로 분리가 되면 외부인터넷은 네트워크노드에 해당함.
#### ovs 랜카드 설정 : ifcfg-enp0s3 br-ex 로 할 샘플
NAME=enp0s3
DEVICE=enp0s3
BOOTPROTO=none
IPV6INIT=no
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes
#### ovs br-ex 랜카드 설정 : ifcfg-br-ex 샘플
NAME=br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.219.100
NETMASK=255.255.255.0
GATEWAY=192.168.219.1
DNS1=8.8.8.8
ONBOOT=yes
5. 웹 대시보드 초기 관리 순서
- admin 비밀번호 쉬운걸로 변경.
- 관리자 > 시스템 > 라우터와 네트워크 설정 삭제,
- 관리자 > 시스템 > 네트워크 : public 네트워크 생성.
(네트워크타입을 VXLAN 으로하고, segmentID 는 숫자0,shared,external network 체크.
- 관리자 > 시스템 > 네트워크 public 의 서브넷(public_subnet) 생성.
192.168.219.0/24 와 같이 할당가능한 floatingIP 영역.
AllocationPool(할당영역) 은 192.168.219.2,192.168.219.50 같이 실제 사용할 영역.
- 프로젝트 > 네트워크 > 네트워크 : Private 네트워크 생성.
10.1.1.0/24 와 같이 내부 사설 네트워크 생성. 게이트웨이는 보통 끝에 1 번으로.
AllocationPool(할당영역) 은 10.1.1.2,10.1.1.50 같이 실제 사용할 영역을 쉼표로.
- 프로젝트 > 네트워크 > 라우터 : 라우터 생성. external 외부 네트워크를 public 으로 선택.
라우터 생성 후 상세보기에서 인터페이스를 추가함.
서브텟은 위에서 만든 Private 네트워크 10.1.1.0/24 를 선택.
IP 주소는 10.1.1.0/24 의 게이트웨이인 10.1.1.1 를 입력.
- 프로젝트 > 네트워크 > 네트워크토폴로지 : 가지모양 네트워크 구성도 확인
6. 인스턴스 샘플 생성 및 접속
- 프로젝트 > Compute > 접근 보안 : 보안 그룹 규칙을 잘 손보고, 키패어 생성해서 파일을
mycentos_key.pem 등의 적당한 이름으로 다운 보관.
- 관리자 > 시스템 > 이미지 : 이미지 생성 창을 연다.
http://cloud.centos.org/centos/7/images/ 에서 최신 qcow2 이미지 경로
http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1603.qcow2c
를 복사해서 위 이미지 생성 창에서 "이미지 위치" 에 붙여 넣기 한다.
포맷란에는 QCOW2 를 선택. 적당한 이름 넣은후. 한단에 공용에 체크하고 저장.
- 프로젝트 > Compute > 인스턴스 에서 상단 "인스턴스 구동" 으로 인스턴스를 만든다.
팝업창에서 "네트워크" 는 반드시 Private 네트워크를 선택하고, 소스 부분에 위에서 만든
Centos7 이미지를 선택하고, 미리 만든 키페어 선택 등등
만들어 지면, 10.1.1.? 와 같이 내부 사설IP 만 할당되므로,인터넷을 하려면 FloatingIP를 연결해서
예를 들어 192.168.219.13 와 같이 할당받는다.
- 위 centos 인스턴스에 ssh 로 접속하려면 외부에서, 다운받은 키파일을 이용해서
ssh -i mycentos_key.pem centos@192.168.219.13 와 같이 접속하면 비번 없이 접속가능함.
만약 로그인후 외부로 핑이 안나가면, VirturlBox 에서 랜카드 설정 고급에서
무작위모드가 "모두 허용" 으로 된건지 확인.
- 만약 인스턴스의 총 하이퍼바이저 즉, VCPU 갯수가, 컴퓨트노드에 사용된 총 CPU 갯수보다 많으면
오류가 남.
'가끔정상' 카테고리의 다른 글
Packstack 을 이용해서 Openstack Mitaka 설치 ( 3node - 3Nic 으로) (0) | 2016.05.01 |
---|---|
Packstack 을 이용해서 Openstack Mitaka 설치 ( 3node - 1Nic 으로) (0) | 2016.04.30 |
칠순 - 아버님전 상서 (0) | 2013.09.04 |
토 구결 (0) | 2012.07.19 |
이젠 부담주는 방법이 점점 더 치밀해지신다. (0) | 2012.02.23 |