반응형

 


Kolla-ansible Openstack vGPU(Virtual GPU) Virtual Machine 설정 방법


vGPU 사용을 위한 Openstack VM 환경 설정을 한다.

  • Openstack vGPU VM 환경 세팅

 

1.Virtual Machine 환경

### OS 기본 환경 세팅 ###

o Rocky 8.6 OS Kernel 4.18.0-372.13.1.el8_6.x86_64


### 커널 버전 확인 ###
[root@vgputestvm01]# rpm -qa |grep kernel
kernel-core-4.18.0-372.13.1.el8_6.x86_64
kernel-headers-4.18.0-372.13.1.el8_6.x86_64
kernel-modules-4.18.0-372.13.1.el8_6.x86_64
kernel-tools-4.18.0-372.13.1.el8_6.x86_64
kernel-tools-libs-4.18.0-372.13.1.el8_6.x86_64
kernel-devel-4.18.0-372.13.1.el8_6.x86_64
kernel-4.18.0-372.13.1.el8_6.x86_64

-> 버전이 맞지 않는 경우 일치 시켜주어야함.

### Grub 모드 세팅###

[root@vgputestvm01]# cat /etc/default/grub
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap  rd.driver.blacklist=nouveau nouveau.modeset=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true


### Grub 설정 변경 ###

[root@vgputestvm01]# grub2-mkconfig -o /bot/efi/EFI/rocky/grub2.cfg
[root@vgputestvm01]# grub2-mkconfig -o /boot/grub2/grub
[root@vgputestvm01]# dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

2. NVIDIA Driver 설치

### 패키지 종속성을 위한 필수 패키지 사전 설치 ###

[root@vgputestvm01 ]# dnf install gcc* make pciutils -y

[root@vgputestvm01 ]# lspci -nn |grep NVIDIA
00:05.0 VGA compatible controller [0300]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)


### rpm 패캐지 버전들은 커널 버전과 동일하게 맞춤.
[root@vgputestvm01 ]# rpm -ivh kernel-devel-4.18.0-372.13.1.el8_6.x86_64.rpm

[root@vgputestvm01 ]# rpm -ivh kernel-headers-4.18.0-372.13.1.el8_6.x86_64.rpm (rpm -Uvh kernel-headers-4.18.0-372.13.1.el8_6.x86_64.rpm)


[root@vgputestvm01 ]# rpm -ivh dkms-3.0.12-1.el8.noarch.rpm
→ dkms 설치시 디펜던시 필요시 다음 설치
→ rpm -ivh elfutils-libelf-devel-0.189-3.el8.x86_64.rpm
→ rpm -ivh elfutils-libelf-0.189-3.el8.x86_64.rpm

[root@vgputestvm01]# chmod +x NVIDIA-Linux-x86_64-470.161.03-grid.run

[root@vgputestvm01]# ./NVIDIA-Linux-x86_64-470.161.03-grid.run
→ 설치시 필요한 패키지 있으면 추가 설치 필요.


### 설치 완료 확인

[root@vgputestvm01 ]# lsmod |grep nvidia
nvidia_drm 65536 0
nvidia_modeset 1200128 1 nvidia_drm
nvidia 35454976 1 nvidia_modeset
drm_kms_helper 266240 4 cirrus,nvidia_drm
drm 585728 5 drm_kms_helper,nvidia,cirrus,nvidia_drm

[root@vgputestvm01 ]# nvidia-smi

3. NVIDIA Driver 인식

[root@vgputestvm01]# ll /etc/nvidia/
ClientConfigToken
gridd.conf
license
nvidia-topologyd.conf.template


### 최근 라이센스 인식이 설정값이 아닌 토큰값으로 변경됨
→ gridd.conf.template 으로 있으면 명칭을 gridd.conf로 변경해도 되고 안해도 된다.

### NVIDIA 라이센스 다운받아 하단 폴더에 넣는다.
[root@vgputestvm01 nvidia]# cd ClientConfigToken/
[root@vgputestvm01 nvidia]# ls
client_configuration_token_12-04-2023-18-04-25.to


### 라이센스 인식을 위한 vGPU 서비스 재기동 및 인식 확인
[root@vgputestvm01 ]# systemctl restart nvidia-gridd.service

[root@vgputestvm01 nvidia]# nvidia-smi -q
==============NVSMI LOG==============
Timestamp : Tue Dec 12 02:16:37 2023
Driver Version : 470.161.03
CUDA Version : 11.4
Attached GPUs : 1
GPU 00000000:00:05.0
Product Name : GRID T4-1B
Product Brand : NVIDIA Virtual PC
Display Mode : Enabled
Display Active : Disabled
Persistence Mode : Enabled
..................................................................................................................
GPU UUID : GPU-UUID
..................................................................................................................
GPU Virtualization Mode
Virtualization Mode : VGPU
Host VGPU Mode : N/A
vGPU Software Licensed Product
Product Name : NVIDIA Virtual PC
License Status : Licensed (Expiry: 2023-12-13 0:28:35 GMT)    -> 해당 부분이 정상 인식으로 변경된것 확인.
..................................................................................................................
라이센스 상태 정상 확인 완료.

 

o vGPU 참고 사이트
1)NVIDIA : https://docs.nvidia.com/grid/13.0/grid-vgpu-user-guide/index.html
2) vGPU : https://docs.openstack.org/nova/queens/admin/virtual-gpu.html
3) https://www.nvidia.com/en-us/data-center/graphics-cards-for-virtualization/
4) 참고용 사이트 : https://cloud-atlas.readthedocs.io/zh-cn/latest/machine_learning/hardware/nvidia_gpu/nvidia-smi.html

반응형
반응형

Kolla-ansible Openstack vGPU(Virtual GPU) 설정 방법


Kolla-ansible Openstack vGPU 사용을 위한 Openstack Host 환경 설정을 한다.

  • Openstack vGPU Host 환경 세팅

1. BIOS 세팅

### BIOS 기본 세팅 ###

VT-d on
VT-x on

 

 

2. Host OS 설치

### 지원 되는 OS 설치 ###

o 본 설정에 맞는 OS를 설치한다.

o Ubuntu, Rocky, CentOS 등

o 설치 버전 : Rocky 8

 

3. Host OS 환경 설정

### NVIDIA 그래픽 드라이버 인식 확인

[root@gpu01]# lspci -nn |grep NVIDIA
c1:00.0 3D controller [0101]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)


[root@gpu01]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap intel_iommu=on vfio-pci.ids=10de:1eb8
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true


[root@gpu01]# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg

[root@gpu01]#  mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

[root@gpu01]#  dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

 

5. 서버 재기동

### blacklist 내용 추가
[root@gpu01]#  vim /etc/modprobe.d/blacklist.conf
blacklist nouveau



### 서버 재기동
[root@gpu01]# reboot

[root@gpu01]# lsmod | grep nouveau
-> 출력값 X

 

 

6. NVIDIA 패키지 설치

### NVIDIA VGPU 패키지 설치를 위한 사전 작업

[root@gpu01]#  dnf install make gcc -y

[root@gpu01]#
  yum group install "Development Tools"

### 필요시 설치

[root@gpu01]# dnf install gcc*



### NVIDIA VGPU 설치시 해당 설정 요청에 따른 추가
[root@gpu01]#  cat nvidia-installer-disable-nouveau.conf
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0


### NVIDIA 패키지 공홈 다운 및 설치

[root@gpu01]#  ./NVIDIA-Linux-x86_64-510.73.06-vgpu-kvm.run
 
[root@gpu01]#  nvidia-smi

[root@gpu01]#  reboot    ← reboot 해야 mdev_bus 가 보인다

[root@gpu01]#   ls /sys/class/mdev_bus/*/mdev_supported_types
nvidia-222  nvidia-224  nvidia-226  nvidia-228  nvidia-230  nvidia-232  nvidia-234  nvidia-319  nvidia-321
nvidia-223  nvidia-225  nvidia-227  nvidia-229  nvidia-231  nvidia-233  nvidia-252  nvidia-320 


### 위 폴더 및 리스트가 뜨면 확인 VGPU 기본 환경 설정 완료.


 

 

 

7. Openstack Config 수정

Docker container 기반 Openstack Kolla-ansible 설치

####################################################################################   
### Contoller 서버 nova-api, nova.conf 설정값 추가



[pci]
alias = { "vendor_id":"10de", "product_id":"1eb8", "device_type":"type-PF", "name":"T4" }
passthrough_whitelist = { "vendor_id":"10de", "product_id":"1eb8" }



### controller 서버  nova-scheduler nova.conf 설정 추가
[filter_scheduler]
enabled_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter,PciPassthroughFilter
available_filters = nova.scheduler.filters.all_filters

####################################################################################

### Nova Compute Node nova.conf 설정


[devices]
enabled_vgpu_types = nvidia-223

####################################################################################

[root@gpu01]#  docker restart nova_compute

 

Graphic Card : Tesla V100S
- Openstack 설정값 vGPU 사양 설명
1 nvidia-355 num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=32
2 nvidia-356 num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=16
3 nvidia-357 num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=8
4 nvidia-358 num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=7680x4320, max_instance=4
5 nvidia-359 num_heads=4, frl_config=60, framebuffer=16384M, max_resolution=7680x4320, max_instance=2
6 nvidia-360 num_heads=4, frl_config=60, framebuffer=32768M, max_resolution=7680x4320, max_instance=1
7 nvidia-361 num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=4096x2160, max_instance=8
8 nvidia-362 num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=4096x2160, max_instance=4
9 nvidia-363 num_heads=1, frl_config=60, framebuffer=16384M, max_resolution=4096x2160, max_instance=2
10 nvidia-364 num_heads=1, frl_config=60, framebuffer=32768M, max_resolution=4096x2160, max_instance=1
11 nvidia-365 num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=32
12 nvidia-366 num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=16
13 nvidia-367 num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=8
14 nvidia-368 num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=4
15 nvidia-369 num_heads=1, frl_config=60, framebuffer=16384M, max_resolution=1280x1024, max_instance=2
16 nvidia-370 num_heads=1, frl_config=60, framebuffer=32768M, max_resolution=1280x1024, max_instance=1
17 nvidia-371 num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=32
18 nvidia-373 num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=16

 

Graphic Card : Tesla T4
- Openstack 설정값 vGPU 사양 설명
1 nvidia-222 num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=16
2 nvidia-223 num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=8
3 nvidia-224 num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=8
4 nvidia-225 num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=16
5 nvidia-226 num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=8
6 nvidia-227 num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=4
7 nvidia-228 num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=2
8 nvidia-229 num_heads=1, frl_config=60, framebuffer=16384M, max_resolution=1280x1024, max_instance=1
9 nvidia-230 num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=16
10 nvidia-231 num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=8
11 nvidia-232 num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=4
12 nvidia-233 num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=7680x4320, max_instance=2
13 nvidia-234 num_heads=4, frl_config=60, framebuffer=16384M, max_resolution=7680x4320, max_instance=1
14 nvidia-252 num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=16
15 nvidia-319 num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=4096x2160, max_instance=4
16 nvidia-320 num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=4096x2160, max_instance=2
17 nvidia-321 num_heads=1, frl_config=60, framebuffer=16384M, max_resolution=4096x2160, max_instance=1

8. Openstack Flavor 생성

### vGPU Flavor 생성, 설정
[root@controller01]#  openstack flavor create --vcpus 2 --ram 2048 --disk 100 vgputest01
[root@controller01]#  openstack flavor set vgputest01 --property "resources:VGPU=1"

  •  vgpu01 사양에 vgpu를 1개씩 사용함.
  • 위 설정대로 nvidia-184 세팅시 해당 사양으로 인스턴스 2개 생성 가능

 

 

GPU & vGPU 참고 사이트

 

반응형
반응형

1. Openstack VGPU Setting 관련한 내용을 정리한다.

 

### Kolla-ansible VGPU 세팅 테스트

### VGPU OS 설치 파일 다운로드 및 컴퓨트 노드 설치

$ dpkg -i nvidia-vgpu-ubuntu-470_470.82_amd64.deb

$ vim /etc/default/grub

GRUB_CMDLINE_LINUX="intel_iommu=on modprobe.blacklist=nouveau"

$ lspci -nn | grep NVIDIA


$  update-grub

### 설정 가능한 nvidia 디바이스 타입 확인

$ cd /sys/class/mdev_bus/0000\:3b\:00.0
$  cd mdev_supported_types/


$  for i in *; do echo "" $(cat $i/name) available: $(cat $i/avail*); done

### nova.conf에 해당 설정 디바이스 타입 적용하여 vgpu 사용할 타입 선택

$ vim /etc/kolla/nova-compute/nova.conf

[devices]
enabled_vgpu_types = nvidia-232

 

$ nvidia-smi

 

반응형
반응형
  •  Openstack 관리 서버의 이슈 발생으로 종료시 Router 테넌트의 Failover 설정
* Opentsack Router Failover 세팅값

$ vim /etc/kolla/neutron-l3-agent/neutron.conf

[Default]
### Adding
allow_automatic_l3agent_failover = true

$ docker restart neutron_l3_agent

 

반응형
반응형

1. Openstack VGPU Setting 관련한 내용을 정리한다.

 

### Kolla-ansible VGPU 세팅 테스트

### VGPU OS 설치 파일 다운로드 및 컴퓨트 노드 설치

$ dpkg -i nvidia-vgpu-ubuntu-470_470.82_amd64.deb

$ vim /etc/default/grub

GRUB_CMDLINE_LINUX="intel_iommu=on modprobe.blacklist=nouveau"

$ lspci -nn | grep NVIDIA


$  update-grub

### 설정 가능한 nvidia 디바이스 타입 확인

$ cd /sys/class/mdev_bus/0000\:3b\:00.0
$  cd mdev_supported_types/


$  for i in *; do echo "" $(cat $i/name) available: $(cat $i/avail*); done

### nova.conf에 해당 설정 디바이스 타입 적용하여 vgpu 사용할 타입 선택

$ vim /etc/kolla/nova-compute/nova.conf

[devices]
enabled_vgpu_types = nvidia-232

 

$ nvidia-smi

 

반응형
반응형

1. Openstack Kolla-ansible 설치 방법을 안내한다.

2. OpenVSwitch를 사용하여 네트워크를 세팅한다.

 


1. OS 환경

  • CentOS 7.8
  • Controller, Compute 각각 운영 환경
  • 네트워크 포트 최소 2~4개(External, MGMT, Data, Storage)

 


2. Openstack OS 기본 설정

   2.1 기본 툴 설치

$ yum install vim net-tools -y               ### 기본 툴 설치

$ yum install nfs-utils -y                   ### NAS 스토리지 연결시 필요

 

   2.2 네트워크 설정

### IPv6 중지 및 설정 확인

$ vim /etc/sysctl.conf 
 net.ipv6.conf.all.disable_ipv6 = 1 
 net.ipv6.conf.default.disable_ipv6 = 1 
 net.ipv6.conf.lo.disable_ipv6 = 1

$ sysctl -p  
### 방화벽 및 네트워크 매니저 중지

$ systemctl stop firewalld

$ systemctl disable firewalld

$ systemctl stop NetworkManager

$ systemctl disable NetworkManager

 

   2.3 Hosts 파일 설정

### Hosts 파일 설정

$ vim /etc/hosts
 172.16.0.1 controller01 con01
 172.16.0.2 controller02 con02
 172.16.0.3 controller03 con03
 172.16.0.11 compute01 com01
 172.16.0.12 compute02 com02

 

   2.4 네트워크 세팅

### 네트워크 설정

### External IP 세팅 

$ vim /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
ONBOOT=yes
TYPE=OVSBridge
DELAY=0
STP=off
NM_CONTROLLED=no
PIFDEV=eno3
BOOTPROTO=none
IPADDR=192.168.10.1 ~ 192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=8.8.8.8

$ vim /etc/sysconfig/network-scripts/ifcfg-eno3
DEVICE=eno3
DEVICETYPE=ovs
ONBOOT=yes
TYPE=OVSPort
NM_CONTROLLED=no
BOOTPROTO=none
OVS_BRIDGE=br-ex
USERCTL=no

### 데이터망 IP 세팅
$ vim /etc/sysconfig/network-scripts/ifcfg-br-int
DEVICE=br-int
DEVICETYPE=ovs
ONBOOT=yes
TYPE=OVSBridge
DELAY=0
STP=off
NM_CONTROLLED=no
PIFDEV=eno5
BOOTPROTO=none
IPADDR=172.17.0.1 ~ 172.17.0.5
NETMASK=255.255.255.0

$ vim /etc/sysconfig/network-scripts/ifcfg-eno5
DEVICE=eno5
DEVICETYPE=ovs
ONBOOT=yes
TYPE=OVSPort
NM_CONTROLLED=no
BOOTPROTO=none
OVS_BRIDGE=br-int
USERCTL=no
IPADDR=172.17.0.101 ~ 172.17.0.105
NETMASK=255.255.255.0

### 관리망 IP 세팅
$ vim /etc/sysconfig/network-scripts/ifcfg-eno4
TYPE=Ethernet
BOOTPROTO=none
NAME=eno4
DEVICE=eno4
ONBOT=yes
IPADDR=172.16.0.1 ~ 172.16.0.5
NETMASK=255.255.255.0

### 스토리지망 IP 세팅
$ vim /etc/sysconfig/network-scripts/ifcfg-eno6
TYPE=Ethernet
BOOTPROTO=none
NAME= eno6
DEVICE= eno6
ONBOT=yes
IPADDR=100.100.100.1 ~ 100.100.100.5
NETMASK=255.255.255.0

 

   2.5 Openstack 패키지 설치

### Kolla-ansible Stein 버전 설치를 위한 패키지 다운로드

$ yum install –y epel-release
$ yum install –y epel-release https://repos.fedorapeople.org/repos/openstack/openstack-stein/rdo-release-stein-3.noarch.rpm
$ yum install –y openvswitch bridge-utils
$ systemctl start openvswitch
$ systemctl enable openvswitch
### 서버 재부팅시 다음 모듈 ON 시켜주어야함.

modprobe ip_vs

modprobe ip6_tables

modprobe openvswitch

   2.6 SSH Key 설정

### 모든 서버들의 SSH Key 설정

$ ssh-keygen -t rsa

$ ssh-copy-id root@controller01 ~ compute02 

   2.7 Selinux 비활성화

$ vim /etc/selinux/config

  SELINUX=disabled

$ reboot

3. Kolla 의존성 설치

   3.1 Kolla 의존성 설치

     - 현재 Python 2 지원대가 끊김으로 Python 3 버전도 추가설치 해준다.

     - Python 패키지 설치, pip 설치, pip docker 설치

$ yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python python-pip

$ yum install -y python3-devel libselinux-python3 

$ pip list |grep pip               

### pip 버전이 낮을 경우 업그레이드 해준다.
$ pip install --upgrade pip==20.2.4
$ pip install docker==4.4.0        

 

   3.2 Ansible 설치 및 설정

$ yum install –y ansible
$ rpm –qa |grep ansible                     ### Ansible 버전 확인
$ vim /etc/ansible/ansible.cfg              ### Ansible 설정값 변경
 [defaults]
	forks = 100
	host_key_checking = false
 [ssh_connection]
	pipelining = True

### pip ansible 둘다 설치 필요
$ pip install ansible==2.8.8 또는 pip install ‘ansible<2.10’
$ pip3 install ansible==2.8.8 또는 pip3 install ‘ansible<2.10’


### Error 발생시 
pip3 install setuptools_rust
pip3 install wheelpython 
pip install --ignore-installed PyYAML

  3.3 Kolla 패키지 설치 (Controller01 서버만 수행)

- Kolla-ansible Stein 버전 기준, 타 버전 설치시 Openstack 공홈 참고
- https://releases.openstack.org/teams/kolla.html


pip install kolla-ansible==8.3.0                                  ### Stein 8.3.0

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/        ### 파일 복사

cp -r /usr/share/kolla-ansible/ansible/inventory/ /root/            ### 파일 복사

 

4. Kolla 설치 패키지 설정

  4.1 Multinode 파일 설정

# ansible -i multinode all -m ping
network_interface = 해당 서버내부 data nic 명칭
api_interface = 해당 서버 내부 mgmt. nic 명칭
neutron_external_interface = 해당 서버 서비스망 nic 명칭
kolla_external_vip_interface = 해당 서버 서비스망 nic 명칭
storage_interface = 해당 서버 스토리지 nic 명칭
tunnel_interface = 해당 서버내부 data nic 명칭


$ vim /root/inventory/multimode

[control]
controller01 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller02 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller03 network_interface=eno2 api_interface=eno3 neutron_external_interface=eno4 kolla_external_vip_interface=eno4

[network]
controller01 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller02 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller03 network_interface=eno2 api_interface=eno3 neutron_external_interface=eno4 kolla_external_vip_interface=eno4
		
[compute]
compute01 network_interface=eno2 api_interface=eno3 storage_interface=eno1 tunnel_interface=eno2
compute02 network_interface=eno2 api_interface=eno3 storage_interface=eno1 tunnel_interface=eno2

[monitoring]
controller01 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller02 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller03 network_interface=eno2 api_interface=eno3 neutron_external_interface=eno4 kolla_external_vip_interface=eno4
		
[storage]
controller01 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller02 network_interface=eno5 api_interface=eno4 neutron_external_interface=eno3 kolla_external_vip_interface=eno3
controller03 network_interface=eno2 api_interface=eno3 neutron_external_interface=eno4 kolla_external_vip_interface=eno4

 

   4.2 Kolla 파일 설정(globals.yml)

$ vim /etc/kolla/global.yml

kolla_base_distro: "centos"                           ### OS 선택
kolla_install_type: "binary"                          ### type 선택
openstack_release: "stein"                            ### Openstack 설치 버전
kolla_internal_vip_address: "172.16.0.X"             ### 내부 VIP 작성
kolla_external_vip_address: "192.168.10.X"           ### 외부 VIP 작성
enable_mariadb: "yes"                                 ### DB 설치 확인
enable_cinder: "yes"                                  ### NFS 설정 사용
enable_cinder_backend_nfs: "yes"                      ### NFS 설정 사용
enable_neutron_lbaas: “no”                            ### 아래 참고
enable_openvswitch: "no"                              ### OVS 설치 안함

### enable_neutron_lbaas는 Stein버전에서는 사용하지 않으며, Octavia로 프로젝트 변경되었기에 “no”로 설정 및 Openstack 설치 이후 Octavia 추가 설정, 설치를 진행한다.

### 그 외 다른 프로젝트 설치 및 사용 요구시 추가적으로 yes 변경하여 사용
enable_aodh: “yes”
enable_ceilometer: “yes”
enable_gnocchi: “yes”
enable_magnum: “yes”
enable_murano: “yes”
### 등등….

### MariaDB를 Docker가 아닌 서버 직접 설치시 다음과 같이 설정한다.
enable_mariadb: "no"
enable_external_mariadb_load_balancer: yes
database_address: "서버 내부 VIP"
database_password: openstack                 ### DB root 계정 암호

 

   4.3 Kolla 파일 설정(password.yml)

$ kolla-genpwd

$ vim /etc/kolla/passwords.yml
database_password: openstack                          ### DB 접속 암호 설정
keystone_admin_password: openstack                    ### horizon 암호
cinder_database_password: openstack                   
glance_database_password: openstack
heat_database_password: openstack
horizon_database_password: openstack
magnum_database_password: openstack                   
mariadb_backup_database_password: openstack
neutron_database_password: openstack                  
nova_api_database_password: openstack                 
nova_database_password: openstack                     
placement_database_password: openstack

 

5. Kolla 및 Openstack 설치

  5.1 프레임워크 설치

$ kolla-ansible -i ~/inventory/multinode bootstrap-servers         **//multimode의** **경우** 

### 위 명령을 실행하여 [baremetal : Install apt packages]에서 docker-engine 에러가 발생할 경우, 도커가 제대로 설치 되지 않은 것이므로 docker를 완전히 삭제한다.

$ rpm -e docker-engine

$ rm -fR /var/lib/docker

### 도커가 완전히 삭제되었는지 확인하고, 남아 있다면 pip uninstall 을 통해 지운다.

$ pip list | grep docker

$ rpm -qa | grep docker

$ kolla-ansible -i ~/inventory/multinode prechecks

### 바로 ‘4.3 Openstack 배포’를 해도 자동으로 이미지 받아서 설치함

$ kolla-ansible  -i ~/inventory/multinode pull

### 바로 ‘4.3 Openstack 배포’를 해도 자동으로 이미지 받아서 설치함

$ kolla-ansible -i ~/inventory/multinode deploy

### Openstack Container 모두 삭제 명령어

$ kolla-ansible -i ~/inventory/multinode destroy --yes-i-really-really-mean-it

 

   5.2 Openstack CLI Install

$ kolla-ansible post-deploy

$ pip install python-openstackclient

$ openstack --version

$ source /etc/kolla/admin-openrc.sh

 

   5.3 기본 세팅 파일

$ mkdir -p /etc/kolla/config/nfs_shares
NASIP:/cinder


### Controller 서버
$ vim /etc/fstab
NASIP:/cinder         /var/lib/docker/volumes/cinder/_data/mnt/fa11b71731c13623a6035ee69402eaf3       nfs defaults,_netdev 0 0
NASIP:/cinder_backup  /var/lib/docker/volumes/cinder/_data/backup/62683d11af0ec8d6492d59f5e90e1e80    nfs defaults,_netdev 0 0
NASIP:/glance         /var/lib/docker/volumes/glance/_data/images                                     nfs defaults,_netdev 0 0
		
### Compute 서버

$ vim /etc/fstab
NASIP:/nova /var/lib/docker/volumes/nova_compute/_data/instances nfs defaults,_netdev 0 0
반응형

+ Recent posts