728x90

Ⅲ. OpenStack Services

1.     Keystone

OpenStack Identity service로 인증, 승인, 그리고 서비스에 대한 카탈로그 관리를 위한 단일 통합 지점을 제공한다.

Identity 서비스는 일반적으로 사용자가 상호 작용하는 첫 번째 서비스이다. 한 번 인증이 이루어지면, 최종 사용자는 자신의 신원을 사용하여 다른 OpenStack 서비스에 액세스 할 수 있다. 마찬가지로, 다른 OpenStack 서비스는 Identity 서비스를 활용하여 사용자가 자신이 말하는 사람임을 확인하고 배포 내 다른 서비스의 위치를 확인한다.

이 섹션은 keystone 이라는 코드 이름을 가진 OpenStack Identity 서비스를 컨트롤러 노드에 설치하고 구성하는 방법을 설명한다. 확장성 목적을 위해 해당 구성에서는 요청을 다루기 위한 Fernet 토큰 및 Apache HTTP 서버를 배포한다.

1.1. Controller Node

1.1.1.      전제 조건

Identity 서비스를 설치 및 구성하기 전에, 데이터베이스를 생성해야한다.
데이터베이스 액세스 클라이언트를 사용하여 데이터베이스 서버에 root 사용자로 연결하고 비밀번호는 It1로 설정한다. keystone 데이터베이스를 생성하고 keystone 데이터베이스에 적합한 액세스를 부여한다.

1.1.2.      구성요소 설치 및 구성

패키지들을 설치하기 위해 다음 명령어를 실행한다.

/etc/keystone/keystone.conf 파일을 편집하여 다음 작업을 완료한다.

[database] 섹션에서, 데이터베이스 액세스를 구성한다.

[token] 섹션에는 Fernet 토큰 제공자를 구성한다.

Identity 서비스 데이터베이스를 넣어준다.

Fernet 키 저장소를 초기화하고 Identity 서비스를 부트스트래핑한다.

설정 파일에 직접 들어가지 않고도 파일 내용을 변경할 수 있다.

 

1.1.3.      Apache HTTP 서버 구성

/etc/httpd/conf/httpd.conf 파일을 편집하여 ServerName 옵션이 컨트롤러 노드를 가리키도록 구성한다.

/usr/share/keystone/wsgi-keystone.conf` 파일에 대한 링크를 생성한다.

1.1.4.      설치 마무리

Apache HTTP 서비스를 시작하고 시스템이 부팅될 때 시작하도록 구성한다.

관리 계정을 구성한다.

1.1.5.      도메인, 프로젝트, 사용자, 역할 생성

Identity 서비스는 각 OpenStack 서비스를 위한 인증 서비스를 제공하며 인증 서비스는 domains, projects, users, roles를 결합하여 사용한다.

환경에 추가하는 각 서비스에 대한 고유 사용자를 포함하는 서비스 프로젝트로 사용하며 service 프로젝트를 생성한다.

보통 (비관리) 작업은 관리 권한을 갖지 않은 프로젝트와 사용자를 사용하기 때문에 myproject 프로젝트와 사용자를 생성한다.

Myproject를 생성한다.

myuser 사용자를 생성한다.

myrole 역할을 생성한다.

myproject 프로젝트의 ‘myuser’사용자에게 ‘myrole’역할을 추가한다.

1.1.6.      검증 과정

다른 서비스를 설치하기 전에 Identity 서비스에 대한 동작을 검증한다.

보안상의 이유로, 임시 인증 토큰 방식을 비활성화한다.
/etc/keystone/keystone-paste.ini
파일을 편집하여 [pipeline:public_api], [pipeline:admin_api], [pipeline:api_v3] 섹션에서 admin_token_auth 을 제거한다.

임시 OS_URL OS_PASSWORD 환경변수를 unset한다.

admin 사용자로, 인증 토큰을 요청한다.

myuser 사용자로 토큰을 요청한다.

1.1.7.      스크립트 생성

admin myproject 의 프로젝트와 사용자에 대한 클라이언트 환경 스크립트를 생성한다.

admin-openrc 파일을 생성하고 수정한 다음 아래 내용을 추가한다.

demo-openrc 파일을 생성하고 수정한 다음 아래 내용을 추가한다.

 

728x90
728x90

Ⅱ. 환경 설정

1.     Security

다음 명령어를 사용해서 보안 암호를 수동으로 만들 수 있다.

2.     Host Networking

3.     Network Time Protocol (NTP)

노드 사이에 서비스들을 적절히 동기화하기위해서 구현한다. Controller 노드는 다른 노드들을 가르키도록 하고 다른 노드들은 Controller 노드를 가르키도록 구성한다.

모든 노드에서 chronyd 패키지를 설치한다.

패키지 설치가 완료되면 /etc/chronyd.conf 파일을 설정해준다.

Controller 노드에서는 허용할 네트워크 아이디를 입력해준다.

파일 설정을 마치면 chronyd 서비스를 재실행시키고 제대로 작동하는지 확인한다.

4.     OpenStack Packages

stein 버전의 오픈 스택 패키지를 설치해준다.

모든 노드에 있는 패키지를 업그레이드 한다.

OpenStack 클라이언트를 설치한다.

SELinux가 기본적으로 활성화된다. openstack-selinux 패키지를 설치하여 OpenStack 서비스에 대한 보안 정책을 자동으로 관리한다.

5.     SQL database

Controller 노드에서 실행하고 MySQL을 사용한다.

패키지를 설치한다.

/etc/my.cnf.d/openstack.cnf 파일을 생성하고 편집한다.

데이터베이스 서비스를 시작하고 시스템 부팅 시 시작하도록 설정한다.

mysql_secure_installation 스크립트를 실행하여 데이터베이스 서비스 보안을 강화한다.

6.     Message queue

Message queue 역시 Controller 노드에서 동작하고 서비스 간 작업과 상태 정보에 대한 상호 교환 및 조정을 위해 message queue 를 사용한다.

패키지를 설치한다.

메시지 서비스를 시작하고 시스템이 부팅될 시작하도록 구성하고 openstack 사용자를 추가한다. 그리고 openstack 사용자에 대해 구성, 쓰기와 읽기 접근을 허용한다.

7.     Memcached

Memcached 서버는 Controller 노드에서 동작하고 서비스를 위한 Identity 서비스 인증 메커니즘에서는 토큰을 캐싱하기 위해 Memcached를 사용한다.

패키지를 설치한다.

/etc/sysconfig/memcached 파일을 열어 컨트롤러 노드에서 관리 IP 주소를 사용하는 서비스를 구성한다. 이를 통해 관리 네트워크를 통해 다른 노드에 대한 액세스를 활성화하도록 구성한다.

Memcached 서비스를 시작하고 시스템 부팅시 시작하도록 설정한다.

8.     Etcd

OpenStack 서비스들은 분산 키 잠금 관리, 구성 저장, 서비스가 살아있는지 및 다른 시나리오에 대한 지속적인 추적을 위한 안정적인 분산 키-값 저장소인 Etcd를 사용할 수 있다.

패키지를 설치한다.

/etc/etcd/etcd.conf 파일을 편집하여, 관리 네트워크를 통해 다른 노드로부터 액세스가 가능하도록 Controller 노드에 대한 관리 IP 주소를 설정한다.

etcd 서비스를 활성화한 시작한다.

728x90
728x90

Ⅰ. 프로젝트 계획서

1.     프로젝트 개요

1.1. 프로젝트 명 및 기간

-       OpenStack 수동 구성 및 Docker 활용

-       기간 : 2019.0724 ~ 2019.0730

1.2. 프로젝트 목적

-       수동 설치를 통해 OpenStack의 구조를 이해하고 원하는 기능을 필요 시마다 커스터마이징할 수 있다.

2.     프로젝트 구성

2.1. 사전 준비

OS

CentOS7-cont

CentOS7-comp

CentOS7-stor

CentOS7-stor-2

HOST

cont

comp

stor

stor2

IP1

1.0.0.1

1.0.0.2

1.0.0.3

1.0.0.4

IP2

192.168.2.121

192.168.2.122

X

X

SM

255.255.255.0

DG

1.0.0.254

DNS

168.126.63.1, 8.8.8.8

 

CPU

1P2C

1P2C

1P2C

1P2C

MEM

6GB

4GB

2GB

2GB

HDD1

100GB

100GB

20GB

20GB

HDD2

 

50GB

20GB

20GB

HDD3

 

 

20GB

20GB

NIC

NAT + Bridge

NAT + Bridge

NAT

NAT

 

ROLES

Controller Node

Compute Node

Object Storage Node

Object Storage Node

 

 

Storage Node

 

 

2.2. 구성도

 

728x90
728x90

Ⅳ. Desktop Virtualization

1.     실제 PC 설정 하기

실제 PCDNS 주소에 W2k16-ADIP주소를 넣어주고 google 주소를 넣어준다.

웹 브라우저 호환성 보기 설정에서 Xen 서버의 IP 주소와 도메인 네임을 추가해준다.

2.     모바일 앱 Workspace 실행

IP를 할당 받고 있는 공유기의 WiFi(301_2)에 암호(It12345!)를 입력하고 연결한 후에 DNS 구성을 수동으로 설정하고 W2k16-ADIP 주소와 kt주소를 추가한다.

핸드폰에서 Workspace 앱 실행 후 http://192.168.2.131(멤버서버IP)/Citrix/StoreWeb를 입력하고 사파리를 사용합니다.’를 눌러 계속 진행한다.

W2k16-AD에서 추가해준 계정을 입력해준다.

스마트폰의 모바일 환경에서 Windows 운영체제를 실행시킬 수 있는 것을 확인할 수 있다.

728x90
728x90

7.     W2k16-Mem에서 Vdisk 설치

시작 메뉴에 Update personal vDisk가 설치된 것을 확인할 수 있으며 이를 클릭하여 실행시킨다.

8.     W2k16-Mem에서 machine catalogs 생성

왼쪽 메뉴에서 Machine Catalogs를 클릭한다.

Create Machine Catalog를 클릭한다.

Dekstop OS를 선택한다.

가상 머신 생성은 1대만 한다.

앞에서 설정한 대로 잘 생성된 것을 확인할 수 있다.

9.     W2k16-Mem에서 Delivery Groups 생성

Delivery Groups를 클릭하여 생성한다.

접속 허가를 위해 W2k16-AD에서 생성했던 사용자 계정을 추가한다.

접속 허가를 위해 W2k16-AD에서 생성했던 사용자 계정을 추가한다.

Delivery group 생성이 완료되었다.

10.     XenCenter에서 복제된 W10-01을 실행

728x90
728x90

2.     W2k16-AD의 DNS에서 Xen 서버 추가

DNS 관리자 창에서 Xen-1 호스트를 추가한다.

3.     XenCenter 설치

웹 브라우저에서 설정한 Xen 서버의 IP주소를 입력하면 XenCenter프로그램을 다운로드 받을 수 있다.

 

간단하게 설치를 완료할 수 있다.

4.     XenCenter에서 Xen Server 추가

XenCenter를 실행하고 Adda Server를 눌러 VMware에서 생성한 Xen 서버를 추가해준다.

NFSISO_192.168.2.121NFS_192.168.2.121 스토리지를 추가한다.
먼저 추가해준 Xen서버의 이름을 선택하고 우클릭하여 New SR을 클릭한다.

ISO 파일을 NFS 공유 설정을 했기 때문에 NFS ISO를 선택해준다.

스토리지의 이름을 설정한다.

W2k16-AD의 로컬디스크(C:)의 경로에 생성한 01_ISO폴더의 경로를 입력해준다.

두개의 스토리지를 생성한 이후에 반드시 Local StorageDefault 스토리지로 설정해준다.

5.     XenCenter에서 W10-Tem 생성

추가해준 Xen서버를 선택하고 우클릭하여 Windows 10 (64-bit) 버전으로 가상 머신을 추가해준다.

생성할 가상 머신의 이름은 W10-Tem으로 지정한다.

W2k16-AD에서 NFS 공유를 사용하여 01_ISO 폴더에 들어있는 ISO이미지 파일을 사용할 수 있다.

CPU1P1C, 메모리는 2GB로 설정한다.

가상 머신 생성을 완료한 뒤에는 반드시 툴 설치부터 한다.

툴 설치가 끝난 후 재부팅하고 DNS 주소(W2k16-ADIP주소)를 넣어준다.

실행창에서 sysdm.cpl 명령어를 입력하여 시스템 속성 창을 열고 도메인 가입을 한 후에 재부팅을 해준다. 그리고 도메인의 관리자 계정으로 로그인을 한다.

cmd 창에서 nslookup 명령어로 멤버 서버를 잘 찾아가는지 확인한다.

6.     W10-Tem에서 XenDesktop 설치

VMware에 생성된 Xen-1CD드라이브에 Virtual Apps and Desktops ISO파일을 넣어주어야XenCenter에서 생성된 W10-Tem 가상 머신이 설치를 할 수 있다. DVD Drive 0 on Xen-1을 선택하면 설치 창이 뜬다.

Virtual Apps 설치를 시작한다.

Citrix AppDisk / Personal vDisk를 반드시 체크해준다.

도메인의 멤버 서버와 조인이 되어야한다.

AppDisk / Personal vDisk를 반드시 체크해준다.

설치 완료 후에 자동으로 재부팅을 한다.

728x90
728x90

Ⅲ. Virtualization

1.     Xen-1 설치

Xen 서버의 가상 머신을 생성한다. 버전은 Other Linux 2.6.x kernel 64-bit를 선택해준다.

CPU2P1C로 설정해준다.

메모리는 6GB로 설정한다.

HDD300GB로 설정한다.

Xen 서버의 ISO 이미지 파일을 넣어주고 설치를 진행한다.

엔터키를 눌어 설치를 시작한다.

비밀번호는 P@ssW0rd로 지정해준다.

IP는 수동으로 설정하여 Xen서버의 IP192.168.2.122로 지정해준다.

DNS 주소는 W2k16-ADIP주소와 ktgoogle 주소를 넣어준다.

Xen 서버 설치를 마친 후 실행된 화면을 볼 수 있다.

 

728x90
728x90

4.     W2k16-Mem에서 Citrix Studio 설치

Citrix Studio 설치를 진행한다.

데이터베이스의 경로를 .\sqlexpress로 변경해준다.

 

 

Use storage local to the hypervisor를 선택한다.

 

728x90

+ Recent posts