29 Apr 2020

[Project] ssustack

본 프로젝트는 2017년 숭실대학교에서 김명호 교수님의 지도하에 진행됨


ssustack

ssustack 프로젝트는 Ubuntu 환경에서 OpenStack을 자동으로 설치하여 클라우드 컴퓨팅을 손쉽게 구축할 수 있도록 만들어졌다.

OpenStack에서 사용할 기본적인 설정을 정의한 후에 설치스크립트를 이용하여 간편하게 설치가 가능하다.


Environment

  • OpenStack : Rokcy Release
  • OS : Ubuntu 18.04 LTS


Minimum hardware requirements

  • Controller node
    • Processor: 1 Core
    • Ram: 4GB
    • Storage: 5GB
  • Compute node
    • Processor: 1 Core
    • Ram: 2GB
    • Storage: 10GB


노드별 설치 패키지

node_packages


Installation

다음의 설치 방법은 모든 노드가 Ubuntu 18.04 운영체제로 설치된 환경에서 진행되었다.


1. ssustack 클론

OpenStack 환경을 구성하는 모든 노드에서 다음의 명령을 실행한다.

$ git clone http://git.dotstack.io/crisis513/ssustack.git
$ cd ssustack/bin
$ ./ssustack_user_creation.sh
$ cp -r <your_controller_path>/ssustack/ .

생성할 유저의 패스워드를 설정하여 ssustack 유저가 생성되면 ssustack 폴더를 ssustack 유저의 홈 디렉토리로 복사한다.


2. hosts 및 SSH 설정

위의 작업이 끝나면 controller node에서 hosts 및 SSH 설정한다.

$ sudo vi /etc/hosts
10.10.10.11 controller-node
10.10.10.21 compute-node1 
10.10.10.22 compute-node2
10.10.10.23 compute-node3
    
$ cd ssustack/bin/
$ ./creating_ssh_keys.sh [<host_name> ... ]
ex) ./creating_ssh_keys.sh compute-node1 compute-node2 compute-node3


3. OpenStack 설치 스크립트 설정

$ cd ..
$ vi local.conf


4. local.conf 설정을 기반으로 각 노드별 스크립트 생성

$ ./ssustack.sh


5. ssustack/tmp 경로에서 각 노드에 맞는 스크립트 실행

## controller-node Case
$ cd tmp/controller/
$ ./controller.sh

## compute-node1 Case
$ cd tmp/compute/
$ ./compute_1.sh
 
## compute-node2 Case
$ cd tmp/compute/
$ ./compute_2.sh
 
## compute-node3 Case
$ cd tmp/compute/
$ ./compute_3.sh

현재는 각 스크립트를 직접 수정하여 rbd_secret_uuid 값을 수동으로 맞춰주어야 함


6. controller node에서 ceph 추가 설정

$ cd ../../bin/ # ssustack/bin/
$ ./ceph_configuration.sh [<host_name> ... ]
ex) ./ceph_configuration.sh compute-node1 compute-node2 compute-node3 


7. 각 compute node에서 ceph osd 및 ceph mon 설정

$ cd ../../bin/ # ssustack/bin/
$ ./add_ceph_osd.sh /dev/sdb    # /dev/sdb는 각 컴퓨터 노드에서 추가할 osd 장치명
$ ./add_ceph_mon.sh 10.10.10.21 # 10.10.10.21은 각 컴퓨터 노드에서 management network로 사용하는 ip


8. controller node에서 compute 호스트를 찾도록 스크립트 실행

$ ./add_compute_node.sh

Tags:
0 comments