์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

OpenStack Zed ์ˆ˜๋™๊ตฌ์ถ•-7.Networking service – neutron installation(1)-OVN

Openstack

by drogva 2026. 4. 12. 22:55

๋ณธ๋ฌธ

 


๐Ÿ› ๏ธ Neutron(Networking) ์„œ๋น„์Šค ์‚ฌ์ „ ์ค€๋น„ (Controller ๋…ธ๋“œ)

Neutron ์„œ๋น„์Šค๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ, ์„œ๋น„์Šค ์ž๊ฒฉ ์ฆ๋ช… ๋“ฑ๋ก, ๊ทธ๋ฆฌ๊ณ  API ์—”๋“œํฌ์ธํŠธ ์ƒ์„ฑ์„ ์™„๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ

Neutron์˜ ์„ค์ • ์ •๋ณด๋ฅผ ์ €์žฅํ•  DB๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

SQL
 
-- MariaDB ์ ‘์†
mysql -u root -p

-- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
CREATE DATABASE neutron;

-- ๊ถŒํ•œ ๋ถ€์—ฌ (NEUTRON_DBPASS๋Š” ์‹ค์ œ ์‚ฌ์šฉํ•  ์•”ํ˜ธ๋กœ ๊ต์ฒดํ•˜์„ธ์š”)
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';

FLUSH PRIVILEGES;
EXIT;

2. ์„œ๋น„์Šค ์ž๊ฒฉ ์ฆ๋ช…(Credentials) ๋“ฑ๋ก

Keystone์— Neutron ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ์ธ์ฆ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Bash
 
# admin ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋กœ๋“œ
source userinfo

# 1. neutron ์‚ฌ์šฉ์ž ์ƒ์„ฑ
openstack user create --domain default --password-prompt neutron

# 2. ์‚ฌ์šฉ์ž์—๊ฒŒ admin ์—ญํ•  ๋ถ€์—ฌ
openstack role add --project service --user neutron admin

# 3. ์„œ๋น„์Šค ์—”ํ„ฐํ‹ฐ(Entity) ์ƒ์„ฑ
openstack service create --name neutron --description "OpenStack Networking" network

3. API ์—”๋“œํฌ์ธํŠธ(Endpoint) ์ƒ์„ฑ

๋‹ค๋ฅธ ์„œ๋น„์Šค๋“ค์ด Neutron API์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฃผ์†Œ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

Bash
 
# Public ์—”๋“œํฌ์ธํŠธ
openstack endpoint create --region RegionOne network public http://controller:9696

# Internal ์—”๋“œํฌ์ธํŠธ
openstack endpoint create --region RegionOne network internal http://controller:9696

# Admin ์—”๋“œํฌ์ธํŠธ
openstack endpoint create --region RegionOne network admin http://controller:9696

 

๐ŸŒ OpenStack Zed: Neutron & OVN ์„ค์น˜ ๊ฐ€์ด๋“œ (Controller ๋…ธ๋“œ ๊ฒธ์šฉ)

์ด ๊ฐ€์ด๋“œ๋Š” Controller ๋…ธ๋“œ๊ฐ€ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๊นŒ์ง€ ์ง์ ‘ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜๋ฉฐ, OVN(Open Virtual Network) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1๋‹จ๊ณ„: ํŒจํ‚ค์ง€ ์„ค์น˜

์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์—์„œ ์•„๋ž˜ ํŒจํ‚ค์ง€๋“ค์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

 

--enablerepo๋กœ ์„ค์น˜ํ•˜์—ฌ ์ฒ˜์Œ์— ๋ฌถ์–ด ๋‘์—ˆ๋˜ epel ์ €์žฅ์†Œ๋ฅผ ์ž ์‹œ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

Bash
 
# Zed, EPEL, CRB ์ €์žฅ์†Œ ํ™œ์„ฑํ™” ํ›„ ์„ค์น˜
dnf --enablerepo=centos-openstack-zed,epel,crb -y install \
  openstack-neutron openstack-neutron-ml2 \
  ovn-2021-central

2๋‹จ๊ณ„: ํ•ต์‹ฌ ์„ค์ • ํŒŒ์ผ ์ˆ˜์ • (neutron.conf)

์ปจํŠธ๋กค๋Ÿฌ IP($172.30.1.146$)๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ์„ค์ •์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

Bash
 
mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
vi /etc/neutron/neutron.conf

[์ฃผ์š” ์„ค์ • ๋‚ด์šฉ]

Ini, TOML
 
[DEFAULT]
# ์ปจํŠธ๋กค๋Ÿฌ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค์ •
bind_host = 172.30.1.146
core_plugin = ml2
service_plugins = ovn-router
auth_strategy = keystone
transport_url = rabbit://openstack:RABBIT_PASS@172.30.1.146:5672/

[keystone_authtoken]
www_authenticate_uri = http://172.30.1.146:5000
auth_url = http://172.30.1.146:5000
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@172.30.1.146/neutron_ml2

[nova]
auth_url = http://172.30.1.146:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

3๋‹จ๊ณ„: ML2 ๋ฐ OVN ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •

/etc/neutron/plugins/ml2/ml2_conf.ini์—์„œ OVN DB ์ฃผ์†Œ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ IP๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

Ini, TOML
 
[ovn]
# Controller(Network ๊ฒธ์šฉ) ๋…ธ๋“œ์˜ IP์™€ OVN DB ํฌํŠธ ์„ค์ •
ovn_nb_connection = tcp:172.30.1.146:6641
ovn_sb_connection = tcp:172.30.1.146:6642
ovn_l3_scheduler = leastloaded
ovn_metadata_enabled = True

4๋‹จ๊ณ„: OVS ๋ฐ OVN ์„œ๋น„์Šค ์‹œ์ž‘ (Controller ๋…ธ๋“œ ์‹คํ–‰)

1. Open vSwitch ์„ค์ • (OVSDB ์›๊ฒฉ ์ ‘์† ํ—ˆ์šฉ)

/etc/sysconfig/openvswitch ํŒŒ์ผ ์ˆ˜์ • (28๋ฒˆ ๋ผ์ธ ๊ทผ์ฒ˜):

Bash
 
OPTIONS="--ovsdb-server-options='--remote=ptcp:6640:127.0.0.1'"

์„œ๋น„์Šค ์‹œ์ž‘ ๋ฐ ๋ธŒ๋ฆฟ์ง€ ์ƒ์„ฑ:

Bash
 
systemctl enable --now openvswitch
ovs-vsctl add-br br-int

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” ๋ฐ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ

Bash
 
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head"

3. OVN ์„œ๋น„์Šค ๊ธฐ๋™ ๋ฐ DB ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ

Bash
 
systemctl enable --now ovn-northd

# ์ปจํŠธ๋กค๋Ÿฌ IP(172.30.1.146)๋กœ OVN DB ์—ฐ๊ฒฐ ์„ค์ •
ovn-nbctl set-connection ptcp:6641:172.30.1.146 -- set connection . inactivity_probe=60000
ovn-sbctl set-connection ptcp:6642:172.30.1.146 -- set connection . inactivity_probe=60000
ํ•ญ๋ชฉ ์„ค๋ช… ์˜ˆ์‹œ ๊ฐ’
NEUTRON_DBPASS MariaDB neutron_ml2 ์ ‘์† ์•”ํ˜ธ neutron_db_pass
NEUTRON_PASS Keystone neutron ์‚ฌ์šฉ์ž ์•”ํ˜ธ neutron_user_pass
RABBIT_PASS ๋ฉ”์‹œ์ง€ ํ(RabbitMQ) ์ ‘์† ์•”ํ˜ธ rabbit_pass

 

- ํ™•์ธ

nb ์™€ sb ์˜ ์—ฐ๊ฒฐ์ƒํƒœ

 

neutron ์„œ๋ฒ„์˜ ์„ค์น˜ ์ƒํƒœ

 

๐Ÿ“‚ OVN์˜ ๋‘ ์‹ฌ์žฅ: NB์™€ SB DB ์ดํ•ดํ•˜๊ธฐ

OVN ๊ตฌ์กฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” **"๋„คํŠธ์›Œํฌ์˜ ์„ค๊ณ„๋„"**์™€ **"์‹ค์ œ ํ˜„์žฅ ์ง€์‹œ์„œ"**๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

1. NB DB (Northbound Database) : "์„ค๊ณ„๋„"

  • ์—ญํ• : ์šฐ๋ฆฌ๊ฐ€ OpenStack ๋ช…๋ น์–ด(openstack network create ๋“ฑ)๋กœ ๋งŒ๋“  ๋…ผ๋ฆฌ์ ์ธ ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ์ €์žฅ๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
  • ๋น„์œ : ๊ฑด๋ฌผ๋กœ ์น˜๋ฉด **'์ฒญ์‚ฌ์ง„(์„ค๊ณ„๋„)'**์ž…๋‹ˆ๋‹ค. "์—ฌ๊ธฐ์— ๋ณต๋„๊ฐ€ ์žˆ๊ณ , ์—ฌ๊ธฐ์— ๋ฌธ์„ ๋‹ฌ์•„์ค˜"๋ผ๊ณ  ์ ์–ด๋‘๋Š” ๊ณณ์ด์ฃ .
  • ํŠน์ง•: ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด ์ด NB DB๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ovn-nbctl show ๋ช…๋ น์–ด๋กœ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. SB DB (Southbound Database) : "์ง€์‹œ์„œ"

  • ์—ญํ• : NB DB์— ์ €์žฅ๋œ ์„ค๊ณ„๋„๋ฅผ ๋ณด๊ณ , ์‹ค์ œ ๋ฌผ๋ฆฌ ๋…ธ๋“œ(Compute ๋…ธ๋“œ)๋“ค์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” **๋…ผ๋ฆฌ์  ํ๋ฆ„(Logical Flows)**์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
  • ๋น„์œ : ํ˜„์žฅ ์†Œ์žฅ์ด ์„ค๊ณ„๋„๋ฅผ ๋ณด๊ณ  ์ธ๋ถ€๋“ค์—๊ฒŒ ์ฃผ๋Š” **'์ž‘์—… ์ง€์‹œ์„œ'**์ž…๋‹ˆ๋‹ค. "A๋ฒˆ ๋…ธ๋“œ๋Š” 1๋ฒˆ ํฌํŠธ๋กœ ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์„ 2๋ฒˆ์œผ๋กœ ๋ณด๋‚ด" ๊ฐ™์€ ๊ตฌ์ฒด์ ์ธ ๋ฌผ๋ฆฌ์  ์ •๋ณด๊ฐ€ ๋‹ด๊น๋‹ˆ๋‹ค.
  • ํŠน์ง•: ๊ฐ ๋…ธ๋“œ์— ๋–  ์žˆ๋Š” ovn-controller๋“ค์ด ์ด SB DB๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ณ๋‹ค๋ณด๋ฉด์„œ ์ž๊ธฐ ๋…ธ๋“œ์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”„ ๋ฐ์ดํ„ฐ๊ฐ€ ํ๋ฅด๋Š” ๊ณผ์ • (Workflow)

๋ธ”๋กœ๊ทธ์— ์ด ํ๋ฆ„์„ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋…์ž๋“ค์ด OVN์˜ ๊ตฌ์กฐ๋ฅผ ์™„๋ฒฝํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ์ž: "๋„คํŠธ์›Œํฌ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ค˜!" (CLI/Dashboard)
  2. Neutron Server: ์š”์ฒญ์„ ๋ฐ›์•„์„œ NB DB์— ๊ทธ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  3. ovn-northd: (์ด ๋…€์„์ด ์ค‘๊ฐ„ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค) NB DB์˜ ์„ค๊ณ„๋„๋ฅผ ๋ณด๊ณ  "์Œ, ๊ทธ๋Ÿผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ์›€์ง์—ฌ์•ผ๊ฒ ๊ตฐ" ํ•˜๊ณ  ๊ณ„์‚ฐํ•ด์„œ SB DB์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  4. ovn-controller: (๊ฐ ๋…ธ๋“œ์˜ ์ธ๋ถ€๋“ค) SB DB๋ฅผ ๋ณด๊ณ  ์žˆ๋‹ค๊ฐ€ "๋‚ด ๋…ธ๋“œ์— ํ•ด๋‹นํ•˜๋Š” ์ž‘์—…์ด ์žˆ๋„ค?" ํ•˜๊ณ  ์‹ค์ œ Open vSwitch(OVS) ์„ค์ •์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

๐Ÿ”Œ ptcp vs tcp : ๋ˆ„๊ฐ€ ๋จผ์ € ์†์„ ๋‚ด๋ฏธ๋Š”๊ฐ€?

Open vSwitch์™€ OVN์—์„œ ํ†ต์‹  ๋ฐฉ์‹์„ ์„ค์ •ํ•  ๋•Œ ์•ž๊ธ€์ž **'p'**๋Š” **Passive(์ˆ˜๋™ํ˜•)**๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

1. ptcp (Passive TCP) : "๊ธฐ๋‹ค๋ฆฌ๋Š” ์ชฝ"

  • ์˜๋ฏธ: "๋‚˜๋Š” ์ด ํฌํŠธ๋ฅผ ์—ด๊ณ  ๊ธฐ๋‹ค๋ฆด ํ…Œ๋‹ˆ, ์™ธ๋ถ€์—์„œ ๋‚˜์—๊ฒŒ ์ ‘์†ํ•ด๋ผ"๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์„œ๋ฒ„(Listen) ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•˜๊ฒ ๋‹ค๋Š” ์„ค์ •์ด์ฃ .
  • ์„ค์ • ์ด์œ : OVN Northbound(NB)์™€ Southbound(SB) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„ค๊ณ„๋„์™€ ์ง€์‹œ์„œ๋ฅผ ๋“ค๊ณ  ์žˆ๋Š” '๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ(์„œ๋ฒ„)' ์—ญํ• ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์™ธ๋ถ€์˜ ์„œ๋น„์Šค๋“ค(Neutron Server๋‚˜ ๊ฐ ๋…ธ๋“œ์˜ ovn-controller)์ด ์–ธ์ œ๋“  ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํฌํŠธ๋ฅผ ์—ด๊ณ  ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋ฏ€๋กœ ptcp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2. tcp (Active TCP) : "์ฐพ์•„๊ฐ€๋Š” ์ชฝ"

  • ์˜๋ฏธ: "๋‚ด๊ฐ€ ์ง์ ‘ ์ € IP์™€ ํฌํŠธ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•˜๊ฒ ๋‹ค"๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.
  • ๋น„์œ : ์šฐ๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์ฃผ์†Œ๋ฅผ ์น˜๊ณ  ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ์™œ OVN DB ์„ค์ •์—์„œ ptcp๋ฅผ ์จ์•ผ๋งŒ ํ• ๊นŒ?

  • ์ค‘์•™ ์ง‘์ค‘ํ˜• ๊ด€๋ฆฌ: OVN DB(NB, SB)๋Š” ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— ์œ„์น˜ํ•˜์—ฌ ์ „์ฒด ๋„คํŠธ์›Œํฌ์˜ ์ค‘์‹ฌ์  ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ปดํ“จํŒ… ๋…ธ๋“œ์˜ ์—์ด์ „ํŠธ๋“ค์ด ์ด ์ค‘์•™ DB์— ์ ‘์†ํ•ด์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ๊ฐ€์•ผ ํ•˜๋ฏ€๋กœ, ์ค‘์•™ DB๋Š” ๋ฐ˜๋“œ์‹œ Passive(ptcp) ๋ชจ๋“œ๋กœ ์—ด๋ ค ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

 

๐Ÿ—๏ธ OpenStack OVN ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์ œ์–ด ํ๋ฆ„

OVN(Open Virtual Network) ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ **์„ค๊ณ„(Controller)**์™€ ์‹คํ–‰(Compute) ๋…ธ๋“œ๋กœ ๋‚˜๋‰˜์–ด 4๋‹จ๊ณ„์˜ ์œ ๊ธฐ์ ์ธ ํ๋ฆ„์œผ๋กœ ์›€์ง์ž…๋‹ˆ๋‹ค. ํŠนํžˆ 3๋‹จ๊ณ„๋ถ€ํ„ฐ๋Š” ๊ฐ ์ปดํ“จํŠธ ๋…ธ๋“œ์— ์„ค์น˜๋œ ์—์ด์ „ํŠธ๋“ค์ด ์ž์œจ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

1. ๋…ธ๋“œ๋ณ„ ์—ญํ•  ๋ถ„๋‹ด (Architecture)

  • Controller Node (๋‡Œ): ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ˆ˜๋ฆฝํ•˜๊ณ  ์„ค๊ณ„๋„๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. (172.30.1.146)
  • Compute Node (ํŒ”๋‹ค๋ฆฌ): ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ง€์‹œ๋ฅผ ๋ฐ›์•„ ์‹ค์ œ VM์˜ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. (์‹ค์ œ ํ˜„์žฅ)

2. ๋‹จ๊ณ„๋ณ„ ์ƒ์„ธ ํ๋ฆ„๋„ (Step-by-Step)

๋‹จ๊ณ„ ์ฃผ์ฒด ์‹คํ–‰ ์œ„์น˜ ๋™์ž‘ ๋‚ด์šฉ ๋น„์œ 
1๋‹จ๊ณ„ Neutron Server Controller ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์•„ **NB DB(6641)**์— ์ €์žฅ ์„ค๊ณ„๋„ ์ž‘์„ฑ
2๋‹จ๊ณ„ ovn-northd Controller NB DB๋ฅผ ์ฝ์–ด ๋ฌผ๋ฆฌ์  ์ง€์‹œ์„œ๋กœ ๋ณ€ํ™˜ ํ›„ **SB DB(6642)**์— ๊ธฐ๋ก ์ž‘์—… ์ง€์‹œ์„œ ์ƒ์„ฑ
3๋‹จ๊ณ„ ovn-controller Compute SB DB๋ฅผ ๊ฐ์‹œํ•˜๋‹ค๊ฐ€ ์ž๊ธฐ ๋…ธ๋“œ์— ํ• ๋‹น๋œ ์ž‘์—…์„ ๋ฐœ๊ฒฌ ์ง€์‹œ์„œ ํ™•์ธ
4๋‹จ๊ณ„ Open vSwitch Compute ์—์ด์ „ํŠธ์˜ ์ง€์‹œ์— ๋”ฐ๋ผ ๊ฐ€์ƒ ์Šค์œ„์น˜(OVS) ๊ทœ์น™ ์—…๋ฐ์ดํŠธ

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ