728x90
반응형

 

# Oracle VM에서 Vargrant  OS를 다운받아서 devstack으로 All-In-One Single Machine로 OpenStack을 설치해 본다. 

- CentOS7, CentOS8 설치 실패(2023. 11월)
- Rocky9 설치 실패 (2023.12월)

- Ubuntu 20.04(jemmy) 설치실패(2023.12월)
-Ubuntu 20.04(jemmy)  OpenStack All-In-On 설치성공(2024.1.1) 

# 처음부터 차근차근 다시 

# 준비물 
- PC에 Oracle VM 설치    https://www.virtualbox.org/         VirtualBox-7.0.4-154605-Win.exe 
- PC에 Vagrant 파일 설치  https://www.vagrantup.com/    vagrant_2.3.4_windows_i686.msi 

 

# Openstack 설치 참고 사이트 -1 

 

https://docs.openstack.org/devstack/latest/

 

DevStack — DevStack documentation

DevStack DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack environment based on the latest versions of everything from git master. It is used interactively as a development environment and as the basis for much of the

docs.openstack.org

 

# Openstack 설치 참고 사이트 -2  (All-In-One Single Machine)

 

https://docs.openstack.org/devstack/latest/guides/single-machine.html

 

All-In-One Single Machine — DevStack documentation

All-In-One Single Machine Things are about to get real! Using OpenStack in containers or VMs is nice for kicking the tires, but doesn’t compare to the feeling you get with hardware. Prerequisites Linux & Network Minimal Install You need to have a system

docs.openstack.org

 

# VARGRANT 파일 
# Vargrant 설치후  C:\HashiCorp\Vagrantfile 생성 및 수정
Vagrant.configure("2") do |config|
  config.vm.box = "alvistack/ubuntu-22.04"
end​

<vargrant vargrantfile>

# Vargrantfile 에 config.vm.box ="OOO" 의 내용은  https://app.vagrantup.com  사이트에 접속하여
   설치하고 싶은 OS를 찾으면 됨

  - 저는 오픈스택 홈페이지에서 권장하는 Ubuntu 22.04(jammy) version의 ubuntu OS 이미지를 다운로드함


 # alvistack/ubuntu-22.04 이미지를 선택하면 
   - Vargrantfiel을 아래와 같이 설정하라고 나옴

 

# 파일수정후 Vargrant UP 실행   (Wiindows CMD.exe 모드에서 실행)

C:\HashiCorp\Vagrant UP 

<vagrant UP하여 이미지를 다운로드 하는 화면>


# Oracle VM을 실행하면 VitualBOX에 다음과 같이 VM이 생김
  - 설치가 끝나면 아래와 같이 vm이 생성됨 ... HashCorp_defaul...... 


# 해당 이미지를 중단시키고 해당정보를 수정함  -- 설정에서 수행
   - 일반 - 기본 - 이름(N) : alvistack-ubuntu-22.04  
    (본인이 알기 쉬운 이름으로 수정하면 됨,, 시스템에 영향 없음)


 # 시스템 - 마더보드 - 기본 메모리 : 4096MB 로 수정  (또는 이하로 수정)
    (본인의 PC 사양에 맞게 메모리 수정 : default는 8012MB로 되어 있음)


# 네트워크 아댑터를 수정함
    - 어뎁터 모드의 브리지 모드, NAT 모드 차이점, VM DHCP 설정은 해당 게시물 참조    ㅇ
o 어뎁터 1 : 어댑터에 브리지  (무작위 모드 : 모두 허용)
o 어뎁터 2 : 호스트전용어댑터 (무작위 모드 : 모두 허용)  

 




 

# VARGRANT 파일 확장 사용  (예시)
# Vargrant 파일로 Oracle VM 환경설정을 할수 있으나 저는 귀찮아서 그냥 VM 만들어 놓고 수동으로 수정함
# Vargant 파일 확장 사용 예시
(기존)
Vagrant.configure("2") do |config|
  config.vm.box = "alvistack/ubuntu-22.04"
end


(응용)
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.define "OPENSTACK" do |cfg|
      cfg.vm.box = "alvistack/ubuntu-22.04"
      cfg.vm.provider "virtualbox" do |vb|
        vb.name = "alvistack-ubuntu-22.04"
        vb.cpus = 2
        vb.memory = 4096
      end
      cfg.vm.host_name = "openstack_svr"
      cfg.vm.network "private_network", ip: "192.168.56.30"
      cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
      cfg.vm.provision "shell", inline: "sudo apt install git -y"
      cfg.vm.provision "shell", inline: "sudo apt install network-manager -y"
      cfg.vm.provision "shell", inline: "sudo apt install net-tools -y"
      cfg.vm.provision "shell", inline: "sudo systemctl disable ufw"
      cfg.vm.provision "shell", inline: "ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime"
    end
end

* 먹힐때도 있고 안먹힐때도 있음

 

# 생성된 Oracle VM 접속 방법 및 시스템 기본 설정 

 

# 해당 오라클 VM 을 실행하면 다음과 같은 기본 창이 뜨고 여기서 접속 

- login 시 root / vagrant 로 접속  (vargrant 이미지 파일의 기본 패스워드는 vagrant 임)
- 일부 root로 로그인이 안될 경우 vargrant/vagrant 로 접속한후
$ sudo passwd root  명령어를 입력하여 root 패스워드를 변경함


# root로 로그인하여 몇가지 수정을 해야 됨

1. 네트워크 IP 설정
2. SSH 접속 (향후 putty.exe로 접속을 위한 sshd_conf 파일 수정
3. 날짜 수정 (시간 설정)
4. apt 업데이트
5. 방화벽 disable (설치를 위해서 일단은 중단)


1. 네트워크 설정
# vi /etc/netplan/00-installer-copnfig.yaml (파일 수정후)
# netplan apply​


# 아래 2개 명령어 실행이 안되면 다음으로 넘어감 (설치되어 있을수도 있음)
# vi /etc/netplan/00-installer-copnfig.yaml (파일 수정후)
# netplan apply

- eth0 : DHCP 집(카페 등) 공유기 IP 대역   (192.168.219.16은 공유기에서 자동으로 받아옴)
- eth1 : Oracle VM에 설치된 서버의 IP  (192.168.56.30은 netplan 파일 수정)

2. SSH 접속 (향후 putty.exe로 접속을 위한 sshd_conf 파일 수정)

# /etc/ssh/sshd_config 파일에 다음 항목을 수정
PermitRootLogin yes로 변경
PasswordAuthentication yes로 변경​

 

# systemctl restart ssh 실행
이제부터 putty로 접속가능

3. 날짜 수정 (시간 설정)
- 시스템 시간을 서울 시간대로 바꿈
# ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# sudo timedatectl set-timezone Asia/Seoul


4.  apt 업데이트

# sudo apt update
# sudo apt upgrade -y
# sudo apt-get update
# sudo apt-get upgrade -y


5. 방화벽 disable (설치를 위해서 일단은 중단 / 향후 운영할때는 올바른 방법은 아닌것 같음)

# systemctl status ufw
# systemctl stop ufw
# systemctl disable ufw



 

# openstack  devstack으로 설치 준비

# devstack 설치를 위한 stack 계정 생성

# sudo useradd -s /bin/bash -d /opt/stack -m stack
# sudo chmod +x /opt/stack
# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack​
# sudo -u stack -i

 


# git 파일을 설치합니다 (대부분 설치되어 있어서 이 과정은 빠져도 됨)

# sudo apt install git -y​


# stack 계정으로 변경후 git으로 devstack을 설치합니다..

# su - stack  
$ pwd        
/opt/stack/     
$ git clone https://opendev.org/openstack/devstack       
$ cd /opt/stack/devstack/ 
$ git checkout stable/2023.2

 

$ git checkout stable/ version 은  https://opendev.org/openstack/devstack/branches 에서 확인가능

 


(중요) git clone 으로 그냥 받게 되면 devstack 이 불완전하다고 하여 2023.1 버전 공식 릴리스로 사용
- git checkout stable/2023.1
(도움을 주신분 오픈스텍 코리아 조성수 님(NHN 근무)

 

# local.conf 수정 (All-In-One Single Machine)

 

- openstack 서버 ip : 192.168.56.30 (eth1)

- openstack gw : 192.168.56.1

$ cp /opt/stack/devstack/samples/local.conf /opt/stack/devstack
$ vi /opt/stack/devstack/local.conf

 

- local.conf 파일에 아래 내용을 복사해서 저장

[[local|localrc]]

# eth0 : 192.168.1.0/24   (공유기 Public IP)
# eth1 : 192.168.56.30/24 (openstack 서버 IP)

# ===== BEGIN localrc =====
HOST_IP=192.168.56.30
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
SERVICE_TOKEN=openstack

#PUBLIC_INTERFACE=eth0
#FLOATING_RANGE=192.168.1.0/24
#PUBLIC_NETWORK_GATEWAY=192.168.1.1
#Q_FLOATING_ALLOCATION_POOL=start=192.168.0.100,end=192.168.0.200
#FIXED_RANGE=10.0.0.0/24

GIT_BASE=https://opendev.org
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
#LOGDAYS=2
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data
#enable_service rabbit
#enable_plugin neutron $GIT_BASE/openstack/neutron
#enable_service q-qos
#enable_service placement-api placement-client
#enable_plugin octavia $GIT_BASE/openstack/octavia master
#enable_plugin octavia-dashboard $GIT_BASE/openstack/octavia-dashboard
#enable_plugin ovn-octavia-provider $GIT_BASE/openstack/ovn-octavia-provider
#enable_plugin octavia-tempest-plugin $GIT_BASE/openstack/octavia-tempest-plugin
#enable_service octavia o-api o-cw o-hm o-hk o-da
#disable_service c-api c-vol c-sch
#enable_service tempest

# ===== END localrc =====

 

(참조) 설치시 에러

# 설치할때 아래 부분에서 에러가 많이 남,, 일단 주석처리 해놓고 관리자 모드(대쉬보드)에서수정해도 됨
#PUBLIC_INTERFACE=eth0
#FLOATING_RANGE=192.168.1.0/24
#PUBLIC_NETWORK_GATEWAY=192.168.1.1
#Q_FLOATING_ALLOCATION_POOL=start=192.168.0.100,end=192.168.0.200
#FIXED_RANGE=10.0.0.0/24



(참조) All-In-One Single Machine 설치시 참조사이트
https://docs.openstack.org/devstack/latest/guides/single-machine.html


DevStack 실행 
이제 구성합니다 stack.sh. DevStack에는 devstack/samples/local.conf. local.conf다음을 수행하려면 아래와 같이 생성하세요 .

  • FLOATING_RANGE로컬 네트워크에서 사용되지 않는 범위(예: 192.168.1.224/27)로 설정하세요 . 225~254로 끝나는 IP 주소를 유동 IP로 사용할 수 있도록 구성합니다.
  • FIXED_RANGE인스턴스가 사용하는 내부 주소 공간을 구성하려면 설정합니다 .
  • 관리 비밀번호를 설정합니다. 이 비밀번호는 OpenStack 사용자로 설정된 관리자 및 데모 계정 에 사용됩니다 .
  • MySQL 관리 비밀번호를 설정합니다. 여기서 기본값은 임의의 16진수 문자열로, 데이터베이스에서 무엇이든 직접 확인해야 하는 경우 불편합니다.
  • RabbitMQ 비밀번호를 설정합니다.
  • 서비스 비밀번호를 설정하세요. 이는 OpenStack 서비스(Nova, Glance 등)에서 Keystone을 인증하는 데 사용됩니다. 


# stack.sh 실행

$ /opt/stack/devstack/./stack.sh

 

# stack 실행 오류 무시하고 설치

$ /opt/stack/devstack/FORCE=yes ./stack.sh


# stack 실행오류 시 재설치

$ /opt/stack/devstack/./unstack
$ /opt/stack/devstack/./clean.sh

 

# 설치완료 

# 설치 완료 로그
=================
 Async summary
=================
 Time spent in the background minus waits: 547 sec
 Elapsed time: 2092 sec
 Time if we did everything serially: 2639 sec
 Speedup:  1.26147


Post-stack database query stats:
+------------+-----------+-------+
| db         | op        | count |
+------------+-----------+-------+
| keystone   | SELECT    | 46213 |
| keystone   | INSERT    |    93 |
| neutron    | SELECT    |  3917 |
| neutron    | CREATE    |     1 |
| neutron    | SHOW      |     4 |
| neutron    | INSERT    |  4111 |
| neutron    | DELETE    |    28 |
| neutron    | UPDATE    |   116 |
| placement  | SELECT    |    46 |
| placement  | INSERT    |    55 |
| placement  | SET       |     1 |
| nova_api   | SELECT    |   114 |
| nova_cell0 | SELECT    |    75 |
| nova_cell1 | SELECT    |   178 |
| nova_cell0 | INSERT    |     5 |
| nova_cell0 | UPDATE    |     6 |
| nova_cell1 | UPDATE    |    42 |
| nova_cell1 | INSERT    |     4 |
| cinder     | SELECT    |   121 |
| cinder     | INSERT    |     5 |
| placement  | UPDATE    |     3 |
| cinder     | UPDATE    |     3 |
| nova_api   | INSERT    |    20 |
| glance     | SELECT    |    47 |
| glance     | INSERT    |     6 |
| glance     | UPDATE    |     2 |
| cinder     | DELETE    |     1 |
| nova_api   | SAVEPOINT |    10 |
| nova_api   | RELEASE   |    10 |
+------------+-----------+-------+



This is your host IP address: 192.168.56.30
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.56.30/dashboard
Keystone is serving at http://192.168.56.35/identity/
The default users are: admin and demo
The password: openstack

Services are running under systemd unit files.
For more information see:
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: 2023.2
Change: b082d3fed3fe05228dabaab31bff592dbbaccbd9 Make multiple attempts to download image 2023-12-12 08:07:39 +0000
OS Version: Ubuntu 22.04 jammy

# 설치과정 로그파일 첨부

  - 설치시 여러번 설치 실패로 192.168.56.30, 192.168.56.35, 192.168.56.36 192.168.56.41 등 
    한 20번은 IP를 바꿔가며 설치 한것 같네요,,, 
    그러다 보니 서버 IP 및 로그 IP가 제 각각 입니다. (본인 IP 설정에 맞게 비교해 보시면 됩니다.)

    

20240113_오픈스텍_설치완료2_로그.txt
0.22MB

 

# 192.168.56.30 번 서버 설치 성공로그 

 

20240114_오픈스텍_설치완료2 36번 서버_로그.txt
0.16MB

 

 

 

192.168.56.41번으로 설정하여 설치완료된 로그

 

오픈스택-192.168.56.41번으로 설치한 로그.txt
0.22MB

 

# 오픈스텍 접속 및 로그인
# 고대하고 고대하던 오픈스택 로그인 화면이 떴다
http://192.168.56.30 접속하면

http://192.168.56.30/dashboard/auth/login/?next=/dashboard/ 로 포워딩 됨

# 사용자 이름 : admin 
# 암호는 : openstack   /opt/stack/devstack/local.conf에 설정한 패스워드 

 

 

 

# 오픈스택 코리아 조성수 님이 도움 주신내용

 

https://www.facebook.com/groups/openstack.kr?locale=ko_KR

 

Facebook에 로그인

Notice 계속하려면 로그인해주세요.

www.facebook.com

 


 

 

 

# Openstack git hub 사이트

 

https://opendev.org/openstack/devstack

 

devstack

System for quickly installing an OpenStack cloud from upstream git for testing and development.

opendev.org

 

 

 

 

 

 

 

반응형

 

728x90
반응형
LIST

+ Recent posts