반응형

Openstack Neutron Port 생성 방법


  • Openstack Port Create CLI 명령

#!/bin/bash
#####################################################################################
TENANT_INFO=admin-openrc

### Input Information ###
NET_NAME={NETWORK_NAME}

### Input Information ###
SUBNET_NAME={SUBNET_NETWORK_NAME}

LB_VIP=192.168.10.101
LB_NAME='TEST LB VIP'
#####################################################################################

source /root/${TENANT_INFO}
#####################################################################################
### Openstack Port Create & LB Settings

### Neutron 명령일 경우(옛날 버전) ### 
neutron oprt-create ${NET_NAME} --fixed-ip ip_address={$LB_VIP} --name ${LB_NAME}

### Openstack 명령일 경우 ###
openstack port create --network ${NET_NAME} --fixed-ip subnet=${SUBNET_NAME},ip-address=${LB_VI{} ${LB_NAME}

 

반응형
반응형

 


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

 

반응형
반응형

1. 설치 환경

 o 가상 서버 환경 3대 구성

 o Deploy 서버와 Ceph Node 3대로 구성

 

2. Ceph Package 설치

o Ceph 노드 모두 설치

$ apt install ntp python -y

$ sudo useradd -d /home/cephnode -m cephnode

$ sudo passwd cephnode
암호 임력 : test123


$ echo "cephnode ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephnode

$ sudo chmod 0440 /etc/sudoers.d/cephnode

 

o /etc/hosts 파일 등록

10.0.0.5 node01
10.0.0.4 node02
10.0.0.6 node03

 

o Deploy 노드 설치

 - Ceph Deploy 패키지 설치

$ wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -

$ echo deb https://download.ceph.com/debian-luminous/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

$ sudo apt update

$ sudo apt install ceph-deploy


 

 - Ceph 유저 생성

$ sudo useradd -d /home/cephdeploy -m cephdeploy

$ sudo passwd cephdeploy
암호 임력 : test123

$ echo "cephdeploy ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephdeploy

$ sudo chmod 0440 /etc/sudoers.d/cephdeploy

 - Key 복사 및 설정

$ ssh-keygen -t rsa
$ ssh-copy-id cephnode@node01
$ ssh-copy-id cephnode@node02
$ ssh-copy-id cephnode@node03

 

o 키 등록

$ vim ~/.ssh/config

Host node01
   Hostname node01
   User cephnode
Host node02
   Hostname node02
   User cephnode
Host node03
   Hostname node03
   User cephnode

 

3. Ceph Cluster 구성

### ceph 설정 폴더 생성
$ mkdir my-cluster

$ cd my-cluster

### Ceph Cluster 초기화 작업
$ ceph-deploy purge node01 node02 node03
$ ceph-deploy purgedata node01 node02 node03
$ ceph-deploy forgetkeys
$ rm ceph-deploy-ceph.log

### Ceph Cluster 구성
### Monitor Daemon과 MGR은 node01 deploy 서버에 구성
$ ceph-deploy new node01
$ ceph-deploy install node01 node02 node03
$  ceph-deploy mon create-initial
$  ceph-deploy admin node01 node02 node03
$  ceph-deploy mgr create node01  
$  ceph-deploy osd create --data /dev/vdb node01
$  ceph-deploy osd create --data /dev/vdb node02
$  ceph-deploy osd create --data /dev/vdb node03
$  ceph-deploy mds create node01
$  ceph-deploy rgw create node01

반응형

'Linux' 카테고리의 다른 글

Linux local repository 설정 방법  (0) 2023.08.10
Linux SSH 접속시 암호 늦게뜨는것 해결하기  (0) 2023.08.10
wget 하위 디렉토리 다운로드  (0) 2023.08.10
Virtual Machine vs Container  (0) 2023.08.10
Ceph Storage 노드 추가  (0) 2023.08.10
반응형
  •  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

 

반응형

+ Recent posts