20150818 jun lee_openstack juno release 내용 분석
Post on 21-Jan-2018
634 Views
Preview:
TRANSCRIPT
OpenStack Juno Release 내용 분석 (Network 중심으로)
2015. 08. 18
㈜파이오링크
SDN개발실 이준 (jun.lee@piolink.com)
© PIOLINK, Inc. SDN No.1
Contents
Overview of OpenStack Juno
OpenStack Juno Release Notes
OpenStack Juno: DVR
OpenStack Juno: HA for the L3 Agent
OpenStack Juno: OpenStack as an NFV Platform
References
2
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
3
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
OpenStack !?
- 오픈소스 기반의 클라우드 플랫폼
- 6개월 주기로 차세대 버전을 공개 중
OpenStack Juno !?
- OpenStack 의 10번째 공식 Release Version
4
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
OpenStack Releases
5
Release Name Release Date Included Components
Austin Oct 12, 2010 Nova, Swift
Bexar Feb 3, 2011 Nova, Glance, Swift
Cactus Apr 15, 2011 Nova, Glance, Swift
Diablo Sep 22, 2011 Nova, Glance, Swift
Essex Apr 5, 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom Sep 7, 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Grizzly Apr 4, 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Havana Oct 17, 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer
Icehouse Apr 17, 2014 All above, Trove
Juno Oct 16, 2014 All above, Sahara
Kilo Apr 30, 2015 All above, Ironic
Liberty Oct 15, 2015 (Under Discussion)
OpenStack Juno 는 Icehouse 버전을 기준으로 하위 프로젝트 들의 기능 개선 및 버그 수정을 진행 하였음
OpenStack Juno 에 Sahara (Data Processing for OpenStack) 프로젝트가 통합 됨
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
OpenStack Juno 의 Release Naming
- OpenStack 각 버전의 Release Naming 규칙은 “알파벳 + 지명”으로 구성
- 알파벳은 해당 버전이 몇 번째로 출시된 것인지를 나타냄 (e.g. A: 1st Release, B: 2nd Release, J: 10th Release)
- 지명은 OpenStack Summit 개최되는 곳과 가까운 도시나 지역, 거리 등의 지명들을 후보로 받아 투표로 결정
6
Release Name Description
Austin Austin, Texas / The first design summit took place in Austin
Bexar San Antonio, Texas / San Antonio is located in Bexar country
Cactus Cactus is a city in Texas
Diablo Santa Clara, California / Diablo is a city in the bay area near Santa Clara
Essex Boston, Massachusetts / Essex is a city near Boston
Folsom San Francisco, California / Folsom is a city near San Francisco
Grizzly San Diego, California / Grizzly is an element of the state flag of California
Havana Portland, Oregon / Havana is an unincorporated community in Oregon
Icehouse Hong Kong/ Ice House is a street Hong Kong
Juno Atlanta, Georgia / Juno is a locality in Georgia
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
OpenStack Juno Release Stats
7
Contributor Growth
1,494 contributors affiliated with 163 organizations contributed to Juno; a 16% increase
from the Icehouse
(http://activity.openstack.org)
Total Number of Features
342 new features in the Juno integrated release and common libraries
(http://status.openstack.org/release)
Bugs Fixed 3,129 bugs fixed during the Juno release cycle, a 10% increase from Icehouse
(http://activity.openstack.org)
Top Companies Committing Code
HP, Red Hat, Mirantis, Rackspace, IBM, Cisco, NEC, Vmware, OpenStack Foundation,
Independents; top users contributing include Yahoo!, Time Warner Cable and eBay
(http://activity .openstack.org)
Translations Nearly 500,000 lines of documentation modified; new Architecture Design Guide
produced during Juno cycle (transifex.com)
Drivers & Plugins 97 drivers and plugins supported across the compute, storage and networking
capabilities (https://www.openstack.org/marketplace/drivers/)
© PIOLINK, Inc. SDN No.1
Overview of OpenStack Juno
OpenStack Juno Key Themes
8
Enterprise Maturity
Most widely-supported cloud platform, expanded testing for plugins
Storage policies for object storage
Federation identity enhancements
Operational improvements
Laying the Foundation for NFV Support
Open Stack Infrastructure natural home for implementing NFV
NFV workgroup established, new features landing in Nova
New Data Processing Capability
New Data Processing capability part of integrated release
Quickly provision and manage Hadoop and Spark
© PIOLINK, Inc. SDN No.1
OpenStack Juno Release Notes
9
© PIOLINK, Inc. SDN No.1
OpenStack Juno Release Notes
Key Features of Neutron
- DB migration refactor and new timeline
- Distributed Virtual Router Support (DVR)
- Full IPV6 support for tenant networks
- High Availability for the L3 Agent
- ipset support for security groups in place of iptables (this option is configurable)
- L3 agent performance improvements
- Migration to oslo.messaging library for RPC communication.
- Security group rules for devices RPC call refactoring (a huge performance improvement)
- New Plugins supported in Juno include the following:
• A10 Networks LBaaS driver for the LBaaS V1 API
• Arista L3 routing plugin
• Big Switch L3 routing plugin
• Brocade L3 routing plugin
• Cisco APIC ML2 Driver (including a L3 routing plugin).
• Cisco CSR L3 routing plugin
• Freescale SDN ML2 Mechanism Driver
• Nuage Networks ML2 Mechanism Driver
• SR-IOV capable NIC ML2 Mechanism Driver
• OpenContrail Neutron Plugin
10
본 문서에서는 OpenStack Juno 의 Release 내용 중, Neutron 의 DVR 과 HA for the L3 Agent 에 대해 다루고 있음. 상세한 내용은 Appendix 참고
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
11
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
DVR !?
- DVR: Distributed Virtual Router
- OpenStack Juno 버전의 Neutron 에 포함된 새로운 기능
12
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack Network without DVR
13
Compute Node Controller
Node
Management Network
Data Network
External Network API Network
Internet
Controller Node Network Node
위 그림은 DVR 이 지원되지 않는 환경에서 OpenStack 의 Network 구성을 의미 함
일반적인 3-Node Architecture 에서 Network 구성
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack Network with DVR
14
Compute Node Controller
Node
Management Network
Data Network
External Network API Network
Internet
Controller Node Network Node
External Network
위 그림은 DVR 을 지원하는 환경에서 OpenStack 의 Network 구성을 의미 함
단순히 겉으로 보기에는 Compute Node 가 External Network 와 연결되는 것이 특징
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
15
OpenStack Network without DVR: Packet Processing
위 그림은 외부에서 패킷 유입 시 Network Node 를 거쳐 Compute Node 의 VM 까지 전달되는 과정을 의미 함
VM 에서 패킷이 외부로 나갈 땐 화살표 역방향 으로 흐름
Namespace
OVS bridge
Network Node Compute Node
br-ex
qdhcp
br-int
VM
br-int
Internet
Data Network
External Network
qrouter
br-tun br-tun
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
16
OpenStack Network without DVR: Packet Processing 문제
Network Node
br-ex
qdhcp
br-int
Internet
기존 OpenStack 구조에서는, Compute Node 와 VM 이 늘어나도 Network Node 는 1개로 고정되어 있음
네트워크 노드로 트래픽이 집중되어 Bottleneck 포인트가 됨 (심각한 성능저하 발생)
External Network
br-tun
qrouter
Compute Node #01 Compute Node #02 Compute Node #03
Data Network
Namespace
OVS bridge
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
17
OpenStack Network without DVR: Packet Processing 문제
Network Node Compute Node
VM
br-int
Internet
기존 OpenStack 구조에서는 모든 패킷이 Network Node 를 통해 전달 됨. 따라서 Network Node 에서 장애 발생 시
외부 망과의 통신 뿐 아니라 내부 클라우드 네트워크 서브넷 간 라우팅이 불가능 함
Data Network
External Network
br-tun
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
18
OpenStack Juno 에서 DVR 기술 배경
- 클라우드 네트워킹 기술 제공을 위해 Nova-Network 를 대신하여 Neutron (Quantum) 프로젝트 생성
- Nova-Network 에서 제공되던 Multi-host 기능이 Neutron 에서는 제공되지 않음
• Multi-host 기능: 가상머신 (VM) 이 위치한 물리서버에서 다른 물리 서버를 거치지 않고 외부 망으로 트래픽을
전달할 수 있는 기능
• Neutron 의 주요 개선 사항 중 하나로 꾸준히 제기되었음
- Neutron 에 다양한 네트워크 서비스가 위치하고, 외부망과 연결되어 있어 Network Node 에 트래픽이 집중 됨
• Performance Bottleneck
- Network Node 에 장애 발생 시 클라우드 네트워킹 서비스 전체 장애가 발생 함
• Single Point Of Failure
- 위에서 열거한 여러 문제점 들을 해결하기 위해 OpenStack Juno 버전에 DVR 기술을 도입 함!
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
19
OpenStack Juno 에서 DVR 기술 목적
- Network Node 의 단일 장애점 (Single Point of Failure) 문제 해결
- Network Node 의 트래픽 집중 (Performance Bottleneck) 문제 해결
- 서비스의 안정성과 고가용성 (High Availability) 을 제공
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
DVR !?
- DVR: Distributed Virtual Router
- OpenStack Juno 버전의 Neutron 에 포함된 새로운 기능
- Network Node 에 집중 되었던 Virtual Router 를 각 Compute Node 에 분산 배치
- Network Node 에서 처리하던 Routing 기능을 Compute Node 에서 처리
20
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack Architecture without DVR
21
Compute Node Controller
Node
Management Network
Data Network
External Network API Network
Internet
Controller Node Network Node
위 그림은 DVR 이 지원되지 않는 환경에서 OpenStack 을 구성하는 각 Node 들의 구조를 의미 함
L3 Agent
DHCP Agent
OVS Agent
OVS Agent
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack Architecture with DVR
22
Compute Node Controller
Node
Management Network
Data Network
External Network API Network
Internet
Controller Node Network Node
위 그림은 DVR 이 지원되는 환경에서 OpenStack 을 구성하는 각 Node 들의 구조를 의미 함
이전 페이지 OpenStack Architecture without DVR 과 비교 시…
Compute Node 에서 도 Routing 을 처리하기 위해 L3 Agent 가 위치하고 있음
L3 Agent
DHCP Agent
OVS Agent
OVS Agent
L3 Agent
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
23
OpenStack Network with DVR: Packet Processing
Network Node
br-ex
qdhcp
br-int
Internet
위 그림은 외부에서 패킷 유입 시 Network Node 를 거치지 않고 Compute Node 의 VM 까지 전달되는 과정을 의미 함
VM 에서 패킷이 외부로 나갈 땐 화살표 역방향 으로 흐름
Data Network
External Network
qrouter
br-tun
Compute Node
br-tun
External Network
VM
br-int
qrouter
br-ex
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
24
OpenStack Network with DVR: Packet Processing 문제 해결
Network Node
br-ex
qdhcp
br-int
Internet
DVR 기술을 이용하여 Compute Node 에서 외부 망으로 직접 통신이 가능 함
Compute Node 와 VM 이 늘어나도 네트워크 노드로 트래픽이 집중되지 않음
DVR 기술을 이용하여 Network Node 로 트래픽 집중에 따른 성능저하 문제 해결
External Network
br-tun
qrouter
Data Network
Compute Node #01 Compute Node #02 Compute Node #03
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
25
OpenStack Network with DVR: Packet Processing 문제 해결
Internet
DVR 기술이 적용 된 OpenStack 에서는 Compute Node 에서 외부 망으로 직접 통신이 가능 함
Network Node 의 장애 발생여부와 관계 없이 안정적인 서비스 제공이 가능 함
Data Network
External Network
Compute Node
br-ex
External Network
VM
br-int
qrouter
br-ex
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack DVR 의 Routing Scenario
- OpenStack Juno 버전 부터 지원하는 DVR 을 이용하여 아래와 같은 Traffic Type 처리 가능
- East/West Traffic
- North/South Traffic with Floating IP
- North/South Traffic without Floating IP
26
Direct between Compute Nodes
Through Network Node
© PIOLINK, Inc. SDN No.1
qrouter qrouter
OpenStack Juno: DVR
OpenStack DVR: East/West Routing
27
Compute Node #01
VM
br-int
br-tun
Compute Node #02
VM
br-int
br-tun
Data Network
(10.0.0.10) (20.0.0.20)
서로 다른 Network 대역을 갖는 VM 간 트래픽 전달 시 Network Node 를 거치지 않고, Compute Node 를 통해 전달
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack DVR: North/South Routing with Floating IP
28
Internet
Data Network
External Network
Compute Node
External Network
VM
br-int
br-ex br-tun
Floating IP
Compute Node 내의 VM 에서 외부 망으로 Traffic 전달 시 Network Node 를 거치지 않고, Floating IP 를 이용하여 외
부 망으로 직접 전달
Network Node
(Interface on external Network)
qrouter
© PIOLINK, Inc. SDN No.1
Network Node
br-int
OpenStack Juno: DVR
OpenStack DVR: North/South Routing without Floating IP
29
Internet
Data Network
External Network
Compute Node
External Network
VM
br-int
br-ex
Floating IP
br-tun br-tun br-ex
SNAT
Compute Node 내의 VM 에서 외부 망으로 Traffic 전달 시 Floating IP 를 이용하지 않고, Network Node 의 SNAT 를
이용하여 Traffic 전달
(Interface on external Network)
qrouter
qrouter
© PIOLINK, Inc. SDN No.1
OpenStack Juno: DVR
OpenStack DVR 의 제약 사항
- OpenStack Juno 버전에 포함된 DVR 기능은 아직 실험적 단계 임
- DVR 을 OpenStack Neutron 의 기본 구축모델로 활용 불가능
- DVR 사용 시 Tenant Network 가 NVGRE 와 VxLAN 만을 지원 (VLAN 사용 불가능)
- DVR 사용 시 Tenant Network 에 IPv6 설정 불가능
- DVR 사용 시에도 DHCP 서버, SNAT 등은 Network Node 에 위치 함
• Network Node 장애 시 서비스 장래를 초래 함
• 근본적인 문제 해결을 위해 DHCP 서버, SNAT 등도 Compute Node 에 분산 배치가 필요 함
30
© PIOLINK, Inc. SDN No.1
OpenStack Juno: High Availability for the L3 Agent
31
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
L3 High Availability VRRP
- OpenStack Juno 버전부터 포함된 Feature
- L3 Agent 의 SPOF (Single Point Of Failure) 해결을 위해 제안 됨
- Neutron 의 Virtual Router 에 HA (High Availability) 제공을 목표로 함
- VRRP (Virtual Router Redundancy Protocol) 개념을 이용하여 HA 를 제공
32
VRRP
- VRRP: Virtual Router Redundancy Protocol – RFC 5798
- 여러 대의 Router를 그룹으로 묶어 하나의 가상 IP 주소를 부여, Master 로 지정된 Router 장애 발생 시 VRRP 그
룹 내의 Backup Router 가 Master 로 자동 전환되는 Protocol
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
33
VRRP (Virtual Router Redundancy Protocol) 개념
- 여러 대의 Router를 그룹으로 묶어 하나의 가상 IP 주소를 부여, Master 로 지정된 Router 장애 발생 시 VRRP 그룹
내의 Backup Router 가 Master 로 자동 전환되는 Protocol
Single Point Of Failure To Avoid Single Point Of Failure
Internet
Server#01 Server#02 Server#03 Server#04
Internet
Server#01 Server#02 Server#03 Server#04
VRRP
Router1
Switch1 Switch2
Router1
Switch1 Switch2
Router2
서버가 외부 망과 연결되는 Router1 에 장애가 발생할 경우
외부 망에 접속 불가 (Single Point of Failure)
VRRP 를 이용하여, Master 로 지정된 Router1 장애 발생 시
Backup Router 인 Router 가 Master 로 자동 전환되어 (Auto
Failover) 지속적인 서비스 가능 함
Master Backup
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
34
Data Network
External Network
Internet
OpenStack Network without HA for the L3 Agent
Compute Node Network Node
위 그림은 “HA for the L3 Agent” 를 설정하지 않은 일반적인 OpenStack Network 구성을 의미 함 (Controller Node 생략)
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
35
Data Network
External Network
Internet
OpenStack Network without HA for the L3 Agent: Packet Processing
Compute Node
VM
Network Node
br-int
br-tun
br-int
br-tun br-ex
qrouter
기존 OpenStack 구조에서는 외부 망으로 나가는 트래픽이 Network Node 의 qrouter (L3 Agent) 를 경유 함
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
36
Data Network
External Network
Internet
OpenStack Network without HA for the L3 Agent: Packet Processing 문제
Compute Node
VM
Network Node
br-int
br-tun
br-int
br-tun br-ex
qrouter
기존 OpenStack 구조에서는 외부 망으로 나가는 트래픽이 Network Node 의 qrouter (L3 Agent) 를 경유 함
qrouter (L3 Agent) 장애 발생 시 VM 들이 외부로 통신 불가능 (SPOF, Single Point Of Failure)
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
37
Data Network
External Network
Internet
OpenStack Network with HA for the L3 Agent
Compute Node Controller Node
Network Node #02 Network Node #01 Network Node #01 Network Node #02 Compute Node
VRRP 개념을 적용하여 L3 Agent 에 HA 를 제공, 다수의 Network Node 로 구성
OpenStack 에 VRRP 개념 적용을 위해 HA Network 필요: VRRP Message 교환을 위한 Network
HA Network 에서는 IPv4 Link Local Address (Default: 169.254.192.0/18) 를 사용
HA Network 를 이용하여 여러 대의 Router 간 Election 을 통해 Master 를 선정 함
HA Network
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
38
Data Network
External Network
Internet
OpenStack Network with HA for the L3 Agent
Compute Node Controller Node
Network Node #02 Network Node #01 Network Node #01 Network Node #02 Compute Node
L3 Agent 의 SPOF 문제 해결을 위해, OpenStack Juno 버전부터 VRRP 를 이용한 L3 HA (High Availability) 기능이 추가
위 그림은 L3 HA 기능이 추가된 OpenStack Juno 의 네트워크 구성 (Controller Node 는 생략)
L3 HA 제공을 위한 KeepAlived 프로세스 추가 됨 (Virtual Router 당 하나의 KeepAlived 를 갖고 있음)
KeepAlived
L3 Agent
DHCP Agent
OVS Agent
KeepAlived
L3 Agent
DHCP Agent
OVS Agent
Nova Compute
ML2 Plugin
HA Network
© PIOLINK, Inc. SDN No.1
OpenStack Juno: HA for the L3 Agent
39
Data Network
External Network
Internet
OpenStack Network with HA for the L3 Agent: Packet Processing 문제 해결
Compute Node Controller Node
Network Node #02
br-int
Network Node #01
br-ex
qrouter
br-tun
br-int
(Master) (Backup)
HA Network
Keepalived Keepalived
br-tun
br-int
VM
br-tun
qrouter
br-ex
Network Node #01 의 Master, qrouter (L3 Agent) 장애 발생 시 VRRP 에 의해 Backup 으로 설정된 Network Node #02
에 위치한 Backup, qrouter 를 통해 통신 가능
© PIOLINK, Inc. SDN No.1
OpenStack as an NFV Platform
40
© PIOLINK, Inc. SDN No.1
OpenStack as an NFV Platform
OpenStack as an NFV Platform
- OpenStack Juno 의 Key Theme 중 하나는 NFV (Network Functions Virtualization) 지원을 위한 기반 마련 임
- NFV Platform 으로 OpenStack 을 사용 가능하게 하기 위해 NFV Development Team 을 구성
- NFV 지원을 위한 개선 사항들이 OpenStack Juno 버전에 최초로 반영 (주로 Nova 쪽을 개선 함)
- NFV Development Team 에서 개발을 통해 차기 버전에 지속적으로 반영 할 계획
41
NFV Platform 을 위한 OpenStack Juno 개선 사항
Project Description
Nova Evacuate instance to scheduled host
Nova Support two interfaces from one VM attached to the same network
Nova SR-IOV Networking Support
Nova Virt driver guest vCPU topology configuration
Heat Heat Multi-region Support
© PIOLINK, Inc. SDN No.1
References
42
© PIOLINK, Inc. SDN No.1
References
OpenStack Juno: The 10th Release, OpenStack Foundation
https://wiki.openstack.org/wiki/Release_Naming
https://wiki.openstack.org/wiki/Neutron/DVR
https://wiki.openstack.org/wiki/Neutron/L3_High_Availability_VRRP
OpenStack 분산 라우터(DVR) 기술 분석, 2015 Electronics and Telecommunications Trends
https://wiki.openstack.org/wiki/Teams/NFV
http://specs.openstack.org/openstack/neutron-specs/specs/juno/db-migration-refactoring.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/neutron-ovs-dvr.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/ipv6-radvd-ra.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/l3-high-availability.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/add-ipset-to-security.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/l3-agent-responsiveness.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/oslo-messaging.html
http://specs.openstack.org/openstack/neutron-specs/specs/juno/security-group-rules-for-devices-rpc-call-refactoring.html
43
감사합니다. ㈜파이오링크
서울시 금천구 가산디지털2로 98
(가산동 550-1) IT캐슬 1동 401호
TEL: 02-2025-6900
FAX: 02-2025-6901
www.PIOLINK.com
44
top related